Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #Script d'insertion en base des éléments d'alarme
- #Usage : sql_alarm.sh IP_IDU new|cleared|changed|event severity type ressource cause probem alarmManagedObjectInstance
- #NB : alarmManagedObjectInstance argument utile uniquement dans le cas d'un retour SNMP
- #--------------------
- DBNAME=test
- ALARMTABLE=ALARM
- USER=root
- PASSWORD=azerty
- #--------------------
- check_existing_snmp()
- {
- return 0;
- #Vérifie l'existence d'une alarme en base
- #Si oui, renvoi l'ID, sinon renvoi 0
- count=$(echo "use $DBNAME; SELECT COUNT(*) AS ' ' FROM $ALARMTABLE WHERE IP='$1' AND (NOT SEVERITY=lower('$2')) AND (NOT SEVERITY='cleared') AND TYPE='$3' AND RESSOURCE LIKE '%$4%$7%' AND CAUSE='$5' AND PROBLEM='$6';" | mysql --user=$USER --password=$PASSWORD)
- if [ $count -gt 0 ];then
- return $count;
- else
- return 0;
- fi
- }
- check_existing()
- {
- return 0;
- }
- #Vérification du nombre d'arguments
- if [ $# -lt 8 ];then
- echo "ERROR: not enought arguments"
- exit;
- fi
- #Vérification de l'état de la base (si alarme déjà présente).
- if [ $# -eq 7 ];then
- #arrivé d'un syslog
- check_existing $1 $3 $4 $5 $6 $7
- else
- #arrivé d'un SNMP
- check_existing_snmp $1 $3 $4 $5 $6 $7 $8
- fi
- if [ $? -gt 0 ]; then
- #Alarme déjà présente en base
- #UPDATE de létat
- if [ $# -eq 7 ];then
- #Cas syslog
- echo "lol";
- else
- #Cas SNMP
- if [ "$2" = "new" ];then
- echo "use $DBNAME; UPDATE $ALARMTABLE SET SEVERITY=lower('$3'), DATE_NEW=NOW() WHERE IP='$1' AND TYPE='$4' AND RESSOURCE LIKE '%$5%$8%' AND CAUSE='$6' AND PROBLEM='$7' ;" | mysql --user=$USER --password=$PASSWORD
- echo "data updated"
- fi
- if [ "$2" = "changed" ];then
- echo "use $DBNAME; UPDATE $ALARMTABLE SET SEVERITY=lower('$3'), DATE_CHANGED=NOW() WHERE IP='$1' AND TYPE='$4' AND RESSOURCE LIKE '%$5%$8%' AND CAUSE='$6' AND PROBLEM='$7' ;" | mysql --user=$USER --password=$PASSWORD
- echo "data updated"
- fi
- if [ "$2" = "cleared" ];then
- echo "use $DBNAME; UPDATE $ALARMTABLE SET SEVERITY=lower('$3'), DATE_CLEARED=NOW() WHERE IP='$1' AND TYPE='$4' AND RESSOURCE LIKE '%$5%$8%' AND CAUSE='$6' AND PROBLEM='$7' ;" | mysql --user=$USER --password=$PASSWORD
- echo "data updated"
- fi
- fi
- else
- #Alarme non présente en base
- #Insertion en base
- if [ $# -eq 7 ];then
- #Cas syslog
- if [ "$2" = "new" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NOW(),NULL,NULL,lower('$3'),'$4','$5','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- if [ "$2" = "changed" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NULL,NOW(),NULL,lower('$3'),'$4','$5','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- if [ "$2" = "cleared" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NULL,NULL,NOW(),lower('$3'),'$4','$5','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- else
- #Cas SNMP
- if [ "$2" = "new" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NOW(),NULL,NULL,lower('$3'),'$4','$5 $8','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- if [ "$2" = "changed" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NULL,NOW(),NULL,lower('$3'),'$4','$5 $8','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- if [ "$2" = "cleared" ];then
- echo "use $DBNAME; INSERT INTO $ALARMTABLE VALUES ('','$1',NULL,NULL,NOW(),lower('$3'),'$4','$5 $8','$6','$7','');" | mysql --user=$USER --password=$PASSWORD
- echo "data inserted"
- fi
- fi
- fi
Add Comment
Please, Sign In to add comment