Я использую ELK Stack для анализа журналов, созданных моим приложением Spring Boot. Ниже приведен пример структуры моих сгенерированных журналов.
Журналы:
13-04-2020 10: 53: 40.074 INFO 16688 --- [DefaultMessageListenerContainer-1] c .ieutil.SavingEquityData: Сохранение записи - equityFeeds в базе данных, а также в кэше REDIS.
Я хочу отслеживать свои журналы через стек ELK.
Logsta sh .conf
input {
file {
type => "syslog"
path => ["C:/temp/equityFeedsProcessing.log"]
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{LOGLEVEL:log-level} %{DATA:class}:%{GREEDYDATA:message}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
Я понимаю плагины ввода и вывода. То, что я не понимаю, это плагин фильтра. Хотя ниже я написал фильтр Grok, который проходит в отладчике Grok: https://grokdebug.herokuapp.com/
Шаблон:
%{LOGLEVEL:log-level} %{DATA:class}:%{GREEDYDATA:message}
Вывод:
{
"log": [
[
"INFO"
]
],
"class": [
[
" 2568 --- [DefaultMessageListenerContainer-1] c.i.e.util.JAXBDateDeSerializer "
]
],
"message": [
[
" Inside Unmarshall method of JAXB Date Deserializer."
]
]
}
- I не удалось отобразить все поля в плагине фильтра, например, поле временной метки. Как мне это сделать?
- Как мне создать индексы. Я понимаю, что вижу индексы, созданные в
http://localhost:9200/_cat/indices/?v
- . Я также понимаю, что для создания индексов нам нужно go перейти к Kibana -> Управление -> Шаблоны индексов -> Создать шаблон индекса. Я не могу создать свои шаблоны индекса здесь. Это потому, что я не дал их в файле logsta sh .conf. Если да, то как мне это сделать?
- Кроме того, после создания шаблонов индексов я понимаю, что нам нужно go, чтобы обнаружить, а затем выбрать шаблон индексов. Я не могу увидеть свои журналы здесь.
Как уже упоминалось выше, моя основная задача c - анализировать и отслеживать журналы (период). Я не могу создать правильный фильтр и создавать индексы. Я искал net, но не смог найти место, где это показано подробно и с начального уровня. Все кажется слишком сложным.