#!/bin/bash # # Initialisierung stty -F /dev/ttyUSB0 19200 min 0 -icanon -ixon brkint imaxbel echo -en '\0001\0001\0000\0000' > /dev/ttyUSB0 # # Endlosschleife while true ; do LAMP=0 RESULT=`echo " SELECT instance_id FROM nagios_hoststatus WHERE current_state <> 0 AND problem_has_been_acknowledged = 0;" | mysql -u nagios -h db_host nagios | wc -l` if (( $RESULT > 0 )) ; then # Ein Host hat ein Problem -> Rotes Licht echo -en '\0003\0001\0004\0006' > /dev/ttyUSB0 LAMP=1 # Lampe ist gesetzt fi if [[ $LAMP = "0" ]] ; then RESULT=`echo " SELECT nagios_servicestatus.service_object_id FROM ((nagios_servicestatus INNER JOIN nagios_services ON nagios_servicestatus.service_object_id=nagios_services.service_object_id) INNER JOIN nagios_hosts ON nagios_services.host_object_id=nagios_hosts.host_object_id) INNER JOIN nagios_hoststatus ON nagios_hosts.host_id=nagios_hoststatus.hoststatus_id WHERE nagios_servicestatus.current_state > 1 AND nagios_servicestatus.problem_has_been_acknowledged=0 AND nagios_hoststatus.problem_has_been_acknowledged=0;" | mysql -u nagios -h db_host nagios | wc -l` if (( $RESULT > 0 )) ; then # Service ist kritisch -> Rote Lampe. echo -en '\0003\0001\0004\0006' > /dev/ttyUSB0 LAMP=1 fi fi if [[ $LAMP = "0" ]] ; then RESULT=`echo " SELECT nagios_servicestatus.service_object_id FROM ((nagios_servicestatus INNER JOIN nagios_services ON nagios_servicestatus.service_object_id=nagios_services.service_object_id) INNER JOIN nagios_hosts ON nagios_services.host_object_id=nagios_hosts.host_object_id) INNER JOIN nagios_hoststatus ON nagios_hosts.host_id=nagios_hoststatus.hoststatus_id WHERE nagios_servicestatus.current_state = 1 AND nagios_servicestatus.problem_has_been_acknowledged=0 AND nagios_hoststatus.problem_has_been_acknowledged=0;" | mysql -u nagios -h db_host nagios | wc -l` if (( $RESULT > 0 )) ; then # Service zeigt Warnung -> Gelbe Lampe. echo -en '\0003\0001\0002\0000' > /dev/ttyUSB0 LAMP=1 fi fi if [[ $LAMP = "0" ]] ; then # Keine Probleme -> Grüne Lampe echo -en '\0003\0001\0001\0003' > /dev/ttyUSB0 fi sleep 30 LAMP=0 done