elastalert 中文文档:(非常有价值) :连接
官方github源码:Git 连接
官网文档 : 比较全 https://elastalert.readthedocs.io/en/latest/
elastalert的简单运用 (比较详细) : 连接
es 监控错误日志的2种方案(ElastAlert 从0开始搭建) : 连接
kubesphere 部署elastalert : 连接
elastlaert 日志字段意思-60 query hits (0 already seen), 60 matches, 0 alerts sent : 连接
elastalert 规则配置 terms whitelist - 对接口日志进行监控-白名单 : 连接
elastalert 多条件规则配置 : 连接
elastalertRule常用规则 (比较全面,底部的连接也有价值) : 连接
通过elastalert2对elk中的日志进行邮件报警 : 链接
docker pull jertel/elastalert2:2.10.0
ElastAlert 根据elastalert_status去确定首次启动的时候在什么时间范围内去查询,以避免重复查询。对于每个规则,它将从最近的结束时间开始查询。包括:
@timestamp:文件上传到Elasticsearch的时间。这是在运行查询并且已经处理结果之后。
rule_name:相应规则的名称。
starttime:查询的开始时间戳。
endtime:查询结束时间戳。
hits:查询结果的数量。
matches:处理命中后规则返回的匹配数。请注意,这并不一定意味着警报被触发。
time_taken:此查询运行所需的秒数。
告警规则范例
在源码中 example_rules/ 中找到不同类型的规则的示例。
官方github源码:Git 连接
example_spike.yaml是“峰值”规则类型的示例,它使您可以警告某个时间段内的平均事件发生率增加给定因子的时间。当在过去2个小时内发生与过滤器匹配的事件比前2个小时的事件数多3倍时,此示例将发送电子邮件警报。
example_frequency.yaml是“频率”规则类型的示例,它将在一个时间段内发生给定数量的事件时发出警报。此示例将在4小时内出现50个与给定过滤器匹配的文档时发送电子邮件。
example_change.yaml是“更改”规则类型的示例,当两个文档中的某个字段发生更改时,它将发出警报。在此示例中,当两个文档具有相同的“用户名”字段但“ country_name”字段的值不同时,会在24小时之内发送警报电子邮件。
example_new_term.yaml是“新术语”规则类型的示例,当一个或多个新值出现在一个或多个字段中时,它将发出警报。在此示例中,在示例登录日志中遇到新值(“用户名”,“计算机”)时,将发送一封电子邮件。
# email subject
alert_subject: "{} something occur in {}"
alert_subject_args:
- "@timestamp"
- area
# alert text only configured
alert_text_type: alert_text_only
# "|" means remove useless characters
alert_text: |
occured time: {:%Y-%m-%d %H:%M:%S}
period: {:%Y-%m-%d %H:%M:%S} to {:%Y-%m-%d %H:%M:%S}
recent event:
{}
alert_text_args:
- "@timestamp"
- starttime
- endtime
- match_body
经测试, endtime
无效, timestamp
和 starttime 无法转换成有效时间。
多规则匹配:
https://elastalert.readthedocs.io/en/latest/recipes/writing_filters.html
query_string:
filter:
- query:
query_string:
query: "username: bob"
- query:
query_string:
query: "_type: login_logs"
- query:
query_string:
query: "field: value OR otherfield: othervalue"
- query:
query_string:
query: "this: that AND these: those"
terms
- terms:
fieldX: ["value1", "value2"]
fieldY: ["something", "something_else"]
fieldZ: ["foo", "bar", "baz"]
案例:
filter:
- terms:
kubernetes.namespace_name: ["openai"]
- terms:
log: ["error"]
欢迎来撩 : 汇总all