fix: Add metric name is a label with name "__name" to Loki output plugin (#10001)
This commit is contained in:
parent
0133f1206b
commit
e73ffe56c4
|
|
@ -1,6 +1,6 @@
|
||||||
# Loki Output Plugin
|
# Loki Output Plugin
|
||||||
|
|
||||||
This plugin sends logs to Loki, using tags as labels,
|
This plugin sends logs to Loki, using metric name and tags as labels,
|
||||||
log line will content all fields in `key="value"` format which is easily parsable with `logfmt` parser in Loki.
|
log line will content all fields in `key="value"` format which is easily parsable with `logfmt` parser in Loki.
|
||||||
|
|
||||||
Logs within each stream are sorted by timestamp before being sent to Loki.
|
Logs within each stream are sorted by timestamp before being sent to Loki.
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,8 @@ func (l *Loki) Write(metrics []telegraf.Metric) error {
|
||||||
})
|
})
|
||||||
|
|
||||||
for _, m := range metrics {
|
for _, m := range metrics {
|
||||||
|
m.AddTag("__name", m.Name())
|
||||||
|
|
||||||
tags := m.TagList()
|
tags := m.TagList()
|
||||||
var line string
|
var line string
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -225,7 +225,7 @@ func TestContentEncodingGzip(t *testing.T) {
|
||||||
require.Len(t, s.Streams, 1)
|
require.Len(t, s.Streams, 1)
|
||||||
require.Len(t, s.Streams[0].Logs, 1)
|
require.Len(t, s.Streams[0].Logs, 1)
|
||||||
require.Len(t, s.Streams[0].Logs[0], 2)
|
require.Len(t, s.Streams[0].Logs[0], 2)
|
||||||
require.Equal(t, map[string]string{"key1": "value1"}, s.Streams[0].Labels)
|
require.Equal(t, map[string]string{"__name": "log", "key1": "value1"}, s.Streams[0].Labels)
|
||||||
require.Equal(t, "123000000000", s.Streams[0].Logs[0][0])
|
require.Equal(t, "123000000000", s.Streams[0].Logs[0][0])
|
||||||
require.Contains(t, s.Streams[0].Logs[0][1], "line=\"my log\"")
|
require.Contains(t, s.Streams[0].Logs[0][1], "line=\"my log\"")
|
||||||
require.Contains(t, s.Streams[0].Logs[0][1], "field=\"3.14\"")
|
require.Contains(t, s.Streams[0].Logs[0][1], "field=\"3.14\"")
|
||||||
|
|
@ -404,7 +404,7 @@ func TestMetricSorting(t *testing.T) {
|
||||||
require.Len(t, s.Streams, 1)
|
require.Len(t, s.Streams, 1)
|
||||||
require.Len(t, s.Streams[0].Logs, 2)
|
require.Len(t, s.Streams[0].Logs, 2)
|
||||||
require.Len(t, s.Streams[0].Logs[0], 2)
|
require.Len(t, s.Streams[0].Logs[0], 2)
|
||||||
require.Equal(t, map[string]string{"key1": "value1"}, s.Streams[0].Labels)
|
require.Equal(t, map[string]string{"__name": "log", "key1": "value1"}, s.Streams[0].Labels)
|
||||||
require.Equal(t, "456000000000", s.Streams[0].Logs[0][0])
|
require.Equal(t, "456000000000", s.Streams[0].Logs[0][0])
|
||||||
require.Contains(t, s.Streams[0].Logs[0][1], "line=\"older log\"")
|
require.Contains(t, s.Streams[0].Logs[0][1], "line=\"older log\"")
|
||||||
require.Contains(t, s.Streams[0].Logs[0][1], "field=\"3.14\"")
|
require.Contains(t, s.Streams[0].Logs[0][1], "field=\"3.14\"")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue