Tags: Monitoring, Open Source
Prometheus ist ein quelloffenes Monitoring-System, das auf mehreren Plattformen läuft. Es kann eine Vielzahl von verschiedenen Endpunkten überwachen. Eine komplette Lösung benötigt zusätzliche Komponenten wie Grafana oder Alertmanager. Diese Anleitung zeigt, wie man das Kernsystem unter Windows einrichtet.
Prometheus kann den Health-Status und die Performance von Servern, Clouds oder virtualisierten Infrastrukturen überwachen. Admins generieren damit Reports, visualisieren Daten mit Grafana und lassen sich per Alert benachrichtigen (siehe dazu: Open-Source-Monitoring: Prometheus im Überblick).
Download und Installation
Im ersten Schritt lädt man die Installationsdatei, aktuell ist dies prometheus-2.17.1.windows-amd64.tar.gz, von der Website des Prometheus-Projekts herunter. Diese entpackt man anschließend mit einem Archiv-Tool wie 7-zip, erst die gzip- und dann die tar-Datei, anschließend entnimmt man die eigentlichen Installationsmedien.
Es ist nicht ratsam, die Files auf die Partition C zu entpacken, weil Prometheus in diesem Ordner standardmäßig die Logs sammelt. Allerdings kann man nachträglich die Konfiguration für das Log-Verzeichnis so anpassen, dass der Pfad auf ein anderes Volume zeigt.
Konfiguration
Die YAML-Datei prometheus.yml enthält die komplette Konfiguration des Tools.
Wichtig sind die im obigen Screenshot markierten Felder global config und der scrape_configs. Ersteres enthält den Parameter scrape_interval, welcher die Pull-Intervalle für den Abruf der Daten festlegt, in diesem Fall auf 15 Sekunden. Die Abstände lassen sich verkürzen oder erweitern, aber erfahrungsgemäß erweisen sich die 15 Sekunden als angemessener Wert.
In die scrape_configs werden verschiedene Jobs und die entsprechenden Targets eingetragen. Wie Sie sicherlich bemerkt haben, ist unter den Targets bereits der eigene Server eingetragen. Prometheus erfasst dadurch auch seine eigene Metriken.
Der job_name fungiert hierbei als Tag. Eine sinnvolle Anwendung wäre beispielsweise die Unterteilung der Jobs in solche für Testsysteme und die produktive Umgebung.
Neben diesen Parametern existieren noch Konfigurationen für eigene Rulesets und einen Alertmanager, die hier aber keine Rolle spielen.
Start der Anwendung
Nachdem das Config-File soweit angepasst wurde, kann man Prometheus über die prometheus.exe starten.
Aus ihren Output geht hervor, dass die zuvor angepasste Konfigurationsdatei erfolgreich geladen wurde und dass die Anwendung auf Port 9090 hört.
Web-Konsole starten
Das Admin-Interface ist jetzt standardmäßig unter http://localhost:9090 erreichbar.
Die Konsole wirkt recht spartanisch und dient primär dem Abruf gesammelter Daten und deren grafischer Darstellung. Über das Drop-down-Menü lassen sich Metriken auswählen, über das Feld Expression setzt man PromQL-Statements (ähnlich SQL) ab.
Für folgendes Beispiel greife ich auf die Metrik scrape_duration_seconds zurück, also die Durchführungsdauer eines Scrapes in Sekunden.
Die Ausgabe kann über die Console oder durch einen Graphen mit zeitlichem Verlauf darstellen lassen.
Die Diagramme sind recht rudimentär gehalten. Für das Dashboarding empfiehlt die Prometheus-Community deshalb offiziell Grafana. Der Prometheus-Server wird dann lediglich noch als Pull-Collector genutzt.
Konfiguration von Prometheus als Windows-Service
Um Prometheus nicht als reinen Task im User-Kontext zu starten, bietet es sich an, das Tool als Windows-Service auszuführen.
Dazu kann man die Software NSSM nutzen. Nach dem Download entpackt man sie in das existierende Prometheus-Verzeichnis. Danach legt man den Service in einer Kommandozeile mit erhöhten Rechten an:
.\nssm.exe install <servicename> <Pfad zu Prometheus.exe>
Anschließend findet sich der Service unter den Windows-Diensten. Diesen kann man dort manuell starten oder gleich für die automatische Ausführung konfigurieren.
Sobald der Dienst läuft, ist das Web-Interface auch wieder unter <servername>:9090 erreichbar.
Täglich Know-how für IT-Pros mit unserem Newsletter
Philip Lorenz hat mehrjährige Erfahrung als Administrator im Datacenter-Umfeld. Hierbei liegen seine Schwerpunkte auf der Administration von Windows Server, der Betreuung von VMware-Produkten und Microsoft Azure.
// Kontakt: E-Mail, Xing, LinkedIn, Website //
Der Powershell-Expertenkurs von LearningIT knüpft direkt an den kostenlosen Grundkurs an. Er vermittelt in über 5 Stunden hochwertiges Wissen und Know-how. Dabei wird der Kurs immer um weitere Themen und Livescripting-Videos erweitert.
Mit dem Code "windowspro" sicherst du dir 10% Rabatt! - Zum Kurs
Verwandte Beiträge
Weitere Links