Commit Graph
387 Commits
Author SHA1 Message Date
Jan-Otto Kröpke d6afd48819 mixin: address review findings on tier 1 alerts
WindowsHostRebooted compares against the last boot time of the previous
hour instead of the sample of ten minutes ago, so a scrape gap during
the reboot no longer suppresses the alert. WindowsServiceNotRunning
joins with ignoring() so instances with the same name in different
clusters do not match each other. Replacing the removed
networkErrorRateThreshold or networkDiscardRateThreshold knobs now
fails with a message naming the ratio thresholds.

The network error and discard runbooks describe the packet ratio, the
service runbooks explain PID reuse, shared host processes and selector
exclusions, and the tests cover alert recovery, a reboot after a scrape
gap and a service name repeated across clusters.

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 23:25:07 +00:00
Jan-Otto Kröpke b7333304d6 mixin: fix textlint terminology in the new runbook and agent notes
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 23:09:46 +00:00
Jan-Otto Kröpke ae5d0cca2a mixin: group alerts by collector area and add tier 1 alerts
The alerts of the mixin now come in one rule group per collector area
(windows-exporter, windows-cpu, windows-memory, windows-disk,
windows-network, windows-service, windows-system, windows-active-directory,
windows-time). Every alert names the collectors it reads and is generated
only when _config.collectors enables them, the same switch the dashboard
uses; enableActiveDirectory and enableTime set collectors.ad and
collectors.time. _config.alerts switches single alerts off by name, and an
unknown name fails the build.

New alerts for the default collectors: WindowsCollectorTimeout,
WindowsScrapeQueueTimeout, WindowsCPUSaturation (processor queue per core),
WindowsMemoryPagingHigh, WindowsNetworkUtilizationHigh,
WindowsNetworkInterfaceFlapping, WindowsServiceNotRunning (automatic
services without triggers), WindowsServiceCrashLooping (processes per
service in 15 minutes) and WindowsHostRebooted (info, fires once per
reboot). WindowsNetworkErrors and WindowsNetworkDiscards compare the error
and discard rates with the packet rate (networkErrorRatioThreshold and
networkDiscardRatioThreshold, in percent) instead of an absolute packet
rate. Threshold alerts set keep_firing_for from keepFiringFor (5m); the new
infoSeverity and serviceSelector knobs follow the existing ones.

New recordings: windows:cpu_queue_per_core:ratio,
windows:net_received_packets:rate and windows:net_sent_packets:rate.

