mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-10-18 10:39:05 +02:00
kubernetes/ moves to docs/kubernetes/, dashboard/ to contrib/dashboard/, and the rendered Prometheus rules and alerts to contrib/monitoring/ with a README that says how to use and regenerate them. Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
250 lines
12 KiB
YAML
250 lines
12 KiB
YAML
groups:
|
||
- name: "windows-exporter"
|
||
rules:
|
||
- alert: "WindowsExporterDown"
|
||
annotations:
|
||
description: "Prometheus cannot scrape Windows exporter on {{ $labels.instance }} (job {{ $labels.job }})."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsexporterdown/"
|
||
summary: "Windows exporter is unreachable"
|
||
expr: |
|
||
up{job="windows_exporter"} == 0
|
||
for: "5m"
|
||
labels:
|
||
severity: "critical"
|
||
- alert: "WindowsCollectorFailed"
|
||
annotations:
|
||
description: "Collector {{ $labels.collector }} on {{ $labels.instance }} has failed for at least 5 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowscollectorfailed/"
|
||
summary: "Windows collector failed"
|
||
expr: |
|
||
windows_exporter_collector_success{job="windows_exporter"} == 0
|
||
for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsCollectorTimeout"
|
||
annotations:
|
||
description: "Collector {{ $labels.collector }} on {{ $labels.instance }} has not finished within the scrape timeout for 10 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowscollectortimeout/"
|
||
summary: "Windows collector exceeds the scrape timeout"
|
||
expr: |
|
||
windows_exporter_collector_timeout{job="windows_exporter"} == 1
|
||
for: "10m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsScrapeQueueTimeout"
|
||
annotations:
|
||
description: "Scrapes of {{ $labels.instance }} have timed out waiting for an earlier scrape to finish for 10 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsscrapequeuetimeout/"
|
||
summary: "Windows exporter scrapes time out in the queue"
|
||
expr: |
|
||
windows_exporter_scrape_queue_timeout{job="windows_exporter"} == 1
|
||
for: "10m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-cpu"
|
||
rules:
|
||
- alert: "WindowsCPUHighUsage"
|
||
annotations:
|
||
description: "CPU usage on {{ $labels.instance }} has exceeded 90% for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowscpuhighusage/"
|
||
summary: "Windows CPU usage is high"
|
||
expr: |
|
||
windows:cpu_usage:ratio{job="windows_exporter"} * 100 > 90
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsCPUSaturation"
|
||
annotations:
|
||
description: "More than 2 threads per logical processor have been waiting for CPU time on {{ $labels.instance }} for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowscpusaturation/"
|
||
summary: "Windows processor queue is long"
|
||
expr: |
|
||
windows:cpu_queue_per_core:ratio{job="windows_exporter"} > 2
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-memory"
|
||
rules:
|
||
- alert: "WindowsMemoryHighUsage"
|
||
annotations:
|
||
description: "Physical memory usage on {{ $labels.instance }} has exceeded 90% for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsmemoryhighusage/"
|
||
summary: "Windows memory usage is high"
|
||
expr: |
|
||
windows:memory_usage:ratio{job="windows_exporter"} * 100 > 90
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsMemoryCommitHighUsage"
|
||
annotations:
|
||
description: "Committed memory on {{ $labels.instance }} has exceeded 90% of the commit limit for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsmemorycommithighusage/"
|
||
summary: "Windows memory commit usage is high"
|
||
expr: |
|
||
windows:memory_committed:ratio{job="windows_exporter"} * 100 > 90
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsMemoryPagingHigh"
|
||
annotations:
|
||
description: "Paging on {{ $labels.instance }} has exceeded 1000 pages per second for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsmemorypaginghigh/"
|
||
summary: "Windows memory paging is high"
|
||
expr: |
|
||
windows:memory_swap_page_operations:rate{job="windows_exporter"} > 1000
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-disk"
|
||
rules:
|
||
- alert: "WindowsDiskReadLatencyHigh"
|
||
annotations:
|
||
description: "Volume {{ $labels.volume }} on {{ $labels.instance }} has averaged more than 0.05 seconds per read operation for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsdiskreadlatencyhigh/"
|
||
summary: "Windows disk read latency is high"
|
||
expr: |
|
||
windows:logical_disk_read_latency:seconds{job="windows_exporter", volume!=""} > 0.05
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsDiskWriteLatencyHigh"
|
||
annotations:
|
||
description: "Volume {{ $labels.volume }} on {{ $labels.instance }} has averaged more than 0.05 seconds per write operation for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsdiskwritelatencyhigh/"
|
||
summary: "Windows disk write latency is high"
|
||
expr: |
|
||
windows:logical_disk_write_latency:seconds{job="windows_exporter", volume!=""} > 0.05
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsDiskAlmostFull"
|
||
annotations:
|
||
description: "Volume {{ $labels.volume }} on {{ $labels.instance }} has less than 10% free space. Windows may delay space metrics by 10–15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsdiskalmostfull/"
|
||
summary: "Windows disk space is low"
|
||
expr: |
|
||
windows:logical_disk_free:ratio{job="windows_exporter", volume!=""} * 100 < 10
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsDiskAlmostFull"
|
||
annotations:
|
||
description: "Volume {{ $labels.volume }} on {{ $labels.instance }} has less than 5% free space. Windows may delay space metrics by 10–15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsdiskalmostfull/"
|
||
summary: "Windows disk space is low"
|
||
expr: |
|
||
windows:logical_disk_free:ratio{job="windows_exporter", volume!=""} * 100 < 5
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "critical"
|
||
- alert: "WindowsDiskFillingUp"
|
||
annotations:
|
||
description: "Volume {{ $labels.volume }} on {{ $labels.instance }} is predicted to fill within 24 hours."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsdiskfillingup/"
|
||
summary: "Windows disk is predicted to fill up"
|
||
expr: |
|
||
windows:logical_disk_free:ratio{job="windows_exporter", volume!=""} * 100 < 10
|
||
and predict_linear(windows_logical_disk_free_bytes{job="windows_exporter", volume!=""}[6h], 86400) < 0
|
||
for: "1h"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-network"
|
||
rules:
|
||
- alert: "WindowsNetworkErrors"
|
||
annotations:
|
||
description: "Packet errors on interface {{ $labels.nic }} on {{ $labels.instance }} have exceeded 1% of all packets for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsnetworkerrors/"
|
||
summary: "Windows network packet errors are high"
|
||
expr: |
|
||
(
|
||
(windows:net_received_errors:rate{job="windows_exporter", nic!=""} + windows:net_outbound_errors:rate{job="windows_exporter", nic!=""})
|
||
/ ((windows:net_received_packets:rate{job="windows_exporter", nic!=""} + windows:net_sent_packets:rate{job="windows_exporter", nic!=""}) > 0)
|
||
) * 100 > 1
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsNetworkDiscards"
|
||
annotations:
|
||
description: "Packet discards on interface {{ $labels.nic }} on {{ $labels.instance }} have exceeded 1% of all packets for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsnetworkdiscards/"
|
||
summary: "Windows network packet discards are high"
|
||
expr: |
|
||
(
|
||
(windows:net_received_discarded:rate{job="windows_exporter", nic!=""} + windows:net_outbound_discarded:rate{job="windows_exporter", nic!=""})
|
||
/ ((windows:net_received_packets:rate{job="windows_exporter", nic!=""} + windows:net_sent_packets:rate{job="windows_exporter", nic!=""}) > 0)
|
||
) * 100 > 1
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsNetworkUtilizationHigh"
|
||
annotations:
|
||
description: "Traffic on interface {{ $labels.nic }} on {{ $labels.instance }} has exceeded 90% of its bandwidth in at least one direction for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsnetworkutilizationhigh/"
|
||
summary: "Windows network interface utilization is high"
|
||
expr: |
|
||
(windows:net_received_utilization:ratio{job="windows_exporter", nic!=""} * 100 > 90)
|
||
or (windows:net_sent_utilization:ratio{job="windows_exporter", nic!=""} * 100 > 90)
|
||
for: "15m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsNetworkInterfaceFlapping"
|
||
annotations:
|
||
description: "Interface {{ $labels.nic }} on {{ $labels.instance }} has changed its operational status more than twice in 5m."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsnetworkinterfaceflapping/"
|
||
summary: "Windows network interface is flapping"
|
||
expr: |
|
||
max without (status) (changes(windows_net_nic_operation_status{job="windows_exporter", nic!="", status="up"}[5m])) > 2
|
||
for: "2m"
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-service"
|
||
rules:
|
||
- alert: "WindowsServiceNotRunning"
|
||
annotations:
|
||
description: "Service {{ $labels.service }} on {{ $labels.instance }} starts automatically but has not been running for 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsservicenotrunning/"
|
||
summary: "Windows automatic service is not running"
|
||
expr: |
|
||
max without (state) (windows_service_state{job="windows_exporter", service!="", state="running"} == 0)
|
||
and ignoring (start_mode) (windows_service_start_mode{job="windows_exporter", service!="", start_mode="auto"} == 1)
|
||
unless ignoring (display_name, run_as, path_name, delayed_start, trigger_start) (windows_service_info{job="windows_exporter", service!="", trigger_start="true"} == 1)
|
||
for: "15m"
|
||
labels:
|
||
severity: "warning"
|
||
- alert: "WindowsServiceCrashLooping"
|
||
annotations:
|
||
description: "Service {{ $labels.service }} on {{ $labels.instance }} has restarted more than 2 times in 15 minutes."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowsservicecrashlooping/"
|
||
summary: "Windows service is restarting repeatedly"
|
||
expr: |
|
||
count without (process_id) (count_over_time(windows_service_process{job="windows_exporter", service!=""}[15m])) - 1 > 2
|
||
keep_firing_for: "5m"
|
||
labels:
|
||
severity: "warning"
|
||
- name: "windows-system"
|
||
rules:
|
||
- alert: "WindowsHostRebooted"
|
||
annotations:
|
||
description: "{{ $labels.instance }} rebooted {{ $value | humanizeDuration }} ago."
|
||
runbook_url: "https://prometheus-community.github.io/windows_exporter/runbooks/windowshostrebooted/"
|
||
summary: "Windows host has rebooted"
|
||
expr: |
|
||
(time() - windows_system_boot_time_timestamp{job="windows_exporter"}) < 600
|
||
and (time() - last_over_time(windows_system_boot_time_timestamp{job="windows_exporter"}[1h] offset 10m)) > 600
|
||
labels:
|
||
severity: "info"
|