下面以程序日志错误监控为例子,说明创建一个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
,还会
支持influxdb
等其它数据源类型。索引后缀如果不是标准的时间模式或者单位小于天的时间模式,可以用*
号。
其中显示字段可以配置数据查询页面列表表头显示的字段和顺序
添加完数据名,打开数据查询页面。下拉选择刚才保存的数据名,点击查询。如果查出来数据和你的索引数据对上了,说明数据信息都 填写正确了。
query string
查询语句语法不清楚的,可以参考文档: query string简易教程,查询页面主要
小特性列表
- 查询语句输入框会有历史查询记忆功能,用起来很方便。
- 数据表格第一列是一个展开箭头,可以展开数据查看完整的日志内容。
- 数据可以下载,文件格式为
csv
,限制在10w条以内 - 点击分享按钮,查询还可以以短链接的形式分享给其他人
- 如果你想用当前查询语句创建监控,直接点击添加监控按钮,就会直接带到监控创建页面
这些小功能可以说相当贴心了。
打开页面:监控管理->监控编辑。填入信息并保存,保存前可以先进行测试。
查询语句如下,表示查询项目dbtree
的错误日志
Team: dealer.arch AND Project: dbtree AND Level: ERROR
本项目elasticsearch
查询语句使用的是query string
语句,并非DSL query, 这里提供了一个简易教程供不会的同学快速
入门,英文水平可以的同学最好是看官方文档
表示最近5分钟查出来的日志数量大于1就报警
以我们的日志格式为例,我们定制的消息模板为:
${Project}最近${TIME_WINDOW}分钟内有异常日志${NUMBER}条。最近一条异常信息:
服务器IP: ${ServerIP}
异常类型: ${ExceptionType}
自定义信息: ${CustomMessage}
异常信息: ${ExceptionMessage}
注意:使用者需要根据自己的日志格式指定消息模板,不能直接套用我们的,因为大家日志格式都不一样。关于消息模板如何定制,请看文档:消息模板配置
保存成功后,就可以运行一下试试看了。打开页面:监控管理->监控列表。
点击运行按钮,就会弹出运行结果,如果产生报警的话,还会根据你配置的发送方式收到报警消息。我们的消息大概是这样子:
监控每次运行都会产生一条执行日志,在页面监控管理->执行日志。能看到所有监控的执行日志。如果产生了报警发送,还会产生 消息发送记录,在页面监控管理->我的消息。可以看到所有发送给你的消息。
虽然不同公司的日志格式不一样,所以报警消息模板无法重用,但是一个团队内日志格式是统一的,所以报警模板在团队内是可以重用的。 这个时候报警模板管理就排上用场了。消息模板分为两类。
- 通用模板。不属于任何数据,都可以用,比如同比消息模板。
- 数据模板。属于一种数据名,只有在选择这个数据名的时候才可以选用,比如程序错误日志消息模板