fix: Update prometheusremotewrite parser to be a new style parser plugin (#11456)
This commit is contained in:
parent
a0aa4082a2
commit
4d2ebe587d
|
|
@ -15,6 +15,7 @@ import (
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/logfmt"
|
_ "github.com/influxdata/telegraf/plugins/parsers/logfmt"
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/nagios"
|
_ "github.com/influxdata/telegraf/plugins/parsers/nagios"
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/prometheus"
|
_ "github.com/influxdata/telegraf/plugins/parsers/prometheus"
|
||||||
|
_ "github.com/influxdata/telegraf/plugins/parsers/prometheusremotewrite"
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/value"
|
_ "github.com/influxdata/telegraf/plugins/parsers/value"
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/wavefront"
|
_ "github.com/influxdata/telegraf/plugins/parsers/wavefront"
|
||||||
_ "github.com/influxdata/telegraf/plugins/parsers/xpath"
|
_ "github.com/influxdata/telegraf/plugins/parsers/xpath"
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/metric"
|
"github.com/influxdata/telegraf/metric"
|
||||||
|
"github.com/influxdata/telegraf/plugins/parsers"
|
||||||
|
|
||||||
"github.com/prometheus/common/model"
|
"github.com/prometheus/common/model"
|
||||||
"github.com/prometheus/prometheus/prompb"
|
"github.com/prometheus/prometheus/prompb"
|
||||||
|
|
@ -82,3 +83,14 @@ func (p *Parser) ParseLine(line string) (telegraf.Metric, error) {
|
||||||
func (p *Parser) SetDefaultTags(tags map[string]string) {
|
func (p *Parser) SetDefaultTags(tags map[string]string) {
|
||||||
p.DefaultTags = tags
|
p.DefaultTags = tags
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *Parser) InitFromConfig(config *parsers.Config) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
parsers.Add("prometheusremotewrite",
|
||||||
|
func(defaultMetricName string) telegraf.Parser {
|
||||||
|
return &Parser{}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/plugins/parsers/prometheusremotewrite"
|
|
||||||
"github.com/influxdata/telegraf/plugins/parsers/temporary/json_v2"
|
"github.com/influxdata/telegraf/plugins/parsers/temporary/json_v2"
|
||||||
"github.com/influxdata/telegraf/plugins/parsers/temporary/xpath"
|
"github.com/influxdata/telegraf/plugins/parsers/temporary/xpath"
|
||||||
)
|
)
|
||||||
|
|
@ -193,8 +192,6 @@ func NewParser(config *Config) (Parser, error) {
|
||||||
var err error
|
var err error
|
||||||
var parser Parser
|
var parser Parser
|
||||||
switch config.DataFormat {
|
switch config.DataFormat {
|
||||||
case "prometheusremotewrite":
|
|
||||||
parser, err = NewPrometheusRemoteWriteParser(config.DefaultTags)
|
|
||||||
default:
|
default:
|
||||||
creator, found := Parsers[config.DataFormat]
|
creator, found := Parsers[config.DataFormat]
|
||||||
if !found {
|
if !found {
|
||||||
|
|
@ -212,9 +209,3 @@ func NewParser(config *Config) (Parser, error) {
|
||||||
}
|
}
|
||||||
return parser, err
|
return parser, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPrometheusRemoteWriteParser(defaultTags map[string]string) (Parser, error) {
|
|
||||||
return &prometheusremotewrite.Parser{
|
|
||||||
DefaultTags: defaultTags,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue