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@lucabert.de)