Yathrib & all, thanks for your hints, but I guess usind AlarmNotifier is similar to my dirty cronjob that seeks for models with Condition = red - it's hard to stay synchronized in a Fault Tolerant environment. :-(
Freundliche Grüße / Best regards Christian Fieres Mainova AG Planung und Betrieb Infrastruktur (M3-ON2) Service Operation Center Solmsstraße 38 60623 Frankfurt Telefon / Phone (069) 2 13-2 36 17 Mobil / Mobile (0170) 5 60 15 63 Telefax / Facsimile (069) 2 13-9 62 36 17 E-Mail [EMAIL PROTECTED] Mainova Aktiengesellschaft - Solmsstraße 38 - D-60623 Frankfurt am Main Vorsitzende des Aufsichtsrates: Oberbürgermeisterin Dr. h. c. Petra Roth - Vorstand: Dr. Constantin Alsheimer, Lothar Herbst, Joachim Zientek Sitz der Aktiengesellschaft: Frankfurt am Main - Amtsgericht Frankfurt HRB 7173 - USt-ID-Nr. DE 114184034 ----- Weitergeleitet von Christian Fieres/M3-ON/MAINOVA/DE am 14.10.2008 07:51 ----- yathrib <[EMAIL PROTECTED]> 13.10.2008 15:53 An [EMAIL PROTECTED] Kopie spectrum <[email protected]>, [EMAIL PROTECTED] Thema Re: [spectrum] Outage Report(Virengetestet -> ok) On Mon, Oct 13, 2008 at 02:45:18PM +0200, [EMAIL PROTECTED] wrote: > I need a CSV report (generated daily to import into Excel) that says which > models were alarmed critical from which time on for how long during > yesterday (i.e. an outage report which was AFAIR part of the old Report > Generator). As easy as it seems, I have come along a few problems and need > a little push into the right direction. Consider using AlarmNotifier. Below is some sample code for logging every event, along with severity, time, model, etc. Feedback appreciated. alarmrc: VNM_MAIL_TIMEOUT=600000 VNM_CONNECT_TIME_LIMIT=60000 KEEP_ALIVE_TIMEOUT=30000 KEEP_ALIVE_INTERVAL=60000 GET_GRAY_INITIAL_ALARMS=false GET_EXISTING_ALARMS=false UPDATE_EXISTING_ALARMS=true USE_DEVICE_NETWORK_ADDRESS=true SEND_EVENT_UPDATES=true USE_NEW_INTERFACE=true EXTRA_ATTRS_AS_ENVVARS= EXTRA_ATTRS_AS_ARGS=0x0023000e,0x11f51,0x12022 UPDATE_ATTRS=0x11f4d,0x12022 GET_PROBABLE_CAUSES=true GET_EVENTS=true SHOW_ALL_EVENTS=true MSG_TIMESTAMP_FORMAT=%X %x LANDSCAPE=1600 SEND_ALARM_DELAY=1000 SET_SCRIPT=/tmp/logger/alarm_logger_set.pl CLEAR_SCRIPT=/tmp/logger/alarm_logger_clear.pl UPDATE_SCRIPT=/tmp/logger/alarm_logger_update.pl alarm_logger.pl: #!/usr/bin/env perl # modify as required, but keep this code light as it's executed for every # alarm action (set, clear, update). use warnings; use strict; my ($action) = ( $0 =~ /alarm_logger_(\w+)\.pl/ ); $action = uc $action; my @default_args = ( 'Date', # 08/22/2008 'Time', # 13:50:01 'Model_Type', # Pingable 'Model_Name', # router1 'Alarm_ID', # 26671 #'Global_Alarm_ID', 'Severity', # CRITICAL 'Cause', # 10009 'Repair_Person', # 'Server', # server1 'Landscape', # 0x9000000 'Model_Handle', # 0x9000986 'Model_Type_Handle',# 0x10290 'IP_Address', # 192.168.37.132 'Security_String', # 'Alarm_State', # NEW 'Acknowledged', # FALSE 'Clearable', # FALSE 'Dummy', # FALSE 'Dummy', # 'Dummy', # 0 'Dummy', # 'Dummy', # 23150 'Dummy', # 'Device_Type', # IP Device ); my @extra_args = qw( Cleared_By_User_Name Trouble_Ticket_ID ); my @args = (@default_args, @extra_args); if ( @args != @ARGV ) { die "Arglist length mismatch detected: @ARGV\n"; } my %alarm_details; @[EMAIL PROTECTED]@ARGV; $alarm_details{Action}=$action; $alarm_details{Prob_Cause}=$ENV{PCAUSE}; $alarm_details{Prob_Cause}=~s/\n.*//xms; $alarm_details{Event_Msg}=$ENV{EVENTMSG}; #use Data::Dumper; #warn Dumper \%alarm_details; # modify to output fields of interest print "LOG:", join(",",@alarm_details{qw(Server Model_Name Date Time Action Severity Alarm_ID Prob_Cause Acknowledged Trouble_Ticket_ID Cleared_By_User_Name)}), "\n"; Running: mkdir /tmp/logger cp alarm_logger.pl /tmp/logger cp alarmrc /tmp/logger cd /tmp/logger ln -s alarm_logger.pl alarm_logger_set.pl ln -s alarm_logger.pl alarm_logger_clear.pl ln -s alarm_logger.pl alarm_logger_update.pl $SPECROOT/Notifier/AlarmNotifier -r /tmp/logger/alarmrc > /tmp/logger/output.log Output looks like: LOG:server1,router1,10/13/2008,09:45:08,SET,CRITICAL,223507,DEVICE HAS STOPPED RESPONDING TO POLLS,FALSE,,N/A -- yathrib --- To unsubscribe from spectrum, send email to [EMAIL PROTECTED] with the body: unsubscribe spectrum [EMAIL PROTECTED]
