Monitoring mit Munin einrichten – Teil 2

Donnerstag, 23. März 2017, in Application Platform, von Thomas Vogel

Monitoring mit Munin einrichten – Teil 2

Im Teil 1 dieser Anleitung ging es darum, das Monitoring mit Munin für einen Server aufzusetzen und diesem Linux-basierte Nodes hinzuzufügen. Da Systeme jedoch oft sehr heterogen sind, kann es erforderlich werden, Microsoft-Windows-Systeme zu überwachen. Daher beschäftigt sich dieser Teil der Anleitung damit, wie man mit Munin-Monitoring Windows-Nodes überwachen kann.

Es stehen verschiedenste Munin-Node-Packages zur Verfügung. Ich verwende den Munin-Node von Jory Stone. Diesen Munin-Node gibt es schon seit Jahren; aus meiner Sicht ist er sehr stabil und funktioniert auf allen verfügbaren Versionen von Microsoft Windows. Der Node ist einfach zu installieren – ein kleiner Installer installiert den Munin-Client als Dienst. Der wichtigste Grund, warum ich diesen Munin-Node verwende, ist dessen Flexibilität hinsichtlich der Windows Leistungsindikatoren, die er überwachen kann. Munin-Node kann jeden Leistungsindikator überwachen, den es für das Betriebssystem gibt (siehe Windows Performance Monitor – Perfmon.exe). Daher können Leistungsindikatoren, die dem Betriebssystem beim Installieren zusätzlicher Software hinzugefügt wurden, auch im Munin-Node ergänzt werden (beispielsweise Leistungsindikatoren für SQL-Server). Wenn man den Leistungsindikator, für den man sich interessiert, im Windows-Performance-Monitor (Perfmon.exe) findet, kann man ihn auch im Munin-Node verwenden.

Den Munin-Node-Win32 kann man hier herunterladen: https://code.google.com/archive/p/munin-node-win32/downloads. Ich verwende munin-node-win32-1.6.1.0-installer-beta.exe, um das Munin-Node-Package auf Windows-Servern zu installieren.

Das standardmäßige Installationsverzeichnis ist C:\Program Files (x86)\Munin Node for Windows\.

Nach der Installation startet der Dienst unter Anwendung seiner Standardkonfiguration. Eine Firewall-Regel wird ebenfalls erzeugt.

Munin-Node-Win32 ist open-source. Die Quelldateien sind auf GitHub erhältlich: https://github.com/munin-monitoring/munin-node-win32.

Konfiguration

Windows-Firewall

Die Installation von Munin-Node beinhaltet die Konfiguration einer Windows-Firewall-Regel. Die Standardregel erlaubt, dass der Munin-Dienst Verbindungen von privaten Netzwerken zulässt. Dies entspricht den gängigen Setups. In einigen Fällen kann es jedoch sein, dass man diese Regel ändern und an eigene Anforderungen anpassen möchte (z. B. Domänen-Netzwerke zulassen oder Verbindungen nur von der IP-Adresse des Munin-Servers unterbinden).

Windows-Node zur Munin-Server-Konfiguration hinzufügen

Um das Monitoring eines zusätzlichen Hosts zu ermöglichen, muss die Konfigurationsdatei /etc/munin/munin.conf auf dem Munin-Server geändert und der neue Host hinzugefügt werden (mehr Informationen dazu im Teil 1 dieser Blog-Artikel-Serie).

Im folgenden Konfigurationsabschnitt wird beispielhaft der Host “WindowsNode” hinzugefügt:

Node konfigurieren

Die Munin-Node-Konfiguration ist in der INI-Datei munin-node.ini enthalten, die man im Installationsverzeichnis des Munin-Nodes finden kann (normalerweise in C:\Program Files (x86)\Munin Node for Windows). Um die Konfiguration zu ändern, sollte ein Editor wie Notepad verwendet werden.

Nachdem die Konfigurationsdatei geändert worden ist, muss man den Munin-Dienst neu starten, damit die Änderungen wirksam werden.

Am Ende dieses Blog-Artikels finden Sie Links zum Herunterladen meiner Standardkonfiguration.

Die Standardkonfiguration enthält einige Basis-Sensoren, die überwacht werden sollen. Viele dieser Sensoren sind Hardware-spezifisch (z. B. Lüftergeschwindigkeit, CPU-Temperatur usw.). Diese Hardware-spezifischen Sensoren sollten für virtuelle Server deaktiviert werden (auf 0 setzen). Um die virtuellen ProfitBricks-Server zu überwachen, habe ich nur folgende standard Sensor-Plugins aktiviert:

  • Disk=1
  • Memory=1
  • Processes=1
  • Network=1

Für ein detailliertes Munin-Monitoring meiner Server benutze ich das PerfCounterPlugin. Die folgenden Performance-Zähler sind in meiner Konfiguration enthalten:

