/[mon-modules]/sap.monitor
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sap.monitor

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by dpavlin, Mon Jul 22 12:30:47 2002 UTC revision 1.12 by dpavlin, Tue Nov 5 08:53:26 2002 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2  # File:         sap.monitor  # File:         sap.monitor
3  # Author:       Dobrica Pavlinusic, dpavlin@rot13.org  # Author:       Dobrica Pavlinusic, dpavlin@rot13.org
4    #               http://www.rot13.org/~dpavlin/sysadm.html
5  # Description:  monitor sap servers using sapinfo from RFCSDK  # Description:  monitor sap servers using sapinfo from RFCSDK
6  #  #
7  # Usage: sap.monitor [-[hH] ashost only/ignore] [-[sS] sysnr only/ignore]  # Usage: sap.monitor [-[hH] ashost only/ignore] [-[sS] sysnr only/ignore]
# Line 26  my $CONFIG = "/usr/local/etc/sap-mon.con Line 27  my $CONFIG = "/usr/local/etc/sap-mon.con
27  my $SAPINFO = "/usr/local/bin/sapinfo";  my $SAPINFO = "/usr/local/bin/sapinfo";
28  # number of tries to repeat sapinfo if it fails first time  # number of tries to repeat sapinfo if it fails first time
29  my $repeat = 3;  my $repeat = 3;
30    # seconds to wait between retries
31    my $repeat_wait = 5;
32    
33  my %opts;  my %opts;
34  getopt('h:s:H:S:', \%opts);  getopt('h:s:H:S:', \%opts);
# Line 59  foreach (@config) { Line 62  foreach (@config) {
62                  my $output;                  my $output;
63                  my $sys_id;                  my $sys_id;
64                  for(my $i=0; $i<$repeat; $i++) {                  for(my $i=0; $i<$repeat; $i++) {
65                          $output = `$SAPINFO trace=0 ashost=$ashost sysnr=$sysnr`;                          eval {
66                                    local $SIG{ALRM} = sub { die "timeout\n"; };
67                                    alarm 30; # wait for sapinfo to finish
68                                    $output = `$SAPINFO trace=0 ashost=$ashost sysnr=$sysnr`;
69                            };
70                            alarm 0; # turn alarm off
71                          undef $sys_id;                          undef $sys_id;
72                            $output = "" if (! defined $output);
73                          if ($output =~ m/System\s+ID\s+(\w+)/i) {                          if ($output =~ m/System\s+ID\s+(\w+)/i) {
74                                  $sys_id = $1;                                  $sys_id = $1;
75                                  last;                                  last;
76                          }                          }
77  #                       print "$loop: $ashost $sysnr $ret\n";  #                       print "$loop: $ashost $sysnr $ret\n";
78                          $loop++;                          $loop++;
79                          sleep 5;                          sleep $repeat_wait;
80                  }                  }
81                  if (! $sys_id) {                  if (! $sys_id) {
82                          push @failed, "$ashost ($sysnr)";                          push @failed, "$ashost ($sysnr)";

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.26