go.d ll netlisteners add support for wildcard address (#17896)
Ilya Mashchenko committed
Jun 14, 2024 at 16:10 UTC
2d0cf8ed9a4fbad8dff06630056966bb861c30b4
2 files changed
+15
src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners.go
+6
@@ -223,6 +223,12 @@ func (d *Discoverer) parseLocalListeners(bs []byte) ([]model.Target, error) {
223
tgt.IPAddress = local6
224
}
225
226
+ // quick support for https://github.com/netdata/netdata/pull/17866
227
+ // TODO: create both ipv4 and ipv6 targets?
228
+ if tgt.IPAddress == "*" {
229
+ tgt.IPAddress = local4
230
+ }
231
+
232
tgt.Address = net.JoinHostPort(tgt.IPAddress, tgt.Port)
233
234
hash, err := calcHash(tgt)
src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners_test.go
+9
@@ -22,6 +22,7 @@ func TestDiscoverer_Discover(t *testing.T) {
22
cli.addListener("TCP|0.0.0.0|8125|/opt/netdata/usr/sbin/netdata -P /run/netdata/netdata.pid -D")
23
cli.addListener("TCP|192.0.2.1|8125|/opt/netdata/usr/sbin/netdata -P /run/netdata/netdata.pid -D")
24
cli.addListener("UDP|127.0.0.1|53768|/opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin 1")
25
+ cli.addListener("TCP46|*|80|/usr/sbin/httpd -k start")
26
cli.addListener("TCP6|::|80|/usr/sbin/apache2 -k start")
27
cli.addListener("TCP|0.0.0.0|80|/usr/sbin/apache2 -k start")
28
cli.addListener("TCP|0.0.0.0|8080|/usr/sbin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.4 -container-port 80")
@@ -40,6 +41,14 @@ func TestDiscoverer_Discover(t *testing.T) {
41
Comm: "chronyd",
42
Cmdline: "/usr/sbin/chronyd",
43
}),
44
+ withHash(&target{
45
+ Protocol: "TCP46",
46
+ IPAddress: "127.0.0.1",
47
+ Port: "80",
48
+ Address: "127.0.0.1:80",
49
+ Comm: "httpd",
50
+ Cmdline: "/usr/sbin/httpd -k start",
51
+ }),
52
withHash(&target{
53
Protocol: "TCP",
54
IPAddress: "127.0.0.1",