-
Notifications
You must be signed in to change notification settings - Fork 709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
malformed metric name __ndows_system_boot_time_timestamp_seconds #1866
Comments
I didn't have any relabel rules, at least until I used one to change "__ndows..." to fix dashboards and alerts. It occurs only with 0.30.1 (don't have other 0.30.x) and Server 2012R2 but not on the other Windows Server versions. Specifically this one {name="windows_os_info", build_number="9600", instance="[redacted]:9182", job="windows", major_version="6", minor_version="3", product="Windows Server 2012 R2 Standard", revision="22267", version="6.3.9600"} Also in browser... |
I have no idea, how this is possible. I'm using the prometheus client libraries and a constant for all metrics. It strange to me that only one metrics is different. Not sure, how much effort I will put into this. |
I understand that that 2012 is only best effort. Upgraded to 0.30.2. I ran Prometheus with debug and this is in the log... And on a different server I found the same behavior but with different metric... I tried metric_relabel_configs in Prometheus configs since the browser shows it starting with __ (double underscore) and the Prometheus docs say that relabel is the last stage prior to ingesting and that anything starting with __ will be dropped. It didn't change anything. So maybe it is "null" and not _ at the start? |
It might have something to do with failed collectors. I noticed the issue on a 2012R2 server running 0.29.2. So I ran windows_exporter interactively with --log.level=debug and saw the following error. I removed the IIS collector and the error went away, as expected, and so did the metric name issue. Combined with the \u0000 in the prior message, it feels like a pointer issue. ts=2025-02-03T22:49:20.815-05:00 level=debug caller=unmarshal.go(perflib.UnmarshalObject):73 msg="missing counter "% 503 HTTP Response Sent", have [Current File Cache Memory Usage File Cache Hits URI Cache Misses |
This error is an known issue, since the OLD IIS version does not provide all metrics. The issues was fixed in a later version (0.30 branch)
Yes, there are null bytes in front. You can try to do something like this in relabel:
Maybe this helps. 0.29 and 0.30 are using the same go runtime. Maybe 0.28 help you here. 0.25 seems also a good option, if only system collector is needed. I guess old windows version just needs old exporter versions. |
I tried this and no change:
|
Current Behavior
The metrics "windows_system_boot_time_timestamp_seconds" appears as "__ndows_system_boot_time_timestamp_seconds"
Expected Behavior
It should be "windows_system_boot_time_timestamp_seconds"
Steps To Reproduce
Environment
windows_exporter logs
Anything else?
No response
The text was updated successfully, but these errors were encountered: