Работает ли elastalert с ElasticSearch 6?

Иметь образ докера elastalert (https://hub.docker.com/r/ivankrizsan/elastalert/), который работал с elasticsearch 5.6, изменен на тестовую среду с ElasticSearch 6.1 (без индекса) и теперь получает

Creating Elastalert index in Elasticsearch...
Traceback (most recent call last):
  File "/usr/bin/elastalert-create-index", line 11, in <module>
    load_entry_point('elastalert', 'console_scripts', 'elastalert-create-index')()
  File "/opt/elastalert/elastalert/create_index.py", line 153, in main
    es.indices.put_mapping(index=index, doc_type='elastalert', body=es_mapping)
  File "build/bdist.linux-x86_64/egg/elasticsearch/client/utils.py", line 73, in _wrapped
  File "build/bdist.linux-x86_64/egg/elasticsearch/client/indices.py", line 282, in put_mapping
  File "build/bdist.linux-x86_64/egg/elasticsearch/transport.py", line 312, in perform_request
  File "build/bdist.linux-x86_64/egg/elasticsearch/connection/http_requests.py", line 90, in perform_request
  File "build/bdist.linux-x86_64/egg/elasticsearch/connection/base.py", line 125, in _raise_error
elasticsearch.exceptions.RequestError: TransportError(400, u'mapper_parsing_exception', u'No handler for type [string] declared on field [aggregate_id]')

person david    schedule 19.12.2017    source источник
comment
Когда я запускаю: curl -XGET 10.10.10.185:9200/elastalert_status/elastalert/ Затем я получаю: {взял:0,timed_out:false,_shards:{всего:5,успешно:5,пропущено:0,неудачно:0},попаданий:{всего:0,max_score:null,попаданий:[ ]}}   -  person david    schedule 19.12.2017
comment
или при запуске ElastAlert: 2017-12-19 15:46:43,392 Вывод DEBG 'elastalert' stderr: ОШИБКА: корень: Ошибка при поиске последних ожидающих предупреждений: TransportError (400, u'parsing_exception', u'Неизвестный ключ для START_OBJECT в [ filter].') {'filter': {'range': {'alert_time': {'to': '2017-12-19T15:46:43.385087Z', 'from': '2017-12-17T15:46 :43.384974Z'}}}, 'запрос': {'query_string': {'запрос': '!_exists_:aggregate_id AND alert_sent:false'}}, 'sort': {'alert_time': {'order': ' asc'}}} ... 400, u'parsing_exception', u'Неизвестный ключ для START_OBJECT в [фильтр].')   -  person david    schedule 19.12.2017


Ответы (2)


На данный момент elastalert не поддерживает elasticsearch 6.0 из коробки. Вот открытый вопрос на github: https://github.com/Yelp/elastalert/issues/1399, который отслеживает проблему. Обход также упоминается в https://github.com/Yelp/elastalert/pull/ 1426.

person user2859314    schedule 02.01.2018

Пожалуйста, обновите elastalert до последней версии. Я использую Elasticsearch 6.2 с ElastAlert 0.1.29, и они работают правильно.

person xuanhai266    schedule 28.02.2018