From f5d5a51c2179b4cc6741293ad995ec1b60397027 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Lehto Date: Fri, 27 Nov 2020 10:24:26 -0600 Subject: [PATCH] Added "name" parameter to NATS output plugin (#8429) --- plugins/outputs/nats/README.md | 4 ++++ plugins/outputs/nats/nats.go | 8 ++++++++ plugins/outputs/nats/nats_test.go | 1 + 3 files changed, 13 insertions(+) diff --git a/plugins/outputs/nats/README.md b/plugins/outputs/nats/README.md index c5539900b..1fb1a2b4b 100644 --- a/plugins/outputs/nats/README.md +++ b/plugins/outputs/nats/README.md @@ -6,6 +6,10 @@ This plugin writes to a (list of) specified NATS instance(s). [[outputs.nats]] ## URLs of NATS servers servers = ["nats://localhost:4222"] + + ## Optional client name + # name = "" + ## Optional credentials # username = "" # password = "" diff --git a/plugins/outputs/nats/nats.go b/plugins/outputs/nats/nats.go index bf1baae33..50102b43a 100644 --- a/plugins/outputs/nats/nats.go +++ b/plugins/outputs/nats/nats.go @@ -15,6 +15,7 @@ import ( type NATS struct { Servers []string `toml:"servers"` Secure bool `toml:"secure"` + Name string `toml:"name"` Username string `toml:"username"` Password string `toml:"password"` Credentials string `toml:"credentials"` @@ -30,6 +31,9 @@ var sampleConfig = ` ## URLs of NATS servers servers = ["nats://localhost:4222"] + ## Optional client name + # name = "" + ## Optional credentials # username = "" # password = "" @@ -73,6 +77,10 @@ func (n *NATS) Connect() error { opts = append(opts, nats.UserInfo(n.Username, n.Password)) } + if n.Name != "" { + opts = append(opts, nats.Name(n.Name)) + } + if n.Secure { tlsConfig, err := n.ClientConfig.TLSConfig() if err != nil { diff --git a/plugins/outputs/nats/nats_test.go b/plugins/outputs/nats/nats_test.go index 773dbaa6e..432c92418 100644 --- a/plugins/outputs/nats/nats_test.go +++ b/plugins/outputs/nats/nats_test.go @@ -17,6 +17,7 @@ func TestConnectAndWrite(t *testing.T) { s, _ := serializers.NewInfluxSerializer() n := &NATS{ Servers: server, + Name: "telegraf", Subject: "telegraf", serializer: s, }