Documentation ¶
Index ¶
- type Config
- type Parser
- func NewCollectdParser(authFile string, securityLevel string, typesDB []string, split string) (Parser, error)
- func NewDropwizardParser(metricRegistryPath string, timePath string, timeFormat string, tagsPath string, ...) (Parser, error)
- func NewGraphiteParser(separator string, templates []string, defaultTags map[string]string) (Parser, error)
- func NewInfluxParser() (Parser, error)
- func NewJSONParser(metricName string, tagKeys []string, defaultTags map[string]string) (Parser, error)
- func NewLogFmtParser(metricName string, defaultTags map[string]string) (Parser, error)
- func NewNagiosParser() (Parser, error)
- func NewParser(config *Config) (Parser, error)
- func NewValueParser(metricName string, dataType string, defaultTags map[string]string) (Parser, error)
- func NewWavefrontParser(defaultTags map[string]string) (Parser, error)
- type ParserFunc
- type ParserFuncInput
- type ParserInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Dataformat can be one of: json, influx, graphite, value, nagios DataFormat string // Separator only applied to Graphite data. Separator string // Templates only apply to Graphite data. Templates []string // TagKeys only apply to JSON data TagKeys []string // FieldKeys only apply to JSON JSONStringFields []string JSONNameKey string // MetricName applies to JSON & value. This will be the name of the measurement. MetricName string // holds a gjson path for json parser JSONQuery string // key of time JSONTimeKey string // time format JSONTimeFormat string // Authentication file for collectd CollectdAuthFile string // One of none (default), sign, or encrypt CollectdSecurityLevel string // Dataset specification for collectd CollectdTypesDB []string // whether to split or join multivalue metrics CollectdSplit string // DataType only applies to value, this will be the type to parse value to DataType string // DefaultTags are the default tags that will be added to all parsed metrics. DefaultTags map[string]string // an optional json path containing the metric registry object // if left empty, the whole json object is parsed as a metric registry DropwizardMetricRegistryPath string // an optional json path containing the default time of the metrics // if left empty, the processing time is used DropwizardTimePath string // time format to use for parsing the time field // defaults to time.RFC3339 DropwizardTimeFormat string // an optional json path pointing to a json object with tag key/value pairs // takes precedence over DropwizardTagPathsMap DropwizardTagsPath string // an optional map containing tag names as keys and json paths to retrieve the tag values from as values // used if TagsPath is empty or doesn't return any tags DropwizardTagPathsMap map[string]string //grok patterns GrokPatterns []string GrokNamedPatterns []string GrokCustomPatterns string GrokCustomPatternFiles []string GrokTimezone string //csv configuration CSVColumnNames []string `toml:"csv_column_names"` CSVColumnTypes []string `toml:"csv_column_types"` CSVComment string `toml:"csv_comment"` CSVDelimiter string `toml:"csv_delimiter"` CSVHeaderRowCount int `toml:"csv_header_row_count"` CSVMeasurementColumn string `toml:"csv_measurement_column"` CSVSkipColumns int `toml:"csv_skip_columns"` CSVSkipRows int `toml:"csv_skip_rows"` CSVTagColumns []string `toml:"csv_tag_columns"` CSVTimestampColumn string `toml:"csv_timestamp_column"` CSVTimestampFormat string `toml:"csv_timestamp_format"` CSVTrimSpace bool `toml:"csv_trim_space"` }
Config is a struct that covers the data types needed for all parser types, and can be used to instantiate _any_ of the parsers.
type Parser ¶
type Parser interface { // Parse takes a byte buffer separated by newlines // ie, `cpu.usage.idle 90\ncpu.usage.busy 10` // and parses it into telegraf metrics // // Must be thread-safe. Parse(buf []byte) ([]telegraf.Metric, error) // ParseLine takes a single string metric // ie, "cpu.usage.idle 90" // and parses it into a telegraf metric. // // Must be thread-safe. ParseLine(line string) (telegraf.Metric, error) // SetDefaultTags tells the parser to add all of the given tags // to each parsed metric. // NOTE: do _not_ modify the map after you've passed it here!! SetDefaultTags(tags map[string]string) }
Parser is an interface defining functions that a parser plugin must satisfy.
func NewCollectdParser ¶
func NewDropwizardParser ¶
func NewGraphiteParser ¶
func NewInfluxParser ¶
func NewJSONParser ¶
func NewLogFmtParser ¶
NewLogFmtParser returns a logfmt parser with the default options.
func NewNagiosParser ¶
func NewValueParser ¶
type ParserFunc ¶
type ParserFuncInput ¶
type ParserFuncInput interface { // GetParser returns a new parser. SetParserFunc(fn ParserFunc) }
ParserFuncInput is an interface for input plugins that are able to parse arbitrary data formats.
type ParserInput ¶
type ParserInput interface { // SetParser sets the parser function for the interface SetParser(parser Parser) }
ParserInput is an interface for input plugins that are able to parse arbitrary data formats.
Click to show internal directories.
Click to hide internal directories.