Назад | Перейти на главную страницу

Документы из кластера Elasticsearch дважды появляются в Grafana

Я установил кластер Elasticsearch с одним выделенным главным узлом, двумя соответствующими ведущими узлами данных и одним координирующим узлом. Количество реплик установлено равным одной.

В Logstash есть два конвейера, каждый из которых получает сообщения системного журнала от брандмауэра, конвертирует их в JSON и передает их в любой из узлов данных. Я не создаю явно UUID для документов.

Grafana подключена к координирующему узлу для получения данных из кластера.

Все идет нормально. Но я заметил, что в Grafana я вижу каждый документ дважды. Я предполагаю, что это неверно, но я понятия не имею, в чем может быть проблема.

Я проверил вывод Logstash и не обнаружил копий, поэтому я предполагаю, что дублирование происходит в кластере. Кто-нибудь может мне здесь намекнуть? Нужно ли добавлять к документам идентификатор перед индексированием?

Спасибо Генри

Оказалось, я неправильно понял, как работает Logstash.

Помещение двух файлов конфигурации в каталог logstash "conf.d" [1], содержащий разделы "input {}", "filter {}" и "output {}", не означает, что вы запускаете два конвейера.

Вместо этого Logstash объединил все файлы в этом каталоге и теперь нашел два отдельных модуля вывода elasticsearch. Вот почему он написал все документы для обоих моих узлов ES. Когда я тестировал ранее, я смотрел только на один из выходов, поэтому не увидел дубликатов.

Простое добавление явного идентификатора документа не было решением, а лишь очень плохим обходным решением, поскольку каждый документ сохранялся и немедленно перезаписывался базой данных, что приводило к огромной трате ресурсов.

Теперь я использую только один файл конфигурации с двумя двумя входами, одним фильтром и одним выходом ES, в котором оба узла указаны в параметре хоста.

Надеюсь, это поможет другим, у кого есть похожие проблемы.

С уважением, Генри

[1] .deb пакет