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

Файл журнала сервера Logstash переполнен сообщениями об ошибке «Не удалось очистить исходящие элементы»

Я новичок в Logstash, пытаюсь запустить его, следуя руководству в «Книге Logstash». На странице 44 руководство предлагает отслеживать основной файл журнала процесса Logstash, называемый central.log. Примерно через 2 минуты после запуска Logstash файл central.log переполняется следующим сообщением:

{:timestamp=>"2014-01-06T02:21:04.098000-0500", :message=>"Failed to flush outgoing items", :outgoing_count=>100, :exception=>org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s], :backtrace=>  
    ["org.elasticsearch.action.support.master.TransportMasterNodeOperationAction$3.onTimeout(TransportMasterNodeOperationAction.java:180)", "org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:483)",     
    "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)",
    "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)", 
    "java.lang.Thread.run(Thread.java:724)"], :level=>:warn}

Кроме того, если вы выполните команду CURL на сервере эластичного поиска, вы получите следующее:

[user@server ~]$ curl -XGET 'http://[elastic search host IP]:9200/_search?q=type:syslog&pretty=true'
{
  "error" : "SearchPhaseExecutionException[Failed to execute phase [initial], No indices / shards to search on, requested indices are []]",
  "status" : 503
}

Любые идеи о том, что я мог здесь неправильно настроить?

Я столкнулся с этой точной ошибкой на прошлой неделе, следуя процессу, описанному в The Logstash Book. Мой файл журнала сервера Logstash также был переполнен сообщением «Не удалось очистить исходящие элементы». Я обнаружил, что я скачал неправильную версию ElasticSearch. Версия автономного ElasticSearch должен соответствует версии встроенного ElasticSearch.

Поскольку у меня была версия 1.3.3 logstash, я смог найти номер версии ElasticSearch здесь (в моем случае мне пришлось использовать версию 0.90.9):

http://logstash.net/docs/1.3.3/outputs/elasticsearch

Затем я зашел на elasticsearch.org, нажал кнопку «Загрузить сейчас», затем прокрутил страницу вниз, и под разделами загрузки и установки слева от кнопки «Поддержка Elasticsearch» была ссылка на Прошлые версии.

Я не уверен, как определить версию встроенного ElasticSearch, если вы используете старую версию Logstash.

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