Add nagios parser for exec input plugin

closes #762
This commit is contained in:
Thibault Cohen
2016-02-24 23:32:22 -05:00
committed by Cameron Sparr
parent 20b4e8c779
commit 8f09aadfdf
8 changed files with 264 additions and 8 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/influxdata/telegraf/plugins/parsers/graphite"
"github.com/influxdata/telegraf/plugins/parsers/influx"
"github.com/influxdata/telegraf/plugins/parsers/json"
"github.com/influxdata/telegraf/plugins/parsers/nagios"
"github.com/influxdata/telegraf/plugins/parsers/value"
)
@@ -39,7 +40,7 @@ type Parser interface {
// 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 Config struct {
// Dataformat can be one of: json, influx, graphite, value
// Dataformat can be one of: json, influx, graphite, value, nagios
DataFormat string
// Separator only applied to Graphite data.
@@ -72,6 +73,8 @@ func NewParser(config *Config) (Parser, error) {
config.DataType, config.DefaultTags)
case "influx":
parser, err = NewInfluxParser()
case "nagios":
parser, err = NewNagiosParser()
case "graphite":
parser, err = NewGraphiteParser(config.Separator,
config.Templates, config.DefaultTags)
@@ -94,6 +97,10 @@ func NewJSONParser(
return parser, nil
}
func NewNagiosParser() (Parser, error) {
return &nagios.NagiosParser{}, nil
}
func NewInfluxParser() (Parser, error) {
return &influx.InfluxParser{}, nil
}