не могу подключить elasticsearch к logstash

Я пытаюсь подключить elasticsearch к logstash на централизованном агрегаторе logstash.

Я запускаю веб-интерфейс logstash через порт 80 с помощью kibana.

Это команда, которую я использую для запуска logstash:

/usr/bin/java -jar /etc/alternatives/logstashhome/logstash.jar agent -f      /etc/logstash/logstash.conf web --port 80

Это конф, который я использую:

 [root@logstash:~] #cat /etc/logstash/logstash.conf 
  input { redis { host => "my-ip-here" 
  type => "redis-input" 
  data_type => "list"
  key =>       "logstash" } 
  }

 output {
 stdout { }
 elasticsearch{
    type => "all"
    embedded => false
    host => "my-ip-here"
    port => "9300"
    cluster => "jf"
    node_name => "logstash"
    }
 }

И похоже, что я получаю данные от агента logstash (установленного на другом хосте). Я вижу поток записей журнала после запуска logstash через сценарий инициализации.

2013-10-31T02:51:53.916+0000 beta Oct 30 22:51:53 49eb8f3e-a2c1-4c12-a41f-42dbe635a9f0 sshd[23324]: Connection closed by xx.xx.xx.xx
2013-10-31T02:52:13.002+0000 beta Oct 30 22:52:12 49eb8f3e-a2c1-4c12-a41f-42dbe635a9f0 proftpd[23403]: xx.xx.xx.xx (xx.xx.xx.xx[xx.xx.xx.xx]) - FTP session opened.
2013-10-31T02:52:13.002+0000 beta Oct 30 22:52:12 49eb8f3e-a2c1-4c12-a41f-42dbe635a9f0 proftpd[23403]: xx.xx.xx.xx (xx.xx.xx.xx[xx.xx.xx.xx]) - FTP session closed.
2013-10-31T02:52:30.080+0000 beta Oct 30 22:52:29 49eb8f3e-a2c1-4c12-a41f-42dbe635a9f0 xinetd[1757]: START: nrpe pid=23405 from=xx.xx.xx.xx
2013-10-31T02:52:30.081+0000 beta Oct 30 22:52:29 49eb8f3e-a2c1-4c12-a41f-42dbe635a9f0 xinetd[1757]: EXIT: nrpe status=0 pid=23405 duration=0(sec)

Я вижу, как мой сервер nagios подключается к хосту бета-версии (бета-это внешний хост с установленным и работающим агентом logstash) и некоторые сеансы FTP (не то чтобы я влюбился в FTP, но эй, что я могу сделать?)

Тем не менее, когда я указываю свой браузер на сервер logstash, я вижу это сообщение:

Error No index found at http://logstash.mydomain.com:9200/_all/_mapping. Please create at least one index.If you're using a proxy ensure it is configured correctly.1 alert(s)

Это настройка моего кластера в elasticsearch.yaml.

 grep -i cluster /etc/elasticsearch/elasticsearch.yml  | grep jf
 cluster.name: jf

Мой хост в elasticsearch.yaml grep -i host /etc/elasticsearch/elasticsearch.yml

 network.bind_host: xxx.xx.xx.xxx  # <- my logstash ip

Я попытался добавить индекс, используя следующий завиток:

[root@logstash:~] #curl -PUT http://logstash.mydomain.com:9200/_template/logstash_per_index

Но когда я перезагружаю страницу, я получаю то же сообщение об ошибке. Немного застрял на этом моменте. Буду признателен за любой совет, который может быть у кого-нибудь!

Спасибо!


person bluethundr    schedule 31.10.2013    source источник
comment
Какой порт использует ElasticSearch? По умолчанию 9200, но я заметил, что ваш вывод Logstash настроен на использование 9300.   -  person rutter    schedule 08.11.2013
comment
@rutter 9200 — это порт http по умолчанию, но порт в приведенном выше контексте — это порт tcp. По умолчанию это 9300. ElasticSearch использует два порта.   -  person Andy    schedule 20.12.2013


Ответы (5)


попробуй выполнить это

curl -XPUT http://127.0.0.1:9200/test/item/1 -d '{"name":"addhe warman", "description": "White hat hacker."}'

что это было, потому что ваш elasticsearch пуст, попробуйте заполнить его образцами данных, а затем выясните, в чем настоящая проблема. удачи

person user3059465    schedule 03.12.2013
comment
для подключения следует использовать порт 9300 - person Tombart; 05.04.2014

Вы можете проверить этот плагин для Chrome один раз.

https://chrome.google.com/webstore/detail/sense/doinijnbnggojdlcjifpdckfokbbfpbo?hl=en

Это инструмент разработчика с поддержкой JSON для ElasticSearch. Также после создания индекса очистите кеш браузера, закройте браузер и повторите тестирование.

person Anurag Tripathi    schedule 09.01.2014

Что выводит logstash? (имеется в виду как лог-файл)

Версия эластичного поиска, встроенного в logstash, должна соответствовать вашей автономной версии. например logstash 1.3 использует elasticsearch 0.90. logstash 1.4 использует elasticsearch 1.0

Поэтому либо вы должны позаботиться об использовании правильной версии elasticsearch, либо использовать elasticsearch_http в качестве вывода (с портом 9200) для использования REST-API.

person ppuschmann    schedule 19.03.2014

вы должны оставить конфигурацию по умолчанию, удалив эту строку

port => "9300"
person David    schedule 12.06.2014

У меня также была аналогичная проблема, elasticsearch работал на другом порту, и кибана обращалась к нему через порт 9200, который упоминается в файле ./vendor/kibana/config.js внутри домашней папки logstash.

person ravi    schedule 05.08.2014