fix(go.d/snmp): replace newline control chars with spaces in system info (#20301)
Ilya Mashchenko committed
May 19, 2025 at 15:08 UTC
314e05878c884cd526e4d84bfabf6b790c78a9c1
1 file changed
+6
-4
src/go/plugin/go.d/agent/discovery/sd/discoverer/snmpsd/sysinfo.go
+6
-4
@@ -39,16 +39,15 @@ func GetSysInfo(client gosnmp.Handler) (*SysInfo, error) {
39
Organization: "Unknown",
40
}
41
42
- r := strings.NewReplacer("\n", "\\n", "\r", "\\r")
42
+ r := strings.NewReplacer("\n", " ", "\r", " ")
43
44
for _, pdu := range pdus {
45
oid := strings.TrimPrefix(pdu.Name, ".")
46
47
switch oid {
48
case OidSysDescr:
49
- if si.Descr, err = PduToString(pdu); err == nil {
50
- si.Descr = r.Replace(si.Descr)
51
- }
49
+ si.Descr, err = PduToString(pdu)
50
+ si.Descr = r.Replace(si.Descr)
51
case OidSysObject:
52
var sysObj string
53
if sysObj, err = PduToString(pdu); err == nil {
@@ -57,10 +56,13 @@ func GetSysInfo(client gosnmp.Handler) (*SysInfo, error) {
56
}
57
case OidSysContact:
58
si.Contact, err = PduToString(pdu)
59
+ si.Contact = r.Replace(si.Contact)
60
case OidSysName:
61
si.Name, err = PduToString(pdu)
62
+ si.Name = r.Replace(si.Name)
63
case OidSysLocation:
64
si.Location, err = PduToString(pdu)
65
+ si.Location = r.Replace(si.Location)
66
}
67
if err != nil {
68
return nil, fmt.Errorf("OID '%s': %v", pdu.Name, err)