X-Pack & Logstash - не выводится в эластичный поиск
У меня есть установка X-Pack, Elasticsearch & Logstash. Logstash уже отправляет отчеты в asticsearch для части мониторинга X-Pack.
Теперь я хочу, чтобы logstash проходил через любой удар, который попадает в трубу, чтобы упростить поиск.
Я следовал этому руководству здесь и создал упомянутого пользователя и роль. Я дополнительно создал роль для каждого типа удара, которая имеет упомянутые привилегии, и назначил роли одному и тому же пользователю (например, одна для filebeat-*
), используя информацию отсюда.
мой logstash.conf
выглядит следующим образом:
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
user => "user"
password => "pass-word"
}
file {
path => "C:\temp\%{[@metadata][beat]}-%{+YYYY.MM.dd}.log"
}
}
Я получаю файлы, созданные (например, для filebeat
), но индексы в эластичном поиске не создаются, и в эластичном поиске данные отсутствуют.
Кто-нибудь видит, если что-то не так в конфигурации? Я борюсь с часами, чтобы найти ошибку / решение.
Публикация ритмов напрямую в asticsearch (без Logstash) с использованием указанного пользователя работает (например, с использованием metricbeat
).
Также я не вижу в журнале чего-то странного, просто вывод на эластик отсутствует:
07: 52: 53.807 [[main]> worker0] DEBUG logstash.pipeline - фильтр получен {"event" => {...}}
07: 52: 53.807 [[main]> worker0] DEBUG logstash.pipeline - фильтр получен {"event" => {...}}
07: 52: 53.807 [[main]> worker0] DEBUG logstash.pipeline - получен вывод {"событие" => {...}}
07: 52: 53.807 [[main]> worker0] DEBUG logstash.pipeline - получен вывод {"событие" => {...}}
07: 52: 53.870 [[main]> worker0] DEBUG logstash.outputs.file - Файл, записывающий событие в файл. {: Имя_файла => "C: /temp/filebeat-2017.04.11.log"}
07: 52: 53.870 [[main]> worker0] DEBUG logstash.outputs.file - Файл, записывающий событие в файл. {: Имя_файла => "C: /temp/filebeat-2017.04.11.log"}
07: 52: 53.870 [[main]> worker0] INFO logstash.outputs.file - Открытие файла {: path => "C: /temp/filebeat-2017.04.11.log"}
07: 52: 53.870 [[main]> worker0] DEBUG logstash.outputs.file - запуск цикла очистки устаревших файлов {: files => {"C: /temp/filebeat-2017.04.11.log" => #>}}
07: 52: 53.870 [[main]> worker0] DEBUG logstash.outputs.file - найдено 0 устаревших файлов {:inactive_files=>{}}
Спасибо уже!
ОБНОВИТЬ:
Если я изменяю пароль, я получаю следующую ошибку в журнале logstash:
08: 22: 33.877 [[main]> worker1] ОШИБКА logstash.outputs.elasticsearch - Получен неверный код ответа от сервера, но этот код не считается повторяемым. Запрос будет отброшен {:code=>401,:response_body=>"{\"error\":{\"root_cause\":[{\"type\":\"security_exception\",\"reason\":\"невозможно аутентифицировать пользователя [beat] для запроса REST [/_bulk]\",\"header\":{\"WWW-Authenticate\":\"Basic realm=\\"security\\" charset=\\"UTF-8\\"\"}}],\"type\":\"security_exception\",\"reason\":\" невозможно аутентифицировать пользователя [beat] для запроса REST [/_bulk]\",\"header\":{\"WWW-Authenticate\":\"Basic realm=\\"security\\" charset=\\"UTF-8\\"\"}},\"status\":401}",:request_body=>"{\"index\":{\"_id\":null,\"_index\"
Таким образом, кажется, что он на самом деле связывается с эластичным поиском, но индекс не создается. К сожалению, у меня нет никаких заявлений в журнале эластичного поиска.
1 ответ
Нашел ответ самостоятельно, для тех, кто борется с подобной проблемой:
У меня были странные настройки в моем elasticsearch.yml
относительно action.auto_create_index
это помешало созданию индекса.
Это стало видимым после изменения логарифма уровня эластичного поиска на debug
как это было упомянуто здесь.
Поскольку они не были нужны, я удалил их, и теперь все работает, как ожидалось.