https://github.com/AutohomeCorp/frostmourne
只需要写一条数据查询就可以轻松搞定监控
多种数据源支持:Elasticsearch, HTTP, SkyWalking, Prometheus, InfluxDB, MySQL/TiDb, ClickHouse, PING, IotDB, Telnet
数值计算类型监控:count, min, max, avg, sum, unique count, percentiles, standard deviation
; Elasticsearch
数据支持分桶
多种报警消息发送方式:钉钉(机器人)、企业微信(机器人)、飞书机器人、Email 、短信、HTTP
多种消息格式:text, markdown
灵活的报警消息Freemarker
模板定制,支持变量占位符;消息模板管理
分布式调度实现,每个监控都是独立调度,互不影响
报警消息附带日志查询短链接,直达报警原因
数值同比,环比监控
HTTP
数据监控, Javascript
表达式判断是否报警; PING
连通监控, Telnet
端口连通监控
前端简单易用:监控管理、测试、另存、执行日志和历史消息
Elasticsearch
数据查询、分享和下载
报警消息抑制功能,防止消息轰炸;也有报警升级功能,避免故障相关方长时间得不到通知。
自带账号,团队,部门信息管理模块,也可自己实现内部对接
集成LDAP
登录认证
权限控制,数据隔离,各团队互不影响
Elasticsearch
数据监控指南下面以程序日志错误监控为例子,说明创建一个Elasticsearch
监控的过程
Elasticsearch
数据源打开页面:数据管理->数据源,点击新增按钮,弹出窗口,填写字段并保存。
其中服务地址填写 Elasticsearch 服务的地址,如果有多个用英文逗号分隔。其中服务地址格式为: ${ip}:${port}, 注意 不需要带 scheme ,举个栗子:127.0.0.1:80,127.0.0.2:80
- 注意服务地址端口不能缺省,就算是 80 端口也需要加上, 而且不能带 scheme( http, https)
- es 开启 http-ssl 认证时,需要上传
.p12
扩展名 ssl 证书以及证书密码,如:elastic-certificates.p12
Elasticsearch
数据名打开页面:数据管理 -> 数据名,点击新增按钮,弹出窗口,填写字段并保存。
数据名在Elasticsearch
场景可以理解为索引模式,之所以不直接用索引,是因为项目计划不只支持Elasticsearch
,还会
支持influxdb
等其它数据源类型。索引后缀如果不是标准的时间模式或者单位小于天的时间模式,可以用*
号。
其中显示字段可以配置数据查询页面列表表头显示的字段和顺序
添加完数据名,打开数据查询页面。下拉选择刚才保存的数据名,点击查询。如果查出来数据和你的索引数据对上了,说明数据信息都 填写正确了。
csv
,限制在 10w 条以内这些小功能可以说相当贴心了。
打开页面:监控管理->监控编辑。填入信息并保存,保存前可以先进行测试。
查询语句如下,表示查询项目dbtree
的错误日志
Team: dealer.arch AND Project: dbtree AND Level: ERROR
表示最近 5 分钟查出来的日志数量大于 1 就报警
以我们的日志格式为例,我们定制的消息模板为:
${Project}最近${TIME_WINDOW}分钟内有异常日志${NUMBER}条。最近一条异常信息:
服务器 IP: ${ServerIP}
异常类型: ${ExceptionType}
自定义信息: ${CustomMessage}
异常信息: ${ExceptionMessage}
注意:使用者需要根据自己的日志格式指定消息模板,不能直接套用我们的,因为大家日志格式都不一样。关于消息模板如何定制,请看文档:消息模板配置
保存成功后,就可以运行一下试试看了。打开页面:监控管理->监控列表。
点击运行按钮,就会弹出运行结果,如果产生报警的话,还会根据你配置的发送方式收到报警消息。我们的消息大概是这样子:
监控每次运行都会产生一条执行日志,在页面监控管理->执行日志。能看到所有监控的执行日志。如果产生了报警发送,还会产生 消息发送记录,在页面监控管理->我的消息。可以看到所有发送给你的消息。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.