Я новичок в 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.