Предупреждение о средней нагрузке Elastalert (metric_aggregation) не работает - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу настроить оповещения, используя elastalert, если средняя загрузка превышает определенный порог

Я настроил example_rules для отправки оповещения, правило выглядит так:

name: Metricbeat CPU Spike Rule
type: metric_aggregation

es_host: elasticsearch
es_port: 9200

index: metricbeat-*

buffer_time:
  minutes: 1

metric_agg_key: system.load.1
metric_agg_type: avg
query_key: beat.hostname
doc_type: metricsets

#bucket_interval:
#  minutes: 1

#sync_bucket_interval: true
#allow_buffer_time_overlap: true
#use_run_every_query_size: true

#min_threshold: 0.0
max_threshold: 0.02

#filter:
#- term:
#    metricset.name: load
# (Required)
# The alert is use when a match is found
alert:
- "slack"
slack:
slack_webhook_url: https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXX
alert_subject: "Issue LARGE_CPU occurred at {0}"
alert_subject_args:
- "@timestamp"
slack_msg_color: warning

Когда япроверить правило, используя elastalert-test-rule, я всегда получаю

elastalert_status - {'hits': 0, 'matches': 0, '@timestamp': datetime.datetime(2019, 4, 15, 11, 32, 30, 752902, tzinfo=tzutc()), 'rule_name': 'Metricbeat CPU Spike Rule', 'starttime': datetime.datetime(2019, 4, 14, 11, 32, 25, 116512, tzinfo=tzutc()), 'endtime': datetime.datetime(2019, 4, 15, 11, 32, 25, 116512, tzinfo=tzutc()), 'time_taken': 5.632839918136597}

Хотя я установил максимальное пороговое значение как 0,02, которое всегда должно пересекаться.

Интеграция для типа: частотаработает нормально, поэтому нет проблем с интеграцией сasticsearch или slack

...