我正在尝试在ElastAlert中设置一个警报,该警报将通知星期一01:00-02:00的事件数量是否比前一周的同一时间段大或少10%。

我们的数据每天都有很大的不同,例如,与周一相比,周日与小时之间存在很大差异。

有没有办法使用尖峰类型或任何其他过滤器来进行此类检查?

最佳答案

我有同样的问题。我最后 fork 了elastAlert并添加了新的规则类型。

在后台,它发出另一个ES调用并比较数据。它有点脏,不适合原始的elastAlert体系结构。但这确实可以做到。
它是“峰值”和“metric_aggregation”规则的混合。

https://github.com/spodgurskiy/elastalert

这是我的规则配置示例。

# Alert when there is a sudden spike comparing to the historical data
name: Spike detection

type: metric_history_aggregation
index: metrics-*

# Reference window diff in minutes
date_diff_ref: 10080

# Spike detection
threshold_total: 50
threshold_cur: 0
threshold_ref: 0

spike_height: 1.05
spike_type: both # <both/up/down>

# Aggregation
metric_agg_key: "<field_name>"
metric_agg_type: sum
max_threshold:

# Alert section
alert:
- "slack"
alert_display_timezone: US/Pacific
alert_text_type: exclude_fields
alert_subject: ""
slack_webhook_url: "https://hooks.slack.com/services/..."

关于elasticsearch - 比较上周同一时间在ElastAlert中的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42418136/

10-09 19:20