Frostmourne - Elasticsearch源日志告警配置

本文最后更新于 2024年4月8日 下午

简介

配置Frostmourne 接入Elasticsearch源进行日志匹配告警,并静默规则,告警消息发送到企业微信,告警信息使用Markdown。

部署安装教程查看: https://songxwn.com/frostmourne_install

ELK 安装教程:https://songxwn.com/elk/

ELK集群:https://songxwn.com/elk_cluster/

添加ES 数据源

数据管理 > 数据源 > 新增

  • 类型选择 ES

  • 名称任意填写

  • 服务地址需要写ES地址+端口号,支持写多个ES地址方便集群接入,以逗号隔离。如 192.168.0.1:9200,192.168.0.2:9200

  • 版本选择你的ES对应版本。

  • HTTPS、认证用户、密码。根据自己清空填写。

添加数据名 (索引集合)

用于匹配多个索引,选择数据管理 > 数据名 > 新增

  • 类型选择ES

  • 名称按需填写

  • 数据源选择上一步添加的

  • 说明填写有意义的名字,用于下一步操作。

  • 时间字段写 @timestamp

  • 索引前缀填写你要匹配的索引组

  • 时间后缀写YYYY.MM

  • 显示字段按需填写就行,syslog 一般写message 、host.hostname 、log.syslog.severity.name 即可。

PS:配置对应我的教程 https://songxwn.com/elk/

数据查询-验证生效

选择上面创建的数据名,查询到对应日志即确认配置无问题。

添加监控

选择监控管理 > 监控列表 > 添加报警

基础信息

  • 填写监控名字

  • 团队可以选择默认的

  • 描述写监控的描述

数据配置

  • 数据选择上面创建的数据名

  • 聚合类型选择count即可

  • 查询语句 message: “bfd”,匹配message字段中的bfd字段进行告警。

可参考: https://github.com/AutohomeCorp/frostmourne/blob/master/doc/wiki/es.md

报警规则

  • 判断类型选择数值比较

  • 判断规则选择最近2分钟

  • 指标数值选择大于等于 1.00

  • 报警跳转选择连续一次满足

消息模板

  • 消息类型选择 markdown

模板为一下,适用于企业微信机器人。

1
2
3
4
5
6
# 告警名称:${ALARM_NAME}
# ${ALERT_SILENCE}分钟内重复报警将不发送
> ## 日志信息:${message}
> ## 主机IP:${host.ip}
> ## 主机名:${host.hostname}
> ## 告警时间:${endTime}

最后点击预览数据

报警发送 - 企业微信机器人

  • 报警方式选择企业微信

  • 微信机器人填写你的机器人链接

  • 静默条件选填,我这里是3分钟,判断消息和主机名相同则静默 $.message && $.host.hostname

  • 报警接收人因为是webhook 随便填写即可。

企业微信机器人创建 :https://hiflow.tencent.com/docs/applications/wwx-robot/

调度配置 - 查询批量

  • 用于填写监控的执行间隔时间,一般一分钟即可。

最后点击保存,监控生效。

点击执行一次可立即执行,查看日志是否匹配成功。

更多可参考官方文档: https://github.com/AutohomeCorp/frostmourne/tree/master

或者加官方群骚扰群主:

ES query-string 查询语句文档

https://github.com/AutohomeCorp/frostmourne/blob/master/doc/wiki/query-string.md

示例

1
2
3
4
5
6
7

message: "BGP" NOT log.syslog.severity.name: Notice


匹配关键词BGP,但不匹配日志等级为 Notice的。



Frostmourne - Elasticsearch源日志告警配置
https://songxwn.com/frostmourne_use/
作者
Song
发布于
2024年3月12日
更新于
2024年4月8日
许可协议