#elasticsearch #elastic-stack #filebeat
#elasticsearch #эластичный стек #filebeat
Вопрос:
Filebeat перестал работать после обновления с 6.6.2 до 6.7.0
Моя конфигурация Filebeat:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/www/current/log/production.log
- /var/www/current/log/api_v2.production.log
multiline.pattern: '^[EIWDF], '
multiline.negate: true
multiline.match: after
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 3
setup.kibana:
output.elasticsearch:
hosts: ["ip:29200"]
Но /var/log /filebeat / filebeat показывает:
2019-03-28T14:12:11.091Z ERROR pipeline/output.go:100 Failed to connect to backoff(elasticsearch(http://ip:9200)): Connection marked as failed because the onConnect callback failed: This Beat requires the default distribution of Elasticsearch. Please upgrade to the default distribution of Elasticsearch from elastic.co, or downgrade to the oss-only distribution of beats
2019-03-28T14:12:11.091Z INFO [publish] pipeline/retry.go:189 retryer: send unwait-signal to consumer
2019-03-28T14:12:11.091Z INFO [publish] pipeline/retry.go:191 done
2019-03-28T14:12:11.091Z INFO [publish] pipeline/retry.go:166 retryer: send wait signal to consumer
2019-03-28T14:12:11.091Z INFO [publish] pipeline/retry.go:168 done
2019-03-28T14:12:11.091Z INFO pipeline/output.go:93 Attempting to reconnect to backoff(elasticsearch(http://ip:9200)) with 5 reconnect attempt(s)
2019-03-28T14:12:11.125Z INFO elasticsearch/client.go:739 Attempting to connect to Elasticsearch version 6.7.0
Однако, когда я нажимаю curl ip:9200
, он возвращается:
{
"name" : "30KRsiU",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "xim_BCzFSXWrAO_kMO3TQA",
"version" : {
"number" : "6.7.0",
"build_flavor" : "oss",
"build_type" : "docker",
"build_hash" : "8453f77",
"build_date" : "2019-03-21T15:32:29.844721Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
Как мне заставить это работать? У меня закончились идеи. Спасибо за любую помощь.
Ответ №1:
Если вы используете дистрибутив Elasticsearch с открытым исходным кодом «OSS», то все подключенные beats также должны быть развернуты с соответствующей версией «OSS». При использовании изображений docker добавьте -oss
суффикс к имени изображения, чтобы получить правильное изображение. При загрузке файлов с веб-сайта elastic вставьте -oss
перед номером версии, например https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.0.0-linux-x86_64.tar.gz
Ответ №2:
У меня такая же проблема (с сердцебиением), и одним из предлагаемых решений является понижение версии до 6.6.2
2019-04-01T09:36:27.474 Экземпляр ОШИБКИ Z / beat.go: 802 Завершение: не удалось подключиться ни к одному из настроенных узлов Elasticsearch. Ошибки: [Ошибка подключения к Elasticsearchhttp://localhost:19200 : Соединение помечено как неудачное из-за сбоя обратного вызова OnConnect: Для этого такта требуется распределение Elasticsearch по умолчанию. Пожалуйста, обновите Elasticsearch до дистрибутива по умолчанию с elastic.co или понизьте версию beats до дистрибутива только для операционной системы]
Шаги
wget https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-6.6.2-amd64.deb
dpkg -i heartbeat-6.6.2-amd64.deb
сердцебиение службы sudo -перезапуск elastic
Журнал теперь показывает, что он успешно подключен к ES
2019-04-01T09:42:38.061Z ИНФОРМАЦИОННЫЙ конвейер / output.go: 105 Подключение к backoff (elasticsearch(http://localhost:9200 )) установлено