diff --git a/plugins/inputs/chrony/chrony.go b/plugins/inputs/chrony/chrony.go index 51081b87b..f39108921 100644 --- a/plugins/inputs/chrony/chrony.go +++ b/plugins/inputs/chrony/chrony.go @@ -103,9 +103,13 @@ func processChronycOutput(out string) (map[string]interface{}, map[string]string tags["stratum"] = valueFields[0] continue } + if strings.Contains(strings.ToLower(name), "reference_id") { + tags["reference_id"] = valueFields[0] + continue + } value, err := strconv.ParseFloat(valueFields[0], 64) if err != nil { - tags[name] = strings.ToLower(valueFields[0]) + tags[name] = strings.ToLower(strings.Join(valueFields, " ")) continue } if strings.Contains(stats[1], "slow") { diff --git a/plugins/inputs/chrony/chrony_test.go b/plugins/inputs/chrony/chrony_test.go index 143d7e9d9..496986c40 100644 --- a/plugins/inputs/chrony/chrony_test.go +++ b/plugins/inputs/chrony/chrony_test.go @@ -27,7 +27,7 @@ func TestGather(t *testing.T) { tags := map[string]string{ "reference_id": "192.168.1.22", - "leap_status": "normal", + "leap_status": "not synchronized", "stratum": "3", } fields := map[string]interface{}{ @@ -85,7 +85,7 @@ Skew : 0.006 ppm Root delay : 0.001655 seconds Root dispersion : 0.003307 seconds Update interval : 507.2 seconds -Leap status : Normal +Leap status : Not synchronized ` args := os.Args