Я установил
Logstash ElasticSearch Кибана
на экземпляре EC2.
Я могу посетить http://example.com:9200 Вот я получаю
{
"status" : 200,
"name" : "Aleta Ogord",
"version" : {
"number" : "1.1.0",
"build_hash" : "2181e113dea80b4a9e31e58e9686658a2d46e363",
"build_timestamp" : "2014-03-25T15:59:51Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
Так что эластичный поиск работает, но когда я захожу в
Я получаю «Нет результатов. Нет результатов, потому что не было найдено индексов, соответствующих выбранному вами промежутку времени»
У меня есть файл конфигурации в
/etc/logstash/conf.d/, содержащий следующее: -
input {
file {
path => "/var/log/apache/access.log"
type => "apache-access"
}
}
filter {
grok {
type => "apache-access"
pattern => "%{COMBINEDAPACHELOG}"
}
}
output {
stdout { }
elasticsearch {
host => "127.0.0.1"
}
}
Я проверил файл журнала logstash, и сообщений об ошибках нет.
Пожалуйста помоги
У меня была проблема, когда я deleted
мой индекс в ElasticSearch, затем recreated
Это. После этого в Кибане ничего не появилось.
Решение: Просто delete
шаблон индекса кибаны на вкладке "Настройки", затем create
это снова. То же имя и все, но теперь это дало мне данные.
Для других, которые смотрят на подобную проблему, вот мой опыт.
У меня возникла действительно глупая проблема, когда я впервые все настроил. Я получил настройку индекса и Kibana и получал 0 результатов. Я подтвердил, что данные были в elasticsearch, перейдя по следующему URL-адресу
http: //: 9200 / _search? pretty = true ip для большинства людей будет localhost. Я использовал docker, поэтому это был мой ip boot2docker. Проверено, что для индекса задано значение logstash-Date.
Однако в кибане я не понимал, что дата была установлена на день в прошлом. Увеличение диапазона показало мои логи. Если вы новичок в ELK, как я, дата и время указано в верхнем правом углу в Kibana 4.
Что вы увидите, если перейдете в http://example.com:9200/_aliases?pretty Это должно показать вам список индексов на сервере. Вот так выглядит наша первая часть (у нас индексы разбиты по часам, а не дням) ...
{
"logstash-2014.04.01.18" : {
"aliases" : { }
},
"logstash-2014.04.01.17" : {
"aliases" : { }
},
"logstash-2014.04.01.16" : {
"aliases" : { }
},
"logstash-2014.04.01.15" : {
"aliases" : { }
},
Предполагая, что это выглядит разумным, проверьте, что вы настроили в Kibana в качестве шаблона индекса - по умолчанию [logstash-] YYYY.MM.DD. Убедитесь, что тот, который вы используете, соответствует тому, что вы получаете от _aliases.
Учитывая, что в ответе на _aliases ничего не отображается, есть веское предположение, что Logstash не читает ввод. Когда я впервые экспериментировал с Logstash, у меня было
start_position => "beginning"
в моей файловой строфе. Например ...
file {
path => "/var/Log/maillog*"
type => "mailf"
charset => "locale"
start_position => "beginning"
}
Это может помочь - решить проблему, связанную с тем, что Logstash считает, что он уже имеет дело с содержимым файла. Вы также можете включить вывод отладки, как это предлагается на https://stackoverflow.com/questions/19086404/how-to-debug-the-logstash-file-plugin
У меня было что-то похожее, похоже, вы не настроили ACL, чтобы пользователь logstash мог просматривать этот файл журнала.
Использовать setfacl -m u:logstash:r-x /var/log
например, а затем проверьте, отредактировав / etc / passwd и временно предоставив пользователю logstash оболочку. Затем, su - logstash
, и попробуйте и cd или cat этот файл. Если это работает, то данные должны появиться в вашей настройке Kibana.