Ни один из существующих ответов не помог, так здесь новый вопрос.
Вариант использования: Перенаправление системного журнала (или) контроль статического файла.
Я успешно установил logstash (1.4.2), elasticsearch (1.1.1) и kibana (3.0.1), но изо всех сил пытающийся избавиться от ошибки
No results There were no results because no indices were found that match your selected time span
/opt/logstash/bin/logstash -f </etc/logstash/conf.d/10-syslog.conf>
Образец logstash используемые файлы как ниже. Сообщите мне, если что-либо еще требуется от моего конца.
системный журнал (слушающий на порте 9000, да я добавил ". @@ localhost:9000" к /etc/rsyslog.d/50-default.conf
и перезапущенный rsyslog)
sudo cat > /etc/logstash/conf.d/10-syslog.conf <<EOF
input {
tcp {
port => 9000
type => syslog
}
udp {
port => 9000
type => syslog
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
EOF
Статический файл (файл дарят тип системного журнала данных),
input {
file {
path => "/var/log/awasthi.log"
type => syslog
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
if [type] == "syslog" {
grok {
match => [ "message", "%{SYSLOGTIMESTAMP} %{NOTSPACE:hostname1}/%{NOTSPACE}"]
}
}
}
output {
stdout { codec => rubydebug }
}
Как упоминалось в другом потоке:
«У меня было что-то похожее, похоже, что вы не настроили ACL, чтобы позволить пользователю logstash просматривать этот файл журнала.
Используйте 'setfacl -mu: logstash-: rx / var / log ', например, а затем протестируйте, отредактировав / etc / passwd и временно предоставив пользователю logstash оболочку. Затем, su - logstash, попробуйте и cd или cat этот файл. Если он работает, то данные должны появиться в ваша установка Kibana. "
Я использую redis перед elasticsearch, поэтому я могу проверить, работает ли logstash, просто запустив 'LLEN' и 'LPOP'.
Документация по эластичному поиску 1.1 больше недоступна (1.3 или 0. 9 есть), и поведение сети по умолчанию ES изменилось (от первоначального прослушивания IP-адресов без обратного шлейфа до прослушивания обратного шлейфа по умолчанию).
Per https://www.elastic.co/guide/en/elasticsearch/reference/1.3/modules-network.html:
Настройка network.publish_host позволяет управлять хостом, на котором узел будет публиковать себя в кластере, чтобы другие узлы могли к нему подключаться. Конечно, это не может быть anyLocalAddress, и по умолчанию это будет первый некольцевой адрес (если возможно), или локальный адрес.
Хотя этот вопрос теперь в основном академический, Наиболее вероятная проблема, с которой столкнулся запрашивающий, была связана с попыткой отправить данные на localhost
, а не на example.com
(который по информации из вопроса, как известно, работает).
С более поздней версией ES, я подозреваю, что эта проблема не возникла бы (потому что ES теперь по умолчанию прислушивается только к локальному хосту).
Перечислите все индексы с помощью curl localhost:9200/_cat/индексы?v для подтверждения того, что ваши лог-журналы начинают эластично искать. Затем убедитесь, что шаблон индекса, настроенный в kibana (иконка шестеренки в правом верхнем углу, я думаю), соответствует шаблону именования индексов, отображаемому в _cat/индиксах (который должен быть установлен в конфиге логстэша, но я больше не использую логстэш, так что я не уверен. Я очень предпочитаю модуль om-elasticsearch rsyslog, а не логсташ. Он гораздо более энергоэффективен.)
Также убедитесь, что путь эластичного поиска, настроенный в конфигурационном файле kibana, на 100% буквально доступен для копирования и вставки из вашего локального веб-браузера. Если вы сказали example.com, то лучше, чтобы хост example.com был скопирован на нужный сервер. localhost не будет работать вообще, если только на вашей рабочей станции не установлен elasticsearch и не подключен главный сервер...
.