Hallo Leute!
Ich habe auf meinem WLAN-Switch (mit OpenWRT) syslog-ng3 installiert, damit
ich einige Aktionen steuern kann, wenn was besonderes geloggt wird.
Ich habe folgendes Abschnitt in meinem /etc/syslog-ng.conf:
...
filter f_local7 {
facility(local7);
};
destination asterisk {
program("/etc/asterisk/astlog.sh" template("<${PRI}>${DATE} ${HOST} ${MSG}\n"));
};
log {
source(src);
filter(f_local7);
destination(asterisk);
};
...
Damit werden alle Meldungen, die an local7 kommen (in diesem Fall, von Asterisk)
an meinem Skript weitergeleitet.
Das Skript ist dieses:
#!/bin/sh
stop=0
while [ $stop -eq 0 ]; do
read X
if [ $? -eq 0 ]; then
/bin/echo $X | /bin/grep "Wrong password" > /dev/null 2>&1
if [ $? -eq 0 ]; then
MSG=`/bin/echo $X | /usr/bin/awk -F 'Registration ' '{print "Registration "$2}'`
/bin/echo -e "PBX\tCrack Tries\t2\t$MSG" | /usr/sbin/send_nsca -H 192.168.10.3 -c /etc/send_nsca.cfg
fi
else
stop=1
fi
done
Mein Ziel ist klar: über Nagios über Anmeldeversuche informiert zu werden...
Das System funktioniert auch gut, hat aber ein kleines Problem, das mich etwas stört,
und zwar: ich bin nicht mehr in der Lage syslog-ng3 zu beenden...
Laut Dokumentation soll das Programm in der Lage sein, das Skript zu beenden,
wird aber nicht gesagt WIE syslog-ng das machen will.
Ich habe auch kein richtiges Beispiel gefunden, wie ich mein Skript schreiben soll,
damit es vom syslog-ng beendet wird.
In diesem Fall, natürlich fehlt irgendwas...
Hat jemand Erfahrung mit diesem Logprogramm und kann mir sagen, was in meinem Skript
falsch ist?
Danke
Luca Bertoncello
(lucabert(a)lucabert.de)