From 61214bd33bb21ff46bac2c00d4f519f24379c579 Mon Sep 17 00:00:00 2001 From: Joshua Powers Date: Thu, 20 Jan 2022 08:39:24 -0700 Subject: [PATCH] fix: add newline in execd for prometheus parsing (#10463) --- plugins/inputs/execd/execd.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/inputs/execd/execd.go b/plugins/inputs/execd/execd.go index 228c38db5..a55b2f052 100644 --- a/plugins/inputs/execd/execd.go +++ b/plugins/inputs/execd/execd.go @@ -14,6 +14,7 @@ import ( "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" "github.com/influxdata/telegraf/plugins/parsers/influx" + "github.com/influxdata/telegraf/plugins/parsers/prometheus" ) const sampleConfig = ` @@ -100,10 +101,17 @@ func (e *Execd) cmdReadOut(out io.Reader) { return } + _, isPrometheus := e.parser.(*prometheus.Parser) + scanner := bufio.NewScanner(out) for scanner.Scan() { - metrics, err := e.parser.Parse(scanner.Bytes()) + data := scanner.Bytes() + if isPrometheus { + data = append(data, []byte("\n")...) + } + + metrics, err := e.parser.Parse(data) if err != nil { e.acc.AddError(fmt.Errorf("parse error: %w", err)) }