Skip to content

IIS collector might fail to initialize after reboot in v0.31.3 #2313

@JDA88

Description

@JDA88

Current Behavior

We deployed v0.31.3 on 450+ servers last week and we faced an odd behavior on the iis collector.
We had a few servers that failed to initialize the iis collector after a reboot. The collector continued to fail until we restarted the windows_exporter service.

On all the servers affected the behavior was the same:

  • Both windows_exporter and W3SVC were on delayed start
  • Restarting the windows_exporter service fixed the issue
  • Event logs message where the same (details below)

Expected Behavior

Correct initialization of the iis connector on every reboot.
It was woking 100% in v0.29.1

Steps To Reproduce

Cannot be reproduced 100% of the time, but:
- Start windows_exporter before the W3SVC is 100% initialized

Environment

  • windows_exporter Version: 0.31.3
  • Windows Server Version: 2019/2022/2025

windows_exporter logs

At startup:

source=collection.go:248 msg="couldn't initialize collector" err="error build collector iis: failed to build APP_POOL_WAS collector: failed to create APP_POOL_WAS collector: failed to initialize collector: GetCounterTimeBase: No data to return.\r\n\nGetCounterTimeBase: No data to return.\r\n\nGetCounterTimeBase: No data to return.\r\n"

Then after, on every call:
source=collect.go:220 msg="collector iis failed after 9.1212ms, resulting in 99 metrics" err="failed to collect APP_POOL_WAS metrics: failed to collect APP_POOL_WAS metrics: performance counter not initialized. Check application logs from initialization pharse for more information"

Anything else?

Counters are 100% fine on all those servers as restarting the service fixe the issues, no other messages in event logs, iis working fine also.
We had the issue on 2 servers on 22 where the iis collector is enabled, too soon to judge but looks like a 10% average failure rate after reboot. We do pause the v0.31.3 version deployment waiting for more information’s.

We do use the --collector.iis.app-include option to filter instance but I do not think this can make a difference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions