Я экспериментирую с ELK, чтобы проанализировать наши файлы журналов. Следуя доступной документации, удалось настроить стек на моем компьютере. Теперь у меня возникла проблема с созданием индекса эластичного поиска. Раньше я использовал комбинацию filebeat - ›logstash -› elasticsearch - ›kibana, и с помощью следующего файла logstash.conf можно было отправлять данные в elasticsearch
input {
beats {
port => 5044
type => "log"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
И индекс в эластичном поиске был оценен как
"filebeat-*"
из выражения
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
Теперь я изменил logstash.conf на на основе моего фактического файла журнала
input {
file
{
path => "C:\logs\application.log"
start_position => "beginning"
codec =>
multiline {
charset => "ISO-8859-1"
pattern => "^%{TIMESTAMP_ISO8601}"
max_lines => 1000
negate => true
what => "previous"
}
}
}
filter {
mutate {
gsub => [ "message", "\r", "" ]
}
grok {
patterns_dir => "./patterns"
match => {"message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL1:loglevel} %{THREAD:thread} %{IP5:remoteipaddress} %{JAVA:logclass} %{GREEDYDATA:details}"}
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
remove_field => [ "timestamp" ]
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
file {
path => "C:\logs\output.txt"
}
}
В этом случае logstash доволен файлом conf, но индекс, который я предложил для эластичного поиска, не оценивается должным образом.
Если я проверю эластичный поиск с помощью плагина head,
http://localhost:9200/_plugin/head/
Индекс выглядит как
%{[@metadata][beat]}-
Я не уверен, почему выражение индекса сейчас не оценивается. Любые указатели для решения этой проблемы были бы полезны.
Заранее спасибо, Сан