Logstash не отправляет информацию в elasticsearch

У меня установлен environemtent Kibana, но он не работает.

Когда я пытаюсь настроить kibana, kibana говорит : Не удалось найти никаких данных Elasticsearch

Когда я перечисляю индексы elasticseach http: // localhost: 9200 / _cat / index? V , он говорит: индекс состояния здоровья uuid pri rep docs.count docs.deleted store.size pri.store.size

Я думаю, что logstash готов, но не работает должным образом, это мои конфигурации logstash

/ etc / default / logstash

JAVACMD="/usr/bin/java"
LS_HOME="/usr/share/logstash"
LS_SETTINGS_DIR="/etc/logstash"
LS_PIDFILE="/var/run/logstash.pid"
LS_USER="root"
LS_GROUP="root"
LS_GC_LOG_FILE="/var/log/logstash/gc.log"
LS_OPEN_FILES="16384"
LS_NICE="19"
SERVICE_NAME="logstash"
SERVICE_DESCRIPTION="logstash"

/etc/logstash/conf.d/logstash.conf

  input {
      file {
        path => "/var/log/apache2/access.log"
        start_position => "beginning"
      }
    }

    filter {
      if [path] =~ "access" {
        mutate { replace => { "type" => "apache_access" } }
        grok {
          match => { "message" => "%{COMBINEDAPACHELOG}" }
        }
      }
      date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
      }
    }

    output {
      elasticsearch {
        hosts => ["localhost:9200"]
      }
    }

Ошибка в системном журнале:

[main] Logstash - java.lang.IllegalStateException: org.jruby.exceptions.RaiseException: (OpenSSL :: X509 :: StoreError) не удалось установить путь по умолчанию: параметр trustAnchors должен быть непустым

Как я могу решите эту проблему? есть идеи о том, что происходит?

0
задан 25 April 2018 в 02:14
2 ответа

Ваш диагноз правильный, ElasticSearch запущен, но индексы не созданы. Вот почему вы получаете следующее:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
[whole lot of nothing]

То, что вы должны , должны получить, это индекс .kibana , который Kibana создает в момент подключения к системе ElasticSearch.

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
}

Это то, что должно понравиться. http: // сообщает Logstash подключиться к ElasticSearch на локальном хосте, используя незашифрованное соединение. Теоретически использование простого имени хоста: порт должно дать вам это, но использование http: // гарантирует это. А также убедитесь, что LogStash не мобилизует инфраструктуру x509 для подключения к своему единственному выходу.

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

Убедитесь, что ваш файл kibana.yml также использует ту же настройку http: // localhost: 9200 для elasticsearch. url .

SSL - это платная функция X-Pack в ElasticSearch. Это очень легко включить и, увы, не работает.

1
ответ дан 4 December 2019 в 15:58

Для версии java 10.x.

sudo rm /etc/ssl/certs/java/cacerts
sudo update-ca-certificates -f 
sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure 

Для x-pack ...
попробуй

output {
  elasticsearch {
    hosts => ["https://localhost:9200"]
  }
}

С уважением, Вадим.

0
ответ дан 4 December 2019 в 15:58

Теги

Похожие вопросы