Each new alert has a runbook, a README row and a unit test;
tests/alerts.test.jsonnet checks the collector gating, the alert switches
and the group layout. The runbook check renders the alerts of every
collector. contrib/mixin/AGENTS.md documents the checklist for new alerts.

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 23:06:59 +00:00
Jan-Otto KröpkeandClaude da7bebc6b3 pdh: convert all raw time counter types to seconds (#2776)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 22:54:44 +02:00
Jan-Otto KröpkeandClaude a9d5bbef48 docs: add Defender and disk health examples to the wmi collector (#2771)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 19:59:48 +00:00
Jan-Otto KröpkeandClaude dd5f441ac6 docs: clarify which raw performance counters need a multiplier (#2775)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 21:58:43 +02:00
Jan-Otto Kröpke be5942d943 installer: add SERVICE_ACCOUNT and document a least-privilege service account (#2769)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 21:49:21 +02:00
Jan-Otto KröpkeandClaude dfc5653376 performancecounter: add a multiplier option to convert values to base units (#2773)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 21:33:47 +02:00
Jan-Otto KröpkeandClaude db1ad936dc wmi: add a multiplier option to convert values to base units (#2772)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 21:33:35 +02:00
Jan-Otto KröpkeandClaude f6e8e67a00 docs: explain idle time rates above 1 for logical_disk and physical_disk (#2770)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 21:33:09 +02:00
Jan-Otto Kröpke 4ab9d475e1 cpu: hide small drops of the processor time counters (#2766)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 21:32:54 +02:00
Jan-Otto KröpkeandClaude 5b22eca06a registry: add a multiplier option to convert values to base units (#2774)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 21:32:00 +02:00
Jan-Otto Kröpke 4f8fc2baef service: add delayed_start and trigger_start labels to windows_service_info (#2768)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 21:30:11 +02:00
Jan-Otto Kröpke 4f3152d84d hyperv: add the vm_state sub-collector for VMs that are not running (#2765)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 21:21:21 +02:00
Jan-Otto Kröpke ea6126fb67 netframework: add process_id to all metrics and process filters (#2767)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 21:20:11 +02:00
Jan-Otto Kröpke 3555e9c4bc logical_disk: remove the *_latency_seconds_total counters (#2763)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 20:41:42 +02:00
Jan-Otto Kröpke f1e6b49c54 iis: add worker_responses_total as denominator for worker_request_errors_total (#2764)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 20:40:25 +02:00
Jan-Otto KröpkeandClaude 1e48663824 docs: move the 0.32 upgrade guide to docs/upgrade (#2753)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-16 12:08:02 +02:00
Jan-Otto Kröpke 667200f757 collector: name instance labels after the entity they identify (#2744)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 11:07:04 +02:00
Jan-Otto Kröpke 3fb18521f6 collector: publish base units and _total counter names (#2743)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 10:48:26 +02:00
Jan-Otto Kröpke dc8092f46d hyperv: label replica relationships with the VM ID (#2747)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 10:33:34 +02:00
Jan-Otto Kröpke 43d77f6869 pdh: report duplicate instances by occurrence instead of renaming them (#2742)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 09:58:43 +02:00
Jan-Otto Kröpke 2f5781ff13 headers: fail Build on missing native exports and assert MI/COM layouts (#2739)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 02:32:29 +02:00
Jan-Otto Kröpke 34738679a1 fix(service,iis,docs): flag error names, IIS help typo, mixin tooling and log.file default (#2732)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 21:24:06 +00:00
Jan-Otto Kröpke b914dbbf6e collector: scope the scrape slot to a collection and report queued scrapes (#2729)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 20:54:16 +00:00
Jan-Otto Kröpke 8c33aba631 mssql: fix units and types of cumulative and current counters (#2723)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 20:52:17 +02:00
Jan-Otto Kröpke 11aa13bb2f dns: fix zone transfer counter mapping and count queued dynamic updates (#2718)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 20:42:01 +02:00
Jan-Otto Kröpke 8138b2e073 iis: fix types, units and names of app pool, queue and worker metrics (#2715)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 20:34:37 +02:00
Jan-Otto Kröpke 04ec4a0308 adfs: convert database query times with the counter time base (#2719)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 20:32:10 +02:00
Jan-Otto Kröpke b36429d07e dfsr: publish bandwidth savings and USN journal unread as ratios (#2714)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 18:31:17 +00:00
Jan-Otto Kröpke 49c955c5a5 ad: fix swapped and misread counters, correct metric units and types (#2717)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 18:02:18 +00:00
Jan-Otto Kröpke 55275e7db1 hyperv: fix misnamed root partition metrics, counter types and units (#2720)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 17:58:31 +00:00
Jan-Otto Kröpke 8fe85c143b memory: publish pool allocation counts as gauges (#2721)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 17:58:18 +00:00
Jan-Otto Kröpke 94b0eff655 pagefile: read the paging file size from the % Usage base (#2722)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 17:57:30 +00:00
Jan-Otto Kröpke b90371616b logical_disk: remove the avg_*_requests_queued gauges (#2724)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 19:46:00 +02:00
Jan-Otto Kröpke d10875c43d remote_fx: fix swapped skipped-frame counters and sample fraction rates (#2716)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-15 19:33:06 +02:00
3436b785fd docs: clarify Hyper-V DataStore, Cluster Shared Volumes and storage pools (#2711)
Signed-off-by: EisenbergD <dominik.eisenberg@beiersdorf.com>
Co-authored-by: EisenbergD <dominik.eisenberg@beiersdorf.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:45:22 +02:00
Jan-Otto KröpkeandClaude 9015955cfa smb: fix metric types and names, extend 32-bit counters in smb and smbclient (#2710)
Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-10-15 15:59:42 +02:00
Jan-Otto KröpkeandClaude 6b82e5a05f terminal_services: keep session_info when the Terminal Services Session object is missing (#2708)
Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-10-15 11:22:35 +02:00
Jan-Otto KröpkeandClaude 9147165ebc scheduled_task: skip filtered folders, exclude Windows tasks and missed runs by default (#2700)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-10-12 21:40:44 +02:00
ec7dcdc259 hyperv: add virtual_hard_disk sub-collector (#2693)
Signed-off-by: EisenbergD <dominik.eisenberg@beiersdorf.com>
Co-authored-by: EisenbergD <dominik.eisenberg@beiersdorf.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:23:46 +02:00
Jan-Otto KröpkeandClaude 89c5df9d8b iis: document the 250 ms Web Service counter refresh wait (#2701)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-12 16:59:59 +02:00
Jan-Otto KröpkeandClaude 491bb0de73 memory: rename commit_limit, drop free system PTEs, add standby cache lifetime (#2694)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 23:03:30 +02:00
Jan-Otto KröpkeandClaude cd7acb5618 dmi: add BIOS, baseboard, chassis, product family and SKU labels (#2692)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 22:41:16 +02:00
Jan-Otto KröpkeandClaude ae58ced3b4 logical_disk: cache volume info, read free space live, tolerate failing volumes (#2691)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 21:10:02 +02:00
Jan-Otto KröpkeandClaude e88c8a712c update: include optional updates such as the monthly preview update (#2688)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 20:47:53 +02:00
Jan-Otto Kröpke be5036dfa8 system: read the boot time from the kernel on every scrape (#2690)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-11 20:47:11 +02:00
Jan-Otto KröpkeandClaude 9869fb12d1 net: match PDH adapter names, format full MAC addresses, reuse buffers (#2689)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 20:44:44 +02:00
Jan-Otto KröpkeandClaude 08bcab7f9a terminal_services: fix swapped cpu_time labels, pending broker gauge, shared PDH query and series caching (#2687)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 20:41:28 +02:00
Jan-Otto KröpkeandClaude e6d1f00d1f service: cache service configurations between scrapes (#2674)
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
2026-10-11 14:04:56 +02:00