Windows machine monitoring with Netdata
This module will monitor one or more Windows machines, using the windows_exporter.
The module collects metrics from the following collectors:
Requirements
Netdata monitors Windows hosts by utilizing the Prometheus exporter for Windows machines, a native Windows agent running on each host.
To quickly test Netdata directly on a Windows machine, you can use the Netdata MSI installer. The installer runs Netdata in a custom WSL deployment. WSL was not designed for production environments, so we do not recommend using the installer in production.
For production use, you need to install Netdata on one or more nodes running Linux:
- Install the latest Prometheus exporter for Windows on every Windows host you want to monitor.
- Get the installation commands from Netdata Cloud and install Netdata on one or more Linux nodes.
- Configure each Netdata instance to collect data remotely, from several Windows hosts. Just add one job
for each host to
wmi.conf
, as shown in the configuration section. - [Optional][Disable all plugins](/docs/configure/common-changes#disable-a-collector-or-plugin)
except for go.d in
netdata.conf
, so that you only see Windows metrics. - [Optional] Set up replication, for high availability.
Automated charts and alerts for your entire Windows infrastructure will be automatically generated. Each Windows host (data collection job) will be identifiable as an "instance" in the Netdata Cloud charts.
Metrics
All metrics have "wmi." prefix.
Metric | Scope | Dimensions | Units |
---|---|---|---|
cpu_utilization_total | global | dpc, user, privileged, interrupt | percentage |
cpu_core_utilization | cpu core | dpc, user, privileged, interrupt | percentage |
cpu_core_interrupts | cpu core | interrupts | interrupts/s |
cpu_core_dpcs | cpu core | dpcs | dpcs/s |
cpu_core_cstate | cpu core | c1, c2, c3 | percentage |
memory_utilization | global | available, used | bytes |
memory_utilization | global | available, used | KiB |
memory_page_faults | global | page_faults | events/s |
memory_swap_utilization | global | available, used | bytes |
memory_swap_operations | global | read, write | operations/s |
memory_swap_pages | global | read, written | pages/s |
memory_cached | global | cached | KiB |
memory_cache_faults | global | cache_faults | events/s |
memory_system_pool | global | paged, non-paged | bytes |
logical_disk_utilization | logical disk | free, used | bytes |
logical_disk_bandwidth | logical disk | read, write | bytes/s |
logical_disk_operations | logical disk | reads, writes | operations/s |
logical_disk_latency | logical disk | read, write | seconds |
net_nic_bandwidth | network device | received, sent | kilobits/s |
net_nic_packets | network device | received, sent | packets/s |
net_nic_errors | network device | inbound, outbound | errors/s |
net_nic_discarded | network device | inbound, outbound | discards/s |
tcp_conns_established | global | ipv4, ipv6 | connections |
tcp_conns_active | global | ipv4, ipv6 | connections/s |
tcp_conns_passive | global | ipv4, ipv6 | connections/s |
tcp_conns_failures | global | ipv4, ipv6 | failures/s |
tcp_conns_resets | global | ipv4, ipv6 | resets/s |
tcp_segments_received | global | ipv4, ipv6 | segments/s |
tcp_segments_sent | global | ipv4, ipv6 | segments/s |
tcp_segments_retransmitted | global | ipv4, ipv6 | segments/s |
os_processes | global | processes | number |
os_users | global | users | users |
os_visible_memory_usage | global | free, used | bytes |
os_paging_files_usage | global | free, used | bytes |
system_threads | global | threads | number |
system_uptime | global | time | seconds |
logon_type_sessions | global | system, interactive, network, batch, service, proxy, unlock, network_clear_text, new_credentials, remote_interactive, cached_interactive, cached_remote_interactive, cached_unlock | seconds |
thermalzone_temperature | global | a dimension per thermalzone | celsius |
processes_cpu_utilization | global | a dimension per process | percentage |
processes_handles | global | a dimension per process | handles |
processes_io_bytes | global | a dimension per process | bytes/s |
processes_io_operations | global | a dimension per process | operations/s |
processes_page_faults | global | a dimension per process | pgfaults/s |
processes_page_file_bytes | global | a dimension per process | bytes |
processes_pool_bytes | global | a dimension per process | bytes |
processes_threads | global | a dimension per process | threads |
service_state | service | running, stopped, start_pending, stop_pending, continue_pending, pause_pending, paused, unknown | state |
service_status | service | ok, error, unknown, degraded, pred_fail, starting, stopping, service, stressed, nonrecover, no_contact, lost_comm | status |
iis_website_traffic | website | received, sent | bytes/s |
iis_website_requests_rate | website | requests | requests/s |
iis_website_active_connections_count | website | active | connections |
iis_website_users_count | website | anonymous, non_anonymous | users |
iis_website_connection_attempts_rate | website | connection | attempts/s |
iis_website_isapi_extension_requests_count | website | isapi | requests |
iis_website_isapi_extension_requests_rate | website | isapi | requests/s |
iis_website_ftp_file_transfer_rate | website | received, sent | files/s |
iis_website_logon_attempts_rate | website | logon | attempts/s |
iis_website_errors_rate | website | document_locked, document_not_found | errors/s |
iis_website_uptime | website | document_locked, document_not_found | seconds |
mssql_instance_accessmethods_page_splits | mssql instance | page | splits/s |
mssql_instance_cache_hit_ratio | mssql instance | hit_ratio | percentage |
mssql_instance_bufman_checkpoint_pages | mssql instance | flushed | pages/s |
mssql_instance_bufman_page_life_expectancy | mssql instance | life_expectancy | seconds |
mssql_instance_bufman_iops | mssql instance | read, written | iops |
mssql_instance_blocked_processes | mssql instance | blocked | processes |
mssql_instance_user_connection | mssql instance | user | connections |
mssql_instance_locks_lock_wait | mssql instance | alloc_unit, application, database, extent, file, hobt, key, metadata, oib, object, page, rid, row_group, xact | locks/s |
mssql_instance_memmgr_pending_memory_grants | mssql instance | pending | processes |
mssql_instance_memmgr_server_memory | mssql instance | memory | bytes |
mssql_instance_sqlstats_auto_parameterization_attempts | mssql instance | failed | attempts/s |
mssql_instance_sqlstats_safe_auto_parameterization_attempts | mssql instance | safe | attempts/s |
mssql_instance_sqlstats_sql_compilations | mssql instance | compilations | compilations/s |
mssql_instance_sqlstats_sql_recompilations | mssql instance | recompiles | recompiles/s |
mssql_database_active_transactions | database | active | transactions |
mssql_database_backup_restore_operations | database | backup | operations/s |
mssql_database_data_files_size | database | size | bytes |
mssql_database_log_flushed | database | flushed | bytes/s |
mssql_database_log_flushes | database | log | flushes/s |
mssql_database_transactions | database | transactions | transactions/s |
mssql_instance_write_transactions | database | write | transactions/s |
ad_dra_replication_intersite_compressed_traffic | global | inbound, outbound | bytes/s |
ad_dra_replication_intrasite_compressed_traffic | global | inbound, outbound | bytes/s |
ad_dra_replication_sync_objects_remaining | global | inbound, outbound | objects |
ad_dra_replication_objects_filtered | global | inbound, outbound | objects/s |
ad_dra_replication_properties_updated | global | inbound, outbound | properties/s |
ad_dra_replication_properties_filtered | global | inbound, outbound | properties/s |
ad_dra_replication_pending_syncs | global | pending | syncs |
ad_dra_replication_sync_requests | global | requests | requests/s |
ad_ds_threads | global | in_use | threads |
ad_ldap_last_bind_time | global | last_bind | seconds |
ad_binds | global | binds | binds/s |
ad_ldap_searches | global | searches | searches/s |
adcs_cert_template_requests | certificate template | requests | requests/s |
adcs_cert_template_failed_requests | certificate template | failed | requests/s |
adcs_cert_template_issued_requests | certificate template | issued | requests/s |
adcs_cert_template_pending_requests | certificate template | pending | requests/s |
adcs_cert_template_request_processing_time | certificate template | processing_time | seconds |
adcs_cert_template_retrievals | certificate template | retrievals | retrievals/s |
adcs_cert_template_retrieval_processing_time | certificate template | processing_time | seconds |
adcs_cert_template_request_cryptographic_signing_time | certificate template | singing_time | seconds |
adcs_cert_template_request_policy_module_processing | certificate template | processing_time | seconds |
adcs_cert_template_challenge_responses | certificate template | challenge | responses/s |
adcs_cert_template_challenge_response_processing_time | certificate template | processing_time | seconds |
adcs_cert_template_signed_certificate_timestamp_lists | certificate template | processed | lists/s |
adcs_cert_template_signed_certificate_timestamp_list_processing_time | certificate template | processing_time | seconds |
adfs_ad_login_connection_failures | global | connection | failures/s |
adfs_certificate_authentications | global | authentications | authentications/s |
adfs_db_artifact_failures | global | connection | failures/s |
adfs_db_artifact_query_time_seconds | global | query_time | seconds/s |
adfs_db_config_failures | global | connection | failures/s |
adfs_db_config_query_time_seconds | global | query_time | seconds/s |
adfs_device_authentications | global | authentications | authentications/s |
adfs_external_authentications | global | success, failure | authentications/s |
adfs_federated_authentications | global | authentications | authentications/s |
adfs_federation_metadata_requests | global | requests | requests/s |
adfs_oauth_authorization_requests | global | requests | requests/s |
adfs_oauth_client_authentications | global | success, failure | authentications/s |
adfs_oauth_client_credentials_requests | global | success, failure | requests/s |
adfs_oauth_client_privkey_jwt_authentications | global | success, failure | authentications/s |
adfs_oauth_client_secret_basic_authentications | global | success, failure | authentications/s |
adfs_oauth_client_secret_post_authentications | global | success, failure | authentications/s |
adfs_oauth_client_windows_authentications | global | success, failure | authentications/s |
adfs_oauth_logon_certificate_requests | global | success, failure | requests/s |
adfs_oauth_password_grant_requests | global | success, failure | requests/s |
adfs_oauth_token_requests_success | global | success | requests/s |
adfs_passive_requests | global | passive | requests/s |
adfs_passport_authentications | global | passport | authentications/s |
adfs_password_change_requests | global | success, failure | requests/s |
adfs_samlp_token_requests_success | global | success | requests/s |
adfs_sso_authentications | global | success, failure | authentications/s |
adfs_token_requests | global | requests | requests/s |
adfs_userpassword_authentications | global | success, failure | authentications/s |
adfs_windows_integrated_authentications | global | authentications | authentications/s |
adfs_wsfed_token_requests_success | global | success | requests/s |
adfs_wstrust_token_requests_success | global | success | requests/s |
Configuration
Edit the go.d/wmi.conf
configuration file using edit-config
from the
Netdata config directory, which is typically at /etc/netdata
.
cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/wmi.conf
Needs only url
to windows_exporter
metrics endpoint. Here is an example for 2 instances:
jobs:
- name: win_server1
url: http://203.0.113.10:9182/metrics
- name: win_server2
url: http://203.0.113.11:9182/metrics
Hint: Use friendly server names for job names, as these will appear as "instances" in Netdata Cloud charts and on the right side menu of the agent UI charts.
For all available options please see module configuration file.
Troubleshooting
To troubleshoot issues with the wmi
collector, run the go.d.plugin
with the debug option enabled. The output should
give you clues as to why the collector isn't working.
Navigate to the
plugins.d
directory, usually at/usr/libexec/netdata/plugins.d/
. If that's not the case on your system, opennetdata.conf
and look for theplugins
setting under[directories]
.cd /usr/libexec/netdata/plugins.d/
Switch to the
netdata
user.sudo -u netdata -s
Run the
go.d.plugin
to debug the collector:./go.d.plugin -d -m wmi
Was this page helpful?
Contribute
- Join our community forum
- Learn how to contribute to Netdata's open-source project
- Submit a feature request