Try this:
---
for event in $(find $SPECROOT -type f -name EventDisp | xargs egrep " A " | gawk '{print $1}' | gawk -F":" '{print $2}'); do
id=$(echo $event | gawk -F"0x" '{print $2}');
alarm=$(find $SPECROOT/SG-Support -type f -name "Prob*${id}*" | xargs head -1);
if [[ ${alarm} != "" ]]; then
#alarm exists
alarm_severity=$(find $SPECROOT -type f -name EventDisp |xargs egrep $event |grep -v Install-Tools |grep A |gawk -F" A " '{print $2}' | gawk -F"," '{print $1}');
is_trap_alarm=$(find $SPECROOT -type f -name AlertMap |xargs egrep -w $event |grep -v Install-Tools |wc -l);
if [[ ${is_trap_alarm} -gt 0 ]]; then
case ${alarm_severity} in
1)
severity="MINOR";;
2)
severity="MAJOR";;
3)
severity="CRITICAL";;
4)
severity="4";;
5)
severity="5";;
esac
echo -e "$event | $severity | $alarm" >> /tmp/trap_alarms.txt
else
case ${alarm_severity} in
1)
severity="MINOR";;
2)
severity="MAJOR";;
3)
severity="CRITICAL";;
4)
severity="4";;
5)
severity="5";;
esac
echo -e "$event | $severity | $alarm" >> /tmp/event_alarms.txt
fi
#trap_alarm=$(echo $event | gawk -F"0x" '{print $2}');
fi
done
---
It should output 2 files: /tmp/trap_alarms.txt and /tmp/event_alarms.txt. As the name say, each should contain the list of alarms that are created based on SNMP traps and the list of alarms that are created based on Spectrum Events.
The format is:
EventCode/CauseCode | Criticality | Alarm Name
0x3e00009 | MAJOR | MONITORED LOG MATCH TRAP RECEIVED
It takes a while to finish.