Thread Datei mit x Zeilen und 5 Spalten auslesen | wget $1 $2 $3 usw.
(25 answers)
Opened by guest newbie at 2009-09-24 11:34
das ich einmal Website_Monitor und einmal Monitor geschrieben habe ist gewollt. Zwei verschiedene Parameter..
Aber dein Tipp mit dem zusammenfassen der Parameter hat mir geholfen! :-) Jetzt 'funzt' der Aufruf. Jetzt muss ich nur noch rausfinden warum nur die letzte der Zeilen in der Konfigdatei als Meldung (Alert) erscheint. Vielen Dank mal wieder! gruß Dave hier der komplette code wie er funktioniert (Ausnahme wie oben beschrieben) Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 #!/opt/OV/nonOV/perl/a/bin/perl use strict; use warnings; sub safe_backticks { my ($cmd, @args) = @_; open (my $pipe, '-|', $cmd, @args) or die "Could not run $cmd @args: $!\n"; my $output = do {local $/; <$pipe>}; defined ($output) or die "read: $!"; unless( close($pipe) ) { my $error = ($? & 0x7f) ? 'Signal ' . ($? & 0x7f) : 'Exit status ' . ($? >> 8); die "$error: $cmd @args"; } return $output; } my $MON_NAME = $ARGV[0]; print $MON_NAME; # Config-Datei Initialisierung my $config = '/var/opt/OV/bin/instrumentation/webpage_check.cfg'; # Oeffne Datei zum Lesen, bei Fehler brich ab open my $fh, '<', $config or die $!; # einlesen des Config Files while( my $line = <$fh> ) { # teile Zeile an Tabulator und nimm die Elemente # Aufbau der Konfidatei: # Name des WebServers in 'FQDN' Tabulator 'ServiceID' Tabulator 'URL für wget' Tabulator 'zu matchendes pattern' Tabulator 'Kommentar' # fqdnTABsvc_idTABurlTABpatternTABcomment my ($fqdn, $svc_id, $url, $pattern, $comment) = split (/\t/, $line); # uebergib URL an wget my $content = safe_backticks('/usr/sfw/bin/wget', '-t', '2', '-T', '5', '-S', '-O', '-', $url ); # Suche des zu erwartenden pattern innerhalb des Abbilds my @foo = grep(/$pattern/, $content); if ( @foo ){ # wenn das $pattern im $content gefunden wurde, erzeuge einen Openview internen Aufruf (Wert 0 erzeugt ein Normal (grün) Event) system "/opt/OV/bin/opcmon", "$MON_NAME=0", "-object", "Webpage_Monitor", "-option", "node=$fqdn", "-option", "url=$url", "-option", "svc_id=$svc_id", "-option", "comment=$comment"; }else { # wenn das $pattern im $content nicht gefunden wurde, erzeuge einen Openview internen Aufruf (Wert 1 erzeugt ein major (orange) Event) system "/opt/OV/bin/opcmon", "$MON_NAME=1", "-object", "Webpage_Monitor", "-option", "node=$fqdn", "-option", "url=$url", "-option", "svc_id=$svc_id", "-option", "comment=$comment"; } } close $fh; |