23.06.2010
21:34 von
TBT
Nagios Überwachung der MySQL Replikation
Hallo,
da ich selber gerade dabei bin meine Überwachung mit Nagios3 etwas aufzumöbeln, hier ein kleiner Tipp wie man damit die Master-Slave-Replikation von MySQL überwacht.
Erstmal legt man in der Datei /etc/nagios3/command.cfg ein Befehl zur Abfrage des MySQL Servers an
danach wird der Service in der /etc/nagios3/conf.d/services_nagios2.cfg angelegt
USERNAME: ein MySQL mit "Super" Recht um die Replikation abzufragen
PASSWORT: das dazugehörige Passwort
WARNING: Sekunden, die der Slave hinterhinken darf, bis eine Warning ausgelöst wird
CRITICAL: Sekunden, die der Slave hinterhinken darf, bis eine Critical Meldung ausgelöst wird
außerdem wird der Service noch mit den entsprechenden Rechnern durch eine hostgroup verbunden in Datei /etc/nagios3/conf.d/hostgroups_nagios2.cfg
wenn alles geklappt hat, sollten die Üerwachungsausgaben in Nagios in etwa so aussehen:
Uptime: 1141150 Threads: 6 Questions: 6791280 Slow queries: 238 Opens: 1881 Flush tables: 2 Open tables: 215 Queries per second avg: 5.951 Seconds behind Master: 0
da ich selber gerade dabei bin meine Überwachung mit Nagios3 etwas aufzumöbeln, hier ein kleiner Tipp wie man damit die Master-Slave-Replikation von MySQL überwacht.
Erstmal legt man in der Datei /etc/nagios3/command.cfg ein Befehl zur Abfrage des MySQL Servers an
Code
1
2
3
4
2
3
4
define command {
command_name check_mysqld_slave
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -S -w $ARG3$ -c $ARG4$
}danach wird der Service in der /etc/nagios3/conf.d/services_nagios2.cfg angelegt
Code
1
2
3
4
5
6
7
2
3
4
5
6
7
define service {
hostgroup_name mysql-servers-slave
service_description MySQL
check_command check_mysqld_slave![USERNAME]![PASSWORT]![WARNING]![CRITICAL]
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}USERNAME: ein MySQL mit "Super" Recht um die Replikation abzufragen
PASSWORT: das dazugehörige Passwort
WARNING: Sekunden, die der Slave hinterhinken darf, bis eine Warning ausgelöst wird
CRITICAL: Sekunden, die der Slave hinterhinken darf, bis eine Critical Meldung ausgelöst wird
außerdem wird der Service noch mit den entsprechenden Rechnern durch eine hostgroup verbunden in Datei /etc/nagios3/conf.d/hostgroups_nagios2.cfg
Code
1
2
3
4
5
2
3
4
5
define hostgroup {
hostgroup_name mysql-servers-slave
alias MySQL Servers
members mysql2
}wenn alles geklappt hat, sollten die Üerwachungsausgaben in Nagios in etwa so aussehen:
Uptime: 1141150 Threads: 6 Questions: 6791280 Slow queries: 238 Opens: 1881 Flush tables: 2 Open tables: 215 Queries per second avg: 5.951 Seconds behind Master: 0
Werbung
23.06.2010
21:37 von
TBT
eine verzögerte bzw. nicht aktuelle Replikation hat solch eine Meldung (samt zugehöriger eMail)in Nagios zur Folge
SLOW_SLAVE CRITICAL: Slave IO: Yes Slave SQL: Yes Seconds Behind Master: 2846728
Ok, dieser Server war eine Weile aus, und muss erstmal richtig "nacharbeiten"
SLOW_SLAVE CRITICAL: Slave IO: Yes Slave SQL: Yes Seconds Behind Master: 2846728
Ok, dieser Server war eine Weile aus, und muss erstmal richtig "nacharbeiten"

23.06.2010
21:53 von
Gast
http://labs.con ... ck_mysql_health kann master-slave-Überwachung und noch vieles, vieles mehr. Wir setzen dieses Plugin ein und brauchen sonst keins mehr. Man kanns auch ganz einfach um eigene, firmenspezifische Checks erweitern.
23.06.2010
22:39 von
wotan
Danke für dies tolle Tut.