nous recevons des logs d'une appliance sous 2 formats différents
<14>Original Address=10.10.243.34 2018-06-08 06:21:23,523 SYS-WARN-004 : Server Memory space used is now above 80 percent: Used 1178334256 bytes, Capacity 1440088064 bytes
<14>Original Address=10.10.243.36 2018-06-07 15:17:26,477 CLOUD||CH_DIRECT||10033|fae5d59199a6c287d149637f9a70b609c7695adddf80166be537e26e4ed0db9f|RESPONSE_SUCCESS|0|||OP_ATCODE||||logout||||||||||||||admin|admin
Je ne trouve pas comment pouvoir analyser les 2 chaines si diffrentes.
input {
udp {
port => 5141
type => "idp"
}
}
filter {
if [type] == "idp" {
grok {
match => { "message" => "%{SYSLOG5424PRI}Original Address=%{IPV4:ip_source}%{SPACE}%{TIMESTAMP_ISO8601}%{SPACE}%{WORD:idp_domain}\|\|%{WORD:idp_channel}\|\|%{INT:idp_userid}\|%{WORD}\|%{WORD:idp_status}\|%{INT}\|(%{WORD:idp_response})?\|\|(%{WORD:idp_authtype})?\|\|\|\|(%{WORD:idp_eventid})?\|" }
}
}
}
Quelle est la façon de faire avec des logs aussi différents ?
Je pense que voous n'avea pas besoin d'un "if" pour ce probleme. Par contre, il aut qu'il ait au moins un champs pour differencier les differents types de chaque ligne du log.
Je m'explique :
Si ton log est de cette forme :
TYPE1 date mot mot entier
TYPE2 date entier mot mot
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.