chore: Print debug message when no messages generated from parse (#15463)
This commit is contained in:
parent
71718fba7d
commit
bcafb1d24d
|
|
@ -24,6 +24,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const alphanum string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
const alphanum string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
||||||
|
const NoMetricsCreatedMsg = "No metrics were created from a message. Verify your parser settings. This message is only printed once."
|
||||||
|
|
||||||
var once sync.Once
|
var once sync.Once
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type empty struct{}
|
type empty struct{}
|
||||||
type semaphore chan empty
|
type semaphore chan empty
|
||||||
|
|
||||||
|
|
@ -441,6 +443,11 @@ func (a *AMQPConsumer) onMessage(acc telegraf.TrackingAccumulator, d amqp.Delive
|
||||||
onError()
|
onError()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
a.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
id := acc.AddTrackingMetricGroup(metrics)
|
id := acc.AddTrackingMetricGroup(metrics)
|
||||||
a.deliveries[id] = d
|
a.deliveries[id] = d
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type empty struct{}
|
type empty struct{}
|
||||||
type semaphore chan empty
|
type semaphore chan empty
|
||||||
|
|
||||||
|
|
@ -190,6 +192,11 @@ func (ps *PubSub) onMessage(ctx context.Context, msg message) error {
|
||||||
|
|
||||||
if len(metrics) == 0 {
|
if len(metrics) == 0 {
|
||||||
msg.Ack()
|
msg.Ack()
|
||||||
|
|
||||||
|
once.Do(func() {
|
||||||
|
ps.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import (
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/config"
|
"github.com/influxdata/telegraf/config"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
tlsint "github.com/influxdata/telegraf/plugins/common/tls"
|
tlsint "github.com/influxdata/telegraf/plugins/common/tls"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
)
|
)
|
||||||
|
|
@ -21,6 +22,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
// defaultMaxBodySize is the default maximum request body size, in bytes.
|
// defaultMaxBodySize is the default maximum request body size, in bytes.
|
||||||
// if the request body is over this size, we will return an HTTP 413 error.
|
// if the request body is over this size, we will return an HTTP 413 error.
|
||||||
// 500 MB
|
// 500 MB
|
||||||
|
|
@ -198,6 +201,12 @@ func (p *PubSubPush) serveWrite(res http.ResponseWriter, req *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
p.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if p.AddMeta {
|
if p.AddMeta {
|
||||||
for i := range metrics {
|
for i := range metrics {
|
||||||
for k, v := range payload.Msg.Atts {
|
for k, v := range payload.Msg.Atts {
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import (
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/config"
|
"github.com/influxdata/telegraf/config"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/choice"
|
"github.com/influxdata/telegraf/internal/choice"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
"github.com/influxdata/telegraf/plugins/parsers"
|
"github.com/influxdata/telegraf/plugins/parsers"
|
||||||
|
|
@ -30,6 +31,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
var (
|
var (
|
||||||
defaultFilesToMonitor = []string{}
|
defaultFilesToMonitor = []string{}
|
||||||
defaultFilesToIgnore = []string{}
|
defaultFilesToIgnore = []string{}
|
||||||
|
|
@ -306,6 +309,12 @@ func (monitor *DirectoryMonitor) parseMetrics(parser telegraf.Parser, line []byt
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
monitor.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if monitor.FileTag != "" {
|
if monitor.FileTag != "" {
|
||||||
for _, m := range metrics {
|
for _, m := range metrics {
|
||||||
m.AddTag(monitor.FileTag, filepath.Base(fileName))
|
m.AddTag(monitor.FileTag, filepath.Base(fileName))
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultMaxUndeliveredMessages = 1000
|
defaultMaxUndeliveredMessages = 1000
|
||||||
)
|
)
|
||||||
|
|
@ -268,6 +270,12 @@ func (e *EventHub) createMetrics(event *eventhubClient.Event) ([]telegraf.Metric
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
e.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
for i := range metrics {
|
for i := range metrics {
|
||||||
for _, field := range e.ApplicationPropertyFields {
|
for _, field := range e.ApplicationPropertyFields {
|
||||||
if val, ok := event.Get(field); ok {
|
if val, ok := event.Get(field); ok {
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import (
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/config"
|
"github.com/influxdata/telegraf/config"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/models"
|
"github.com/influxdata/telegraf/models"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
"github.com/influxdata/telegraf/plugins/parsers/nagios"
|
"github.com/influxdata/telegraf/plugins/parsers/nagios"
|
||||||
|
|
@ -23,6 +24,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
const MaxStderrBytes int = 512
|
const MaxStderrBytes int = 512
|
||||||
|
|
||||||
type exitcodeHandlerFunc func([]telegraf.Metric, error, []byte) []telegraf.Metric
|
type exitcodeHandlerFunc func([]telegraf.Metric, error, []byte) []telegraf.Metric
|
||||||
|
|
@ -118,6 +121,12 @@ func (e *Exec) ProcessCommand(command string, acc telegraf.Accumulator, wg *sync
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
e.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if e.exitcodeHandler != nil {
|
if e.exitcodeHandler != nil {
|
||||||
metrics = e.exitcodeHandler(metrics, runErr, errBuf)
|
metrics = e.exitcodeHandler(metrics, runErr, errBuf)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,12 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/config"
|
"github.com/influxdata/telegraf/config"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/process"
|
"github.com/influxdata/telegraf/internal/process"
|
||||||
"github.com/influxdata/telegraf/models"
|
"github.com/influxdata/telegraf/models"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
|
|
@ -22,6 +24,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type Execd struct {
|
type Execd struct {
|
||||||
Command []string `toml:"command"`
|
Command []string `toml:"command"`
|
||||||
Environment []string `toml:"environment"`
|
Environment []string `toml:"environment"`
|
||||||
|
|
@ -102,6 +106,12 @@ func (e *Execd) cmdReadOut(out io.Reader) {
|
||||||
e.acc.AddError(fmt.Errorf("parse error: %w", err))
|
e.acc.AddError(fmt.Errorf("parse error: %w", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
e.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
for _, metric := range metrics {
|
for _, metric := range metrics {
|
||||||
e.acc.AddMetric(metric)
|
e.acc.AddMetric(metric)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,12 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"github.com/dimchansky/utfbom"
|
"github.com/dimchansky/utfbom"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/globpath"
|
"github.com/influxdata/telegraf/internal/globpath"
|
||||||
"github.com/influxdata/telegraf/plugins/common/encoding"
|
"github.com/influxdata/telegraf/plugins/common/encoding"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
|
|
@ -19,11 +21,14 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type File struct {
|
type File struct {
|
||||||
Files []string `toml:"files"`
|
Files []string `toml:"files"`
|
||||||
FileTag string `toml:"file_tag"`
|
FileTag string `toml:"file_tag"`
|
||||||
FilePathTag string `toml:"file_path_tag"`
|
FilePathTag string `toml:"file_path_tag"`
|
||||||
CharacterEncoding string `toml:"character_encoding"`
|
CharacterEncoding string `toml:"character_encoding"`
|
||||||
|
Log telegraf.Logger `toml:"-"`
|
||||||
|
|
||||||
parserFunc telegraf.ParserFunc
|
parserFunc telegraf.ParserFunc
|
||||||
filenames []string
|
filenames []string
|
||||||
|
|
@ -108,6 +113,12 @@ func (f *File) readMetric(filename string) ([]telegraf.Metric, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return metrics, fmt.Errorf("could not parse %q: %w", filename, err)
|
return metrics, fmt.Errorf("could not parse %q: %w", filename, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
f.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
return metrics, err
|
return metrics, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ func TestRefreshFilePaths(t *testing.T) {
|
||||||
|
|
||||||
r := File{
|
r := File{
|
||||||
Files: []string{filepath.Join(wd, "dev", "testfiles", "**.log")},
|
Files: []string{filepath.Join(wd, "dev", "testfiles", "**.log")},
|
||||||
|
Log: testutil.Logger{},
|
||||||
}
|
}
|
||||||
err = r.Init()
|
err = r.Init()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
@ -45,6 +46,7 @@ func TestFileTag(t *testing.T) {
|
||||||
Files: []string{filepath.Join(wd, "dev", "testfiles", "json_a.log")},
|
Files: []string{filepath.Join(wd, "dev", "testfiles", "json_a.log")},
|
||||||
FileTag: "filename",
|
FileTag: "filename",
|
||||||
FilePathTag: "filepath",
|
FilePathTag: "filepath",
|
||||||
|
Log: testutil.Logger{},
|
||||||
}
|
}
|
||||||
require.NoError(t, r.Init())
|
require.NoError(t, r.Init())
|
||||||
|
|
||||||
|
|
@ -70,6 +72,7 @@ func TestJSONParserCompile(t *testing.T) {
|
||||||
wd, _ := os.Getwd()
|
wd, _ := os.Getwd()
|
||||||
r := File{
|
r := File{
|
||||||
Files: []string{filepath.Join(wd, "dev", "testfiles", "json_a.log")},
|
Files: []string{filepath.Join(wd, "dev", "testfiles", "json_a.log")},
|
||||||
|
Log: testutil.Logger{},
|
||||||
}
|
}
|
||||||
require.NoError(t, r.Init())
|
require.NoError(t, r.Init())
|
||||||
|
|
||||||
|
|
@ -89,6 +92,7 @@ func TestGrokParser(t *testing.T) {
|
||||||
var acc testutil.Accumulator
|
var acc testutil.Accumulator
|
||||||
r := File{
|
r := File{
|
||||||
Files: []string{filepath.Join(wd, "dev", "testfiles", "grok_a.log")},
|
Files: []string{filepath.Join(wd, "dev", "testfiles", "grok_a.log")},
|
||||||
|
Log: testutil.Logger{},
|
||||||
}
|
}
|
||||||
err := r.Init()
|
err := r.Init()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
@ -191,6 +195,7 @@ func TestCharacterEncoding(t *testing.T) {
|
||||||
plugin: &File{
|
plugin: &File{
|
||||||
Files: []string{"testdata/mtr-utf-8.csv"},
|
Files: []string{"testdata/mtr-utf-8.csv"},
|
||||||
CharacterEncoding: "",
|
CharacterEncoding: "",
|
||||||
|
Log: testutil.Logger{},
|
||||||
},
|
},
|
||||||
csv: csv.Parser{
|
csv: csv.Parser{
|
||||||
MetricName: "file",
|
MetricName: "file",
|
||||||
|
|
@ -204,6 +209,7 @@ func TestCharacterEncoding(t *testing.T) {
|
||||||
plugin: &File{
|
plugin: &File{
|
||||||
Files: []string{"testdata/mtr-utf-8.csv"},
|
Files: []string{"testdata/mtr-utf-8.csv"},
|
||||||
CharacterEncoding: "utf-8",
|
CharacterEncoding: "utf-8",
|
||||||
|
Log: testutil.Logger{},
|
||||||
},
|
},
|
||||||
csv: csv.Parser{
|
csv: csv.Parser{
|
||||||
MetricName: "file",
|
MetricName: "file",
|
||||||
|
|
@ -217,6 +223,7 @@ func TestCharacterEncoding(t *testing.T) {
|
||||||
plugin: &File{
|
plugin: &File{
|
||||||
Files: []string{"testdata/mtr-utf-16le.csv"},
|
Files: []string{"testdata/mtr-utf-16le.csv"},
|
||||||
CharacterEncoding: "utf-16le",
|
CharacterEncoding: "utf-16le",
|
||||||
|
Log: testutil.Logger{},
|
||||||
},
|
},
|
||||||
csv: csv.Parser{
|
csv: csv.Parser{
|
||||||
MetricName: "file",
|
MetricName: "file",
|
||||||
|
|
@ -230,6 +237,7 @@ func TestCharacterEncoding(t *testing.T) {
|
||||||
plugin: &File{
|
plugin: &File{
|
||||||
Files: []string{"testdata/mtr-utf-16be.csv"},
|
Files: []string{"testdata/mtr-utf-16be.csv"},
|
||||||
CharacterEncoding: "utf-16be",
|
CharacterEncoding: "utf-16be",
|
||||||
|
Log: testutil.Logger{},
|
||||||
},
|
},
|
||||||
csv: csv.Parser{
|
csv: csv.Parser{
|
||||||
MetricName: "file",
|
MetricName: "file",
|
||||||
|
|
@ -343,6 +351,7 @@ func TestStatefulParsers(t *testing.T) {
|
||||||
plugin: &File{
|
plugin: &File{
|
||||||
Files: []string{"testdata/mtr-utf-8.csv"},
|
Files: []string{"testdata/mtr-utf-8.csv"},
|
||||||
CharacterEncoding: "",
|
CharacterEncoding: "",
|
||||||
|
Log: testutil.Logger{},
|
||||||
},
|
},
|
||||||
csv: csv.Parser{
|
csv: csv.Parser{
|
||||||
MetricName: "file",
|
MetricName: "file",
|
||||||
|
|
@ -390,6 +399,7 @@ func TestCSVBehavior(t *testing.T) {
|
||||||
// Setup the plugin
|
// Setup the plugin
|
||||||
plugin := &File{
|
plugin := &File{
|
||||||
Files: []string{filepath.Join("testdata", "csv_behavior_input.csv")},
|
Files: []string{filepath.Join("testdata", "csv_behavior_input.csv")},
|
||||||
|
Log: testutil.Logger{},
|
||||||
}
|
}
|
||||||
plugin.SetParserFunc(parserFunc)
|
plugin.SetParserFunc(parserFunc)
|
||||||
require.NoError(t, plugin.Init())
|
require.NoError(t, plugin.Init())
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type HTTP struct {
|
type HTTP struct {
|
||||||
URLs []string `toml:"urls"`
|
URLs []string `toml:"urls"`
|
||||||
Method string `toml:"method"`
|
Method string `toml:"method"`
|
||||||
|
|
@ -207,6 +209,12 @@ func (h *HTTP) gatherURL(acc telegraf.Accumulator, url string) error {
|
||||||
return fmt.Errorf("parsing metrics failed: %w", err)
|
return fmt.Errorf("parsing metrics failed: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
h.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
for _, metric := range metrics {
|
for _, metric := range metrics {
|
||||||
if !metric.HasTag("url") {
|
if !metric.HasTag("url") {
|
||||||
metric.AddTag("url", url)
|
metric.AddTag("url", url)
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import (
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
"github.com/influxdata/telegraf/config"
|
"github.com/influxdata/telegraf/config"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/choice"
|
"github.com/influxdata/telegraf/internal/choice"
|
||||||
tlsint "github.com/influxdata/telegraf/plugins/common/tls"
|
tlsint "github.com/influxdata/telegraf/plugins/common/tls"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
|
|
@ -27,6 +28,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
// defaultMaxBodySize is the default maximum request body size, in bytes.
|
// defaultMaxBodySize is the default maximum request body size, in bytes.
|
||||||
// if the request body is over this size, we will return an HTTP 413 error.
|
// if the request body is over this size, we will return an HTTP 413 error.
|
||||||
// 500 MB
|
// 500 MB
|
||||||
|
|
@ -236,6 +239,12 @@ func (h *HTTPListenerV2) serveWrite(res http.ResponseWriter, req *http.Request)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
h.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
for _, m := range metrics {
|
for _, m := range metrics {
|
||||||
for headerName, measurementName := range h.HTTPHeaderTags {
|
for headerName, measurementName := range h.HTTPHeaderTags {
|
||||||
headerValues := req.Header.Get(headerName)
|
headerValues := req.Header.Get(headerName)
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultMaxUndeliveredMessages = 1000
|
defaultMaxUndeliveredMessages = 1000
|
||||||
defaultMaxProcessingTime = config.Duration(100 * time.Millisecond)
|
defaultMaxProcessingTime = config.Duration(100 * time.Millisecond)
|
||||||
|
|
@ -490,6 +492,12 @@ func (h *ConsumerGroupHandler) Handle(session sarama.ConsumerGroupSession, msg *
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
h.log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
headerKey := ""
|
headerKey := ""
|
||||||
// Check if any message header should override metric name or should be pass as tag
|
// Check if any message header should override metric name or should be pass as tag
|
||||||
if len(h.MsgHeadersToTags) > 0 || h.MsgHeaderToMetricName != "" {
|
if len(h.MsgHeadersToTags) > 0 || h.MsgHeaderToMetricName != "" {
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"github.com/harlow/kinesis-consumer/store/ddb"
|
"github.com/harlow/kinesis-consumer/store/ddb"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
internalaws "github.com/influxdata/telegraf/plugins/common/aws"
|
internalaws "github.com/influxdata/telegraf/plugins/common/aws"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
)
|
)
|
||||||
|
|
@ -28,6 +29,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type (
|
type (
|
||||||
DynamoDB struct {
|
DynamoDB struct {
|
||||||
AppName string `toml:"app_name"`
|
AppName string `toml:"app_name"`
|
||||||
|
|
@ -180,6 +183,12 @@ func (k *KinesisConsumer) onMessage(acc telegraf.TrackingAccumulator, r *consume
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
k.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
k.recordsTex.Lock()
|
k.recordsTex.Lock()
|
||||||
id := acc.AddTrackingMetricGroup(metrics)
|
id := acc.AddTrackingMetricGroup(metrics)
|
||||||
k.records[id] = *r.SequenceNumber
|
k.records[id] = *r.SequenceNumber
|
||||||
|
|
|
||||||
|
|
@ -275,8 +275,7 @@ func (m *MQTTConsumer) onMessage(_ mqtt.Client, msg mqtt.Message) {
|
||||||
if err != nil || len(metrics) == 0 {
|
if err != nil || len(metrics) == 0 {
|
||||||
if len(metrics) == 0 {
|
if len(metrics) == 0 {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
const msg = "No metrics were created from a message. Verify your parser settings. This message is only printed once."
|
m.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
m.Log.Debug(msg)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"github.com/nats-io/nats.go"
|
"github.com/nats-io/nats.go"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/plugins/common/tls"
|
"github.com/influxdata/telegraf/plugins/common/tls"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
)
|
)
|
||||||
|
|
@ -18,6 +19,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
var (
|
var (
|
||||||
defaultMaxUndeliveredMessages = 1000
|
defaultMaxUndeliveredMessages = 1000
|
||||||
)
|
)
|
||||||
|
|
@ -220,6 +223,11 @@ func (n *natsConsumer) receiver(ctx context.Context) {
|
||||||
<-sem
|
<-sem
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
n.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
for _, m := range metrics {
|
for _, m := range metrics {
|
||||||
m.AddTag("subject", msg.Subject)
|
m.AddTag("subject", msg.Subject)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,10 @@ package socket_listener
|
||||||
import (
|
import (
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"net"
|
"net"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/plugins/common/socket"
|
"github.com/influxdata/telegraf/plugins/common/socket"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
)
|
)
|
||||||
|
|
@ -14,6 +16,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
type SocketListener struct {
|
type SocketListener struct {
|
||||||
ServiceAddress string `toml:"service_address"`
|
ServiceAddress string `toml:"service_address"`
|
||||||
Log telegraf.Logger `toml:"-"`
|
Log telegraf.Logger `toml:"-"`
|
||||||
|
|
@ -54,6 +58,11 @@ func (sl *SocketListener) Start(acc telegraf.Accumulator) error {
|
||||||
acc.AddError(err)
|
acc.AddError(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
sl.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
for _, m := range metrics {
|
for _, m := range metrics {
|
||||||
acc.AddMetric(m)
|
acc.AddMetric(m)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import (
|
||||||
"github.com/pborman/ansi"
|
"github.com/pborman/ansi"
|
||||||
|
|
||||||
"github.com/influxdata/telegraf"
|
"github.com/influxdata/telegraf"
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/globpath"
|
"github.com/influxdata/telegraf/internal/globpath"
|
||||||
"github.com/influxdata/telegraf/plugins/common/encoding"
|
"github.com/influxdata/telegraf/plugins/common/encoding"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
|
|
@ -27,6 +28,8 @@ import (
|
||||||
//go:embed sample.conf
|
//go:embed sample.conf
|
||||||
var sampleConfig string
|
var sampleConfig string
|
||||||
|
|
||||||
|
var once sync.Once
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultWatchMethod = "inotify"
|
defaultWatchMethod = "inotify"
|
||||||
)
|
)
|
||||||
|
|
@ -340,7 +343,11 @@ func (t *Tail) receiver(parser telegraf.Parser, tailer *tail.Tail) {
|
||||||
tailer.Filename, text, err.Error())
|
tailer.Filename, text, err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if len(metrics) == 0 {
|
||||||
|
once.Do(func() {
|
||||||
|
t.Log.Debug(internal.NoMetricsCreatedMsg)
|
||||||
|
})
|
||||||
|
}
|
||||||
if t.PathTag != "" {
|
if t.PathTag != "" {
|
||||||
for _, metric := range metrics {
|
for _, metric := range metrics {
|
||||||
metric.AddTag(t.PathTag, tailer.Filename)
|
metric.AddTag(t.PathTag, tailer.Filename)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue