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

кибана: нет ошибки индексов

Ни один из существующих ответов не помог, поэтому здесь новый вопрос.

Вариант использования: Перенаправление статического файла системного журнала (или) мониторинга.

Я успешно установил 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

Примеры используемых файлов журналов приведены ниже. Пожалуйста, дайте мне знать, если с моей стороны потребуется что-нибудь еще.

  1. syslog (прослушивание порта 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
    
  2. Статический файл (файл с типом данных системного журнала)

    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 }
    }
    

Перечислите все индексы с помощью curl localhost: 9200 / _cat / index? V, чтобы убедиться, что ваши журналы попадают в elasticsearch. Затем убедитесь, что шаблон индекса, настроенный в kibana (я думаю, значок шестеренки в правом верхнем углу) соответствует шаблону именования индекса, отображаемому в _cat / indicies (который должен быть установлен в конфигурации logstash, но я больше не использую logstash, поэтому я Я не уверен. Я очень предпочитаю модуль rsyslog om-elasticsearch, а не logstash. Он намного более энергоэффективен.)

Также убедитесь, что путь elasticsearch, настроенный в файле конфигурации kibana, на 100% буквально доступен для копирования и вставки из вашего локального веб-браузера. Если вы сказали example.com, вам лучше указать хост example.com на правильный сервер. localhost вообще не будет работать, если на вашей рабочей станции не установлен elasticsearch и не подключен основной сервер ...

Документация для elasticsearch 1.1 больше недоступна (1.3 или 0.9), а поведение сети по умолчанию ES изменилось (с первоначального прослушивания IP-адресов без обратной петли на прослушивание петли по умолчанию).

За https://www.elastic.co/guide/en/elasticsearch/reference/1.3/modules-network.html:

Параметр network.publish_host позволяет управлять хостом, на котором узел будет публиковать себя в кластере, чтобы другие узлы могли подключаться к нему. Конечно, это не может быть anyLocalAddress, и по умолчанию это будет первый адрес без обратной связи (если возможно) или локальный адрес.

Хотя вопрос сейчас носит в основном академический характер, наиболее вероятная проблема, с которой столкнулся задающий вопрос, связана с попыткой отправить данные в localhost, вместо того example.com (который, согласно информации о вопросе, как известно, работает).

Я подозреваю, что с более поздней версией ES этой проблемы не возникло бы (поскольку ES теперь по умолчанию слушает только localhost).

Как упоминалось в другом потоке:

"У меня было что-то похожее, похоже, вы не настроили ACL, чтобы позволить пользователю logstash просматривать этот файл журнала.

Используйте, например, setfacl -m u: logstash-: r-x / var / log, а затем проверьте, отредактировав / etc / passwd и временно предоставив пользователю logstash оболочку. Затем, su - logstash и попробуйте cd или cat этот файл. Если это работает, то данные должны появиться в вашей настройке Kibana ".

Я использую redis перед elasticsearch, поэтому я могу проверить, работает ли logstash, просто запустив LLEN и LPOP.