MySQL Replikation mit PRTG überwachen

Mit dem Monitoring-Tool PRTG lassen sich mittlerweile eine Vielzahl von Sensoren überwachen. Auch MySQL-Sensoren stehen zur Auswahl. Damit lässt sich aber leider nicht direkt die Ausgabe des Slave-Status bei einer replizierten MySQL-Datenbank abfragen. Dies geht nur über einen kleinen, aber einfachen Umweg.

Wir erstellen uns ein Skript, dass entsprechend den Vorgaben von PRTG eine Ausgabe erzeugt, die der PRTG-Server dann wiederum verarbeiten und darstellen kann.

Unter /var/prtg/scripts/ wird am MySQL-Server dann folgende Datei abgelegt:


#!/bin/bash

SQLout=`mysql -u root --password=xxxxx test -e "show slave status \G" | grep -i "Slave_SQL_Running"|awk '{print $2}'`
IOout=`mysql -u root --password=xxxxx test -e "show slave status \G" | grep -i "Slave_IO_Running"|awk '{print $2}'`

if [ "$SQLout" = "No" ] || [ "$IOout" = "No" ]; then
echo "4:1:Replikationsfehler"
exit 1
fi

echo "0:0:OK"
exit 0

Im Skript natürlich noch das entsprechende MySQL-Root-Passwort hinterlegen. Am PRTG-Server wird dann ein Script-Sensor erstellt und das abgelegte Skript ausgewählt.

Schreibe einen Kommentar