PRTG – Custom Sensors an Probe Server verteilen

Bei meinem aktuellen Brötchengeber pflegen wir eine grössere Infrastruktur, welche auch nicht mehr mit nur einem PRTG Server auskommt. Aktuell Überwachen wir rund 800 Devices mit ca. 11’000 Sensoren – Tendenz steigend – mit Probe Server an verschiedenen Standorten.

Jeder PRTG Administrator mit ähnlichen Voraussetzungen kennt das Problem wenn nicht nur mit den standardmässig mitgelieferten Sensoren gearbeitet wird: ein neuer Custom Sensor muss an jeden Probe Server verteilt werden falls das Device einmal innerhalb der Konfiguration verschoben wird.

Um diesen simplen Kopiervorgang ein wenig zu automatisieren habe ich ein kleines Batch-Skript geschrieben, welches am Ende des Artikels heruntergeladen werden kann.



Da mit Schleifen gearbeitet wird, muss zuerst das Timeout zur Auflösung der Variablen erhöht werden:

Setlocal EnableDelayedExpansion

Quelle: https://ss64.com/nt/delayedexpansion.html

Das Skript besteht aus fixen Variablen wie dem PRTG Core-Server sowie dem Pfad der Sensoren sowie anschliessend aus wechselnden Variablen, den PRTG Probe-Servern. Als erstes setzen wir jedoch die fixen:

SET SensorPath=C$Program Files (x86)PRTG Network MonitorCustom Sensors
SET PRTGServer=prtgcore.domain.pit

Im nächsten Schritt wird das Array für die verschiedenen Probe-Server erstellt. Jeder zusätzliche Server benötigt eine eigene Zeile, in welcher die Zahl in den eckigen Klammern erhöht werden muss. Die letzte Zeile dient als Start für die Kalkulation der Anzahl Probes:

SET PRTGProbe[0]=prtgprobe1.domain.pit
SET PRTGProbe[1]=prtgprobe2.domain.pit
SET PRTGProbe[2]=prtgprobe3.domain.pit
SET PRTGProbes=0

Nach dem Erstellen des Arrays muss die Anzahl für die folgende Schlaufe ermittelt werden. In meinen ersten Testläufen wurde die Schlaufe dann jeweils einmal zu viel abgearbeitet, weshalb ich das Resultat der Kalkulation um 1 reduziere. Falls hier jemand eine bessere Idee hat, dann darf gern das Kommentarfeld benutzt werden:

IF defined PRTGProbe[%PRTGProbes%] (
SET /a "PRTGProbes+=1"
GOTO PRTGCount
)

SET /a PRTGProbes=%PRTGProbes%-1

Abschliessend wird mittels Schlaufe ein Robocopy Befehl für jeden Probe-Server abgesetzt, welcher den Inhalt des Ordners „Custom Sensors“ verteilt:

FOR /l %%n in (0,1,%PRTGProbes%) do (
ROBOCOPY "%PRTGServer%%SensorPath%" "!PRTGProbe[%%n]!%SensorPath%" /E /R:1 /W:1 /COPYALL
)

Viel Spass beim Nachbauen.




PRTG – SNMP Konfiguration

Die im letzten Beitrag vorgestellten Monitoring-Software PRTG von Paessler kann auf diverse Arten die Umgebung überwachen: Ping, WMI und natürlich auch SNMP. Mit WMI lässt sich zwar im Windows Umfeld viel Abfragen, jedoch geht dies zu Lasten der Leistung sowie die Zuverlässigkeit ist auch nicht immer gegeben. Schnell und zuverlässig hingegen funktioniert SNMP.
In diesem Artikel möchte ich kurz aufzeigen, wie dies im PRTG, Windows und div. anderen Produkten konfiguriert wird.

PRTG

Sinnvollerweise definiert man die SNMP Community auf höchster Ebene im PRTG, mittels Rechtsklick:

Anschliessend konfiguriert man die SNMP Community:

Die Einstellung wird über die komplette PRTG Hierachie vererbt, kann jedoch für einzelne Bereiche oder Geräte angepasst werden.

Windows (über GPO)

Damit SNMP bei Windows funktioniert muss das Feature SNMP Service / SNMP Dienst installiert werden, sofern nicht bereits geschehen.

Als weiteren Schritt konfiguriert man eine GPO, in welcher der Start vom SNMP Dienst sichergestellt und dieser konfiguriert wird:

Computer Configuration > Policies > Windows Settings > Security Settings > System Services > SNMP Service > Startup Mode: Automatic

