J'utilise logstash 2.3.4
métriques de minuterie Logstash ne fonctionne pas
Je reçois qui sont essentiellement lignes journaux apache avec un petit score à la fin (l'apprentissage de la machine à creux calculée, grâce à Spark). Voici ce que une ligne ressemble à:
hackazon.lc:80 192.168.100.133 - - [28/Jul/2016:11:07:46 +0200] "GET/HTTP/1.1" 200 10442 "http://192.168.100.123/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36" pred:0.0859964494393
Comme vous pouvez le voir la première partie est un journal apache standard et la fin est pred:0.0859964494393
.
Les journaux sont traités par ELK pour la visualisation, et je veux également avoir des métriques sur le score appelé pred
. Par conséquent, j'ai utilisé l'option timer
de metrics
. Voici mon fichier de configuration logstash:
input {
file {
path => '/home/spark/LogStash/*'
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG} pred:%{NUMBER:pred_score}"}
}
if "_grokparsefailure" in [tags] {
drop { }
}
mutate {
convert => {"pred_score" => "float"}
}
geoip {
source => "clientip"
}
metrics {
timer => ["pred_score" , "%{duration}"]
}
}
output {
# elasticsearch { }
stdout { codec => rubydebug }
# riemann{
# map_fields => true
# }
}
Je pensais obtenir une sortie avec la moyenne, hache, etc ... du score pred. Cependant j'ai seulement quelques 0, excepté le compte et les taux.
Voici une des sorties de la minuterie:
{
"@version" => "1",
"@timestamp" => "2016-07-28T09:11:39.522Z",
"message" => "thamine-OptiPlex-755",
"pred_score" => {
"count" => 10,
"rate_1m" => 0.5533102865966679,
"rate_5m" => 1.2937302900528778,
"rate_15m" => 1.490591754983121,
"min" => 0.0,
"max" => 0.0,
"stddev" => 0.0,
"mean" => 0.0,
"p1" => 0.0,
"p5" => 0.0,
"p10" => 0.0,
"p90" => 0.0,
"p95" => 0.0,
"p99" => 0.0,
"p100" => 0.0
}
}
Savez-vous ce que je fais mal?
Merci d'avance!