#elasticsearch #logstash #kibana
#elasticsearch #logstash #kibana
Вопрос:
Мой Logstash отправляет журнал в ElasticSearch, в выходном файле Logstash я вижу, что отправляются новые журналы, но они не отображаются при нажатии обновить на странице обнаружения Kibana. На странице Discover отображаются журналы ~ 1 часовой давности.
Что могло вызвать эту проблему? Есть ли какой-либо способ проверить, есть ли запись в ElasticSearch, а не с помощью Kibana?
Временная метка в моем файле журнала выглядит следующим образом: [2020-09-02 13:53:07,392Z]
Вот конвейер.yml, который использует мой logstash:
input {
#stdin {}
beats {
port => "5055"
}
# file {
}
filter {
grok {
patterns_dir => "C:logstash-7.4.2patterns"
match => { "message" => "^[%{TIMESTAMP_ISO8601:timestamp}][%{LOGLEVEL:level}][%{Thread:thread}][%{JAVACLASS:class}]([d*])? %{GREEDYDATA:msg}" }
}
if "_grokparsefailure" in [tags] {
drop{}
}
}
output {
file {
path => "C:logstash-7.4.2logstash_output.txt"
}
elasticsearch {
hosts => [ "localhost:9200" ]
index => "ts_services-%{ YYYY.MM.dd}"
}
}
Я вижу последние журналы после того, как удалил существующий шаблон индекса и создал новый. Но я не думаю, что это решение.
Комментарии:
1. Вероятно, это проблема с меткой времени. Kibana интерпретирует временную метку в часовом поясе браузера, поэтому, если в ваших журналах нет часового пояса в конце, они могут отображаться некорректно. Можете ли вы показать, как выглядят временные метки в вашем файле журнала, а также вашу конфигурацию Logstash?
2. Это также может быть проблемой с соглашением об именовании Logstash по сравнению с тем, как псевдонимы используются в вашем logstash / Kibana. Не могли бы вы также добавить настройки индекса?
3. @Val Я добавил формат временной метки и конфигурацию Logstash к своему вопросу.
4. Настройка индекса @Jaycreation в yml-файле Logstash теперь в моем вопросе.
5. Только что обнаружил, что шаблон индекса по умолчанию, определенный в Kibana, имеет месяц 08: someservice-2020.08 *. После удаления «08» последний журнал отображается в Kibana. Спасибо @Jaycreation.
Ответ №1:
Следить за обсуждением в комментариях. Проблема здесь очень распространенная.
Шаблон индекса в Kibana был специфичным:
ts_services-2020-08*
Таким образом, данные за сентябрь игнорируются Kibana, даже если они есть в Elasticsearch.
Изменение шаблона индекса Kibana устранит проблему:
ts_services*
Но вам придется исправить все пользовательские визуализации.