Storage:

  • Disk IOPS:
    • Object=Physical Disk
    • Counter=Disk Transfers/sec
  • Disk Throughput:
    • Object=PhysicalDisk
    • Counter=Disk Bytes/sec
  • Disk Latency
    • Object=PhysicalDisk
    • Counter=Avg. Disk sec/Transfer
  • Disk Utilization
    • Object=PhysicalDisk
    • Counter=% Disk Time
  • Disk Queue depth
    • Object=PhysicalDisk
    • Counter=Avg. Disk Queue Length
  • Disk IO Size
    • Object=PhysicalDisk
    • Counter=Avg. Disk Bytes/Transfer

CPU:

  • Processor Time
    • Object=Processor
    • Counter=% Processor Time

Network:

  • NIC Packet count
    • Object=Network Interface
    • Counter=Packets/sec
  • NIC Bandwidth
    • Object=Network Interface
    • Counter=Bytes Total/sec
  • NIC Errors
    • Object=Network Interface
    • Counter=Packets Outbound Errors
    • Object=Network Interface
    • Counter=Packets Received Errors

System:

  • Uptime
    • Object=System
    • Counter= System Up Time

Memory:

  • PageFile Usage
    • Object=Paging File
    • Counter=% Usage
  • Memory commited Bytes in Use
    • Object=Memory
    • Counter=% Committed Bytes In Use
  • Pages per Second
    • Object=Memory
    • Counter=Pages/Sec
  • Page Faults per Second
    • Object=Memory
    • Counter=Page Faults/sec

Ein typischer PerfCounterPlugin-Abschnitt in der munin-node.ini sieht wie folgt aus (ich verwende den Zähler für Festplatten-IOPS als Beispiel):

Die munin-node.ini kann mehrere PerfCounterPlugin-Abschnitte enthalten. Deren Header wird aus dem Schlüsselwort PerfCounterPlugin, einem Unterstrich (_) und einem Kurznamen gebildet, um den Sensor zu identifizieren und wird in eckigen Klammern angegeben[PerfCounterPlugin_iops].

Die Schlüsselworte Object und Counter identifizieren den zu überwachenden Windows-Leistungsindikator. Munin Performance Monitor

Dieses Bild zeigt den Dialog “Zähler hinzufügen” (“Add Counter”) der Windows perfmon.exe. Benutzen Sie diese, um den Zähler zu finden, den Sie überwachen möchten.

Folgenden Schlüsselwörtern kommt dabei jeweils folgende Bedeutung zu:

  • CounterFormat definiert das numerische Format des Zählers.
  • CounterMultiply definiert die Skalierung, mit welcher der Zähler in Munin angezeigt wird. Den Windows-Uptime-Zähler beispielsweise zählt die Uptime in Sekunden. Ich möchte aber die Uptime im Munin in Tagen angezeigt bekommen. Ein Tag entspricht 60 Sekunden x 60 Minuten x 24 Stunden = 86400 Sekunden. Daher ist CounterMultiply im Abschnitt [PerfCounterPlugin_uptime]  1.1574074074074073e-005 (= 1/86400).
  • GraphTitle definiert den Text, der in dem String über dem Munin-Graphen angezeigt wird.
    GraphTitle
  • GraphCategory definiert die Munin-Kategorie, in welcher der Graph auf der Webseite angezeigt wird. Man ist für die Anzeige auf der Webseite nicht auf Standardkategorien beschränkt. Bei Bedarf können eigene Kategorien verwendet werde.
    Munin-Kategorien
  • GraphArgs definiert das genaue Verhalten der Darstellung eines Graphen:
    • Mit dem Argument –base 1000 wird für den Graphen die dezimale Darstellung eingestellt. Alternativ kann man auch –base 1024 für die binäre Skalierung (z. B. von Kilo oder Mega) benutzen.
    • Das Argument -l 0 bestimmt die untere Grenze zu Null.
      Eine vollständige Liste der Argumente für GraphArgs findet sich in der Munin-Dokumentation unter: http://guide.munin-monitoring.org/en/latest/example/graph/graph_args.html.
  • GraphDraw legt den Stil des Graphen fest (LINE oder AREA; AREA wird in meiner Konfiguration für Uptime benutzt).
  • DropTotal is nützlich für Windows-Performance-Zähle mit mehreren Instanzen (CPU, Festplatten, NICs). Solche Zähler haben einen Wert für jede Instanz und einen Zähler für die Gesamtsumme (Summe aller Instanzen). Um die Gesamtsumme aus dem Monitoring auszuschließen, wird DropTotal=1 gesetzt.

Sprachabhängigkeiten

Die Anzeigenamen für Objekte und Zähler sind in Windows lokalisiert. Wenn man eine andere Version verwendet als die englische Winows-Version, müssen die Objekt- und Zählernamen mit der Sprache der verwendeten Windows-Version übereinstimmen. Am Ende dieser Anleitung finden Sie ein englisches und ein deutsches Beispiel für eine munin-node.ini.

Downloads

munin-node.ini für Windows in Systemsprache Englisch: munin-node.ini.en.txt

munin-node.ini für Windows in Systemsprache Deutsch: munin-node.ini.de.txt

Die heruntergeladene Datei unter dem Namen Munin-node.ini in C:\Program Files (x86)\Munin Node for Windows\ speichern. Anschließend den Munin Dienst neu starten.

Hinterlasse eine Antwort

* Pflichtfeld

© 2012-2017 by ProfitBricks