Windows-Exporter
|
|
Der Windows-Exporter stellt das Windows-Pendant zu sowohl dem Node-Exporter als auch dem Process-Exporter dar.
Er exposed Zustandswerte des Windows-Host, z.B.:
-
CPU-Auslastung
-
RAM-Auslastung
-
Festplattenauslastung
-
Netzwerkdurchsatz
-
IO-Last
Zusätzlich stellt er aber auch Statistiken auf Prozess-/Service-Ebene bereit.
Konfiguration
Die Konfiguration befindet sich unter vimon/config/windows_exporter/windows_exporter.yml
.
Kollektoren
In der Datei werden die Kollektoren aktiviert. Ein Grundumfang an Kollektoren ist in der Standard-Konfiguration bereits aktiviert.
Eine vollständige Liste aller möglichen Kollektoren befindet sich unter GitHub - Prometheus Kollektoren. Außerdem werden hier auch die Kollektoren selbst konfiguriert, wie beispielsweise die Services und Prozesse für das Reporting einzelner Prozesse.
Prozesse und Services
Prozesse und Services können unter Windows analog zum Process-Exporter überwacht werden.
Allerdings ist hier keine einfache Gruppierung möglich.
Die Ermittlung der relevanten Prozesse erfolgt über die Kollektor-Konfiguration, wobei auch mit Wildcards gearbeitet werden kann, z.B.:
collector:
service:
services-where: "Name='vimon_windows_exporter' OR Name='inubit-7.4' OR Name='bpc-elasticsearch' OR Name='bpc-karaf'"
process:
whitelist: "java+|karaf+|elasticsearch+"
Den Namen eines Prozesses kann man über den Taskmanager ermitteln. Hierbei ist die Dateiendung nicht Teil des Namens:
Man erhält mit der oberen Konfiguration beispielsweise folgende Metrik:
windows_process_cpu_time_total{creating_process_id="4640", instance="xxxxx:9191", job="wmi", mode="privileged", process="java", process_id="7716"}
Da der Prozessname java
nicht unbedingt eindeutig sein muss, sollte man die Abfragen über die PID vornehmen - diese ändern sich aber bei jedem Serviceneustart.
Man kann jedoch eine Verknüpfung über den Service-Collector erreichen:
windows_process_cpu_time_total * on (process_id) group_left (name) windows_service_info{name="inubit bpm 7.4 service"}
Wenn der INUBIT-Service über NSSM installiert wurde, funktioniert dies nicht. Der NSSM-Service hat seinen eigenen Prozess, der wiederum den Java-Prozess startet (mit separater PID). |