You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, my golang skills are very limited, I would have tried to fix it myself if I could..
Here's what I was able to figure out so far:
The prometheus client_golang@v1.4.1 accepts UTF-8 only in prometheus/value.go
Therefore, mikrotik-exporter ( interface_collector.go ) should convert the string in label "comment" to UTF-8 first (and maybe additionally emit a warning that the string was modified)
The text was updated successfully, but these errors were encountered:
When scraping a Mikrotik v7.2.3, the exporter dies when an Interface comment contains an Umlaut (German ü) with the following error message:
panic: label value "078xxxxxxx 50GB/Month 12.50Fr. , Monat beginnt jeweils am 9. Abo bis 16.08.2023, 60 Tage im Voraus k\xfcnden." is not valid UTF-8
goroutine 35 [running]:
github.com/prometheus/client_golang/prometheus.MustNewConstMetric(...)
/root/go/pkg/mod/github.com/prometheus/client_golang@v1.4.1/prometheus/value.go:105
mikrotik-exporter/collector.(*interfaceCollector).collectMetricForProperty(0x7fae8e5d3008?, {0x889f93, 0xa}, 0xc0000daf80, 0xc00000e270)
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/interface_collector.go:104 +0x71d
mikrotik-exporter/collector.(*interfaceCollector).collectForStat(...)
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/interface_collector.go:66
mikrotik-exporter/collector.(*interfaceCollector).collect(0xc0000ca500, 0xc000198180?)
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/interface_collector.go:45 +0xfa
mikrotik-exporter/collector.(*collector).connectAndCollect(0xc0000da9c0, 0xc000198180, 0xc000070240)
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/collector.go:355 +0x36d
mikrotik-exporter/collector.(*collector).collectForDevice(0xc000222768?, {{0x7fffb6995840, 0x9}, {0x7fffb6995819, 0xc}, {{0x0, 0x0}, {{0x0, 0x0}, 0x0}}, ...}, ...)
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/collector.go:326 +0xe5
mikrotik-exporter/collector.(*collector).Collect.func1({{0x7fffb6995840, 0x9}, {0x7fffb6995819, 0xc}, {{0x0, 0x0}, {{0x0, 0x0}, 0x0}}, {0x7fffb6995850, ...}, ...})
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/collector.go:291 +0x78
created by mikrotik-exporter/collector.(*collector).Collect
/var/lib/prometheus/mikrotik-exporter/mikrotik-exporter/collector/collector.go:290 +0x285
Unfortunately, my golang skills are very limited, I would have tried to fix it myself if I could..
Here's what I was able to figure out so far:
The text was updated successfully, but these errors were encountered: