#elasticsearch #logstash #kibana #geoip
#elasticsearch #logstash #kibana #geoip
Вопрос:
Я хочу использовать geoip в стеке elk из docker. в соответствии с этой документацией я добавил config
https://www.elastic.co/blog/geoip-in-the-elastic-stack
это мой logstash.conf
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
geoip {
source => "clientip"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
manage_template => false
index => "logstash-%{ YYYY.MM.dd}"
}
}
и я знаю, что должен добавить этот json в какое-то место. но я не знаю, где мне это сделать?
"geoip" : {
"dynamic": true,
"properties" : {
"ip": { "type": "ip" },
"location" : { "type" : "geo_point" },
"latitude" : { "type" : "half_float" },
"longitude" : { "type" : "half_float" }
}
}
Ответ №1:
Ваш конвейер logstash в порядке. JSON, который вы пытаетесь добавить, — это отображение, которое автоматически генерируется logstash.
Учитывая, что вы используете Kibana с вашим кластером Elasticsearch :
go to management -> index patern -> Create Index Pattern -> type "logstash-*" or a name that fits your need with this index -> select
timestamp and hit "create index pattern".
Если на этом этапе вы не можете визуализировать данные geoip, возможно, IP-адреса, которые находятся в ваших данных, не имеют отношения к общедоступной области.
Вы можете попробовать свои IP-адреса здесь:https://www.maxmind.com/en/geoip-demo