Computer Configuraton > Policies > Administrative Templates > Network SNMP
> Specify Communites: die zuvor definierte Community (im Beispiel: prtgpit)
> Specify permitted managers: die IP vom PRTG Server sowie Localhost (127.0.0.1) damit der PRTG Server sich selbst abfragen darf
> Specify traps for public community: die zuvor definierte Community

Spätestens nach einem Neustart des SNMP Dienstes kann man nun im PRTG ein Autodiscovery auf diesem Server laufen lassen.

Citrix XenServer

Für den XenServer musste ich ein wenig forschen, bin dann aber im Blog von gimpland.org fündig geworden. Hier der entsprechende Auszug, der auch für XenServer 7.x Gültigkeit hat:

  1. Bearbeite die Datei: /etc/sysconfig/iptables
    Nach der Linie “-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT” folgende Einträge hinzufügen (müssen exakt so sein), der Kommentar dient zur visuellen Hilfe:

     # SNMP
     -A RH-Firewall-1-INPUT -p udp --dport 161 -j ACCEPT
     -A RH-Firewall-1-INPUT -p udp --dport 162 -j ACCEPT
  2. Die XenServer interne Firewall neu starten: service iptables restart
  3. Bearbeite die SNMP Konfiguration:  /etc/snmp/snmpd.conf und ändere den public Community string in die zuvor definierte Community
     # First, map the community name "public" into a "security name"
     # sec.name source community
     com2sec notConfigUser default public
  4. Aktivieren und Einlesen der SNMP Konfiguration: chkconfig snmpd on
  5. Neustart vom XenServer SNMP Dienst: service snmpd restart

Dieser Vorgang muss für jeden XenServer Host durchgeführt werden.

Anschliessend kann man auch hier im PRTG ein Autodiscovery auf den XenServern starten und abwarten.

Citrix NetScaler

In der NetScaler GUI kann man einfach die Community und die Manager eintragen. Ist meines Erachtens sehr selbsterklärend.
Ich führe hier deshalb die CLI Befehle auf (prtgpit ist die definierte Community und 192.168.100.79 der PRTG Server):

add snmp community prtgpit ALL
add snmp trap generic 192.168.100.79 -communityName prtgpit
add snmp trap specific 192.168.100.79 -communityName prtgpit -severity Warning

Weiter können im GUI oder via CLI die einzelnen SNMP Alarme ein-/ausgeschaltet sowie die Schwellwerte dafür konfiguriert werden.

ZyXEL ZyWALL USG-20

In der ZyWALL Konfiguration findet man die SNMP Einstellungen unter Configuration > System > SNMP:

Analog wie hier aufgeführt sind andere Geräte zu konfigurieren.

Viel Spass Nachbauen :-)




PRTG – Professionelles Monitoring zum vernünftigen Preis

Immer wieder wurde ich von meinen Kursteilnehmern gefragt, welche Monitoring-Lösung ich verwenden würde. Bisher waren mir Produkte wie SCOM, Nagios etc. bekannt. Seit meinem Arbeitgeberwechsel durfte ich ein neues Produkt kennenlernen.

PRTG von Paessler ist ein intuitives Monitoring-Programm, welches schnell zu erlernen ist. Gerne werde ich in Zukunft auch öfter über Konfigurationen hier schreiben.

Nachdem ich das Produkt das erste Mal gesehen habe, wollte ich es ausprobieren. Auf der Homepage der Nürnberger Softwarefirma findet man relativ schnell eine vollwertige Trial-Version, welche nach Ablauf der Testphase zu einer auf 100 Sensoren limitierte wird –> Homepage

Die Installation war ohne weitere Probleme durchgeführt. PRTG kommt ohne SQL Datenbank aus, so dass man auch hier auf weitere Lizenzen verzichten kann. Nach dieser startet das Auto Discovery und das Grundsetup ist abgeschlossen.

Für ein effizienteres Monitoring empfiehlt es sich SNMP auf den Servern und Geräten zu konfigurieren. Hierzu später mehr…

Die Geräte und Sensoren können nach Belieben sortiert werden:

Für einen ersten Überblick oder für verschiedene Helpdesk können mit sogenannten Maps die Daten bedarfsgerecht aufbereitet und dargestellt werden:

Preislich ist PRTG sicherlich teurer wie eine reine Opensource Lösung, dafür muss man weniger „basteln“ wie bei manch einem anderen Produkt. Es gibt in der Funktion keine Differenzierung der Editionen, sondern es werden die Anzahl Sensoren (Messpunkte) lizenziert. Die Preise sind meiner Meinung nach gerechtfertigt und das Preis-/Leistungsverhältnis nahezu perfekt.

Viel Spass beim Ausprobieren :-)