Bonjour,
Je ne souhaite que les lignes qui ne matchent pas l'expression de mon grok filter ne soient pas importées. Pour l'instant elles le sont quand même. Mon fichier de pipeline contient :
input {
file {
path => "C:/logstash-1.5.4/logstash-1.5.4/middle-global.2015-08-10.log"
start_position => beginning
}
}
filter {
grok {
match => { "message" => "%{DATESTAMP:date}.\[%{USERNAME:server}\].*INFO.*accessLogs \- %{IP:ip}.\- \- \[%{HTTPDATE:timestamp}*\].\"%{WORD:verb}.%{URIPATH:service}?%{URIPARAM:params}.HTTP/%{NUMBER:httpversion}\".%{NUMBER:responseCode}.%{NUMBER:responseSize}.%{QS:threadName}.%{QS:agent}.%{NUMBER:treatmentTime}"}
}
geoip {
source => "ip"
}
}
output {
elasticsearch {
protocol => "http"
}
stdout {}
}
Par exemple dans l'index correspondant j'ai :
"hits": {
"total": 1816,
"max_score": 1,
"hits": [
{
"_index": "logstash-2015.08.25",
"_type": "logs",
"_id": "AU9lReDSGenJVJoHL__T",
"_score": 1,
"_source": {
"message": "2015-08-06 00:00:01,344 [middle] [middleScheduler-1 ] INFO org.apache.solr.core.SolrCore - SolrIndexSearcher has not changed - not re-opening: org.apache.solr.search.SolrIndexSearcher",
"@version": "1",
"@timestamp": "2015-08-25T14:31:59.079Z",
"host": "Opti780-info-3",
"path": "C:/logstash-1.5.4/logstash-1.5.4/middle-global.2015-08-12.log",
"tags": [
"_grokparsefailure"
]
}
},
Si j'essai en rajoutant l'instruction : tag_on_failure => [], le tag _grokparsefailure est supprimé mais pas la ligne importée.
Est-ce normal ?
A+,
Denis.