Schrift
[thread]8668[/thread]

Perl Problem geppaart mit Ideenlosigkeit: Umsetzung eines Perl problems



<< >> 3 Einträge, 1 Seite
Gast Gast
 2007-01-22 15:03
#73485 #73485
Hallo community,
ich arbeite mich gerade in Perl ein - und habe gleich ein Problem wo ich nicht weiterkomme vielleicht fällt euch was ein

es geht um eine Text-Datei mit folgendem Inhalt

------------------Status-------------------
info
 {
 created=1168583588
 version=2.4
 }
host
 {
 host_name=GATEWAY
 modified_attributes=0
 check_command=check-host-alive
 event_handler=
 has_been_checked=1
 should_be_scheduled=0
 check_execution_time=0.000
 check_latency=24.021
 check_type=1
 current_state=0
 last_hard_state=0
 plugin_output=OK - 10.1.0.1: rta 1.050ms, lost 0%
performance_data=rta=1.050ms;200.000;500.000;0;l=0%;40;80;;
 last_check=1168563486
 next_check=0
 current_attempt=1
 max_attempts=3
 state_type=1
 last_state_change=1165021008
 last_hard_state_change=1165021008
 last_time_up=1168563781
 last_time_down=1165073680
 last_time_unreachable=0
 last_notification=1165021008
 next_notification=1165049808
 no_more_notifications=0
 current_notification_number=0
 notifications_enabled=1
 problem_has_been_acknowledged=0
 acknowledgement_type=0
 active_checks_enabled=0
 passive_checks_enabled=1
 event_handler_enabled=1
 flap_detection_enabled=1
 failure_prediction_enabled=1
 process_performance_data=1
 obsess_over_host=0
 last_update=1168583588
 is_flapping=0
 percent_state_change=0.00
 scheduled_downtime_depth=0
 }
 
 service
 {
 host_name=GATEWAY
 service_description=PING
 modified_attributes=0
 check_command=check_ping!100.0,20%!500.0,60%
 event_handler=0
 has_been_checked=1
 should_be_scheduled=0
 check_execution_time=0.000
 check_latency=191.106
 check_type=1
 current_state=0
 last_hard_state=0
 current_attempt=1
 max_attempts=3
 state_type=1
 last_state_change=1165342089
 last_hard_state_change=1165020998
 last_time_ok=1168583465
 last_time_warning=1158388412
 last_time_unknown=0
 last_time_critical=1165392011
 plugin_output=OK - 10.1.0.1: rta 1.175ms, lost 0%
performance_data=rta=1.175ms;100.000;500.000;0;pl=0%;20;60;;
 last_check=1168583465
 next_check=0
 current_notification_number=0
 last_notification=0
 next_notification=0
 no_more_notifications=0
 notifications_enabled=1
 active_checks_enabled=0
 passive_checks_enabled=1
 event_handler_enabled=1
 problem_has_been_acknowledged=0
 acknowledgement_type=0
 flap_detection_enabled=1
 failure_prediction_enabled=1
 process_performance_data=1
 obsess_over_service=0
 last_update=1168583588
 is_flapping=0
 percent_state_change=0.00
 scheduled_downtime_depth=0
 }

...
-------------ENDE------------------

Nun geht es darum diese Datei auszulesen und die Daten zu bearbeiten das sie in folgen Format in eine neue Datei zu schreiben.

created;SERVICETYP;service_description;current_state;performance_data;host_name

created resultiert aus info created Sekunden seit 1970 diese müßte in das Format Tag/Monat/Jahr hh:min:sec

SERVICETYP ist eine Konstante

bei den anderen muß nur der Wert oder die Bezeichnung hinter dem "=" eingetragen werden

Viele viele Fragen aufeinmal.

Ich hoffe Ihr könnt mir helfen und/oder ein paar Ideen zur besten Umsetzung verraten

MfG

perl-anfaenger
renee
 2007-01-22 15:38
#73486 #73486
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hiermit kannst Du rumspielen:
Code: (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
#!/usr/bin/perl

use strict;
use warnings;

my $file = './data.txt';

my $content;
{
local $/;
open my $fh,'<',$file or die $!;
$content = <$fh>;
close $fh;
}

my (@entries) = $content =~ /([^\n]*?\n\s*{.*?})/gs;
my $created = "";

for my $entry(@entries){
my ($type,$info) = $entry =~ /([^\n]*?)\n\s*{(.*?})/s;
my %hash;
my @lines = split /\n/,$info;
for my $line(@lines){
$line =~ s/^\s+//;
my ($key,$value) = split /=/,$line,2;
$hash{$key} = $value;
}

if($type = 'info'){
$created = $hash{created};
}
else{
print "$created SERVICETYP weitere info\n";
}
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
perl-anfaenger
 2007-01-25 15:15
#73487 #73487
User since
2007-01-22
7 Artikel
BenutzerIn
[default_avatar]
Vielen Dank für die schnelle Antwort ich werden mal etwas spielen

MfG

perl-anfaenger
<< >> 3 Einträge, 1 Seite



View all threads created 2007-01-22 15:03.