mysql überwachungsscript (syslog, slave mode)

Post Reply
Message
Author
.tim

mysql überwachungsscript (syslog, slave mode)

#1 Post by .tim »

Hallo alle zusammen,

Auf meinem ersten Server läuft MySQL im Master-Mode auf meinem zweiten im Slave-Mode. Es funktioniert alles. Nur was ist wenn es nicht mehr funktioniert?

In diesem Fall möchte ich gerne per SMS/Email wie auch immer informatiert werden. Sobald es Probleme mit der Synchronisation am Slave gibt wird ein Syslogeintrag erstellt.

Um nicht ständig eine Datei im Syslog parsen zu müssen und zu überprüfen ob der Fehler alt oder aktuell ist, würde ich gerne dem syslog Dämon oder mysql sagen, dass Fehler an einen "Prozess" gesendet werden.

Was könnt ihr mir empfehlen? Vielleicht hattet ihr das auch schon umgesetzt.

Lasst mich bitte eure Ideen hören.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Eine gültige Direktive in den "destination"s von syslog-ng ist
"program()". Das dürfte ungeführ das tun, was du möchtest. Vorher in der syslog-ng.conf passende Filter einrichten und nur das passende in das Programm reinschaufeln lassen.

http://home.datacomm.ch/prutishauser/te ... -ng-de.txt

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

.tim

#3 Post by .tim »

Danke für die Antwort das hört sich gut an.
Leider gibt es auf meinem System nicht die syslog-ng.conf sondern nur die syslog.conf. Ich benutze Debian:

Linux version 2.6.18-4-686 (Debian 2.6.18.dfsg.1-12) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21))

Jetzt habe ich syslog-ng installiert. Wird es nun automatisch genutzt. Was ist mit dem alten Syslog Dämon?

.tim

#4 Post by .tim »

Hast du ein Beispiel?

Wenn ich folgenden Code in die Konfig schreibe

code]
destination aaa2 {
program("/aaa"
template("[$YEAR/$MONTH/$DAY $HOUR:$MIN:$SEC] $PRIORITY $FACILITY $PROGRAM $MESSAGE\n"));
};
[[/code]

und das Script /aaa folgenden Inhalt:

Code: Select all

echo $1 | wall
dann wird beim Restart das Wall ausgeführt ohne Inhalt.

Wird das Programm pro Zeile aufgerufen mit dem template als Parameter oder wie funktioniert das genau?

Post Reply