si vous ne passez pas par le pluggin mais par un simple logstash
input { file { path => [ "D:/project/tmp/nagios*" ] start_position => "beginning" type => "nagios-alert" } } filter { if [type] == "nagios-alert" { if [message] =~ /SERVICE DOWNTIME ALERT/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service_command};%{DATA:nagios_service_stat};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /SERVICE ALERT/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_serivce_up_down};%{DATA:nagios_state};%{DATA:nagios_serivce_stat_up_down};%{DATA:nagios_serivce_retry_up_down};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /HOST DOWNTIME ALERT/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_host_stat};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /HOST ALERT/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_host_up_down};%{DATA:nagios_host_stat_up_down};%{DATA:nagios_host_retry_up_down};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /CURRENT SERVICE STATE/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_service_command};%{DATA:nagios_serivce_up_down};%{DATA:nagios_serivce_stat_up_down};%{DATA:nagios_serivce_retry_up_down};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /CURRENT HOST STATE/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_hostname};%{DATA:nagios_host_up_down};%{DATA:nagios_host_stat_up_down};%{DATA:nagios_host_retry_up_down};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /HOST NOTIFICATION/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_notifyname};%{DATA:nagios_hostname};%{DATA:nagios_state};%{DATA:nagios_contact};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /SERVICE NOTIFICATION/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_notifyname};%{DATA:nagios_hostname};%{DATA:nagios_service_command};%{DATA:nagios_state};%{DATA:nagios_contact};%{GREEDYDATA:nagios_message}" } } } if [message] =~ /EXTERNAL COMMAND/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{DATA:nagios_message};%{GREEDYDATA:nagios_hostname}" } } } if [message] =~ /Warning/ { grok { match => { "message" => "\[%{INT:timestamp}\] %{DATA:nagios_type}: %{GREEDYDATA:nagios_message}" } } } } date { match => ["timestamp", "UNIX"] } } output { ## Debug stdout { codec => rubydebug } }