0.前言
前面我们部署了夜莺监控平台,并通过categraf采集到了服务器基础监控指标,还在监控平台进行了数据展示。在实际工作中,监控数据只是对运维工程师有用,而其他人更关心的则是如何通过监控平台知晓系统是否异常,那么今天我们就在夜莺平台添加告警规则,并将告警信息通过企业微信发送。
1.导入告警规则
告警规则就是在一定的规则在产生告警,夜莺非常贴心的内置了许多好用的告警规则,因为上次我们部署的categraf主要监控的是服务器基本信息,那么这次的告警也主要是针对服务器基础指标(cpu,内存,磁盘空间)。
依次选择【告警】->【规则管理】菜单,进入规则管理界面,如下图所示:
目前我们没有导入任何告警规则,所以该页面是空的,之后点击【导入】按钮,出现如下界面:
在组件下拉框中输入"Linux",并选中"Linux"选项,会出现如下界面:
之后在"分类"下拉框中选中"常用中文告警规则-采集器Categraf"选项,会出现如下界面:
将下面所有告警规则全选,然后点击【导入】按钮,即可完成告警规则的导入,并且在告警规则界面可以看到,如下图所示:
2.告警规则讲解
前面已经导入了一些告警规则,我们来简单看一下告警规则的详情,在告警规则界面点击刚刚导入的"内存使用率比较高"规则,进入如下界面:
该界面内容非常丰富,当前主要需要关注的是告警条件,如下图所示:
可以三条判断语句,分别是:
- mem_available_percent < 25 (三级告警)
- mem_available_percent < 15 (二级告警)
- mem_available_percent < 5 (一级告警) "mem_available_percent"是一条PromQL查询语句,表示可用内存百分比,所以判断条件分别是可用内存百分比小于25%(三级告警)、15%(二级告警)、5%(一级告警),可用内存越小,告警级别就越高,在最下面还说明了告警频率,表示每15s执行一次告警。其他模板也类似这样,主要是要看懂告警触发条件。
3.配置告警通知
在夜莺平台,如果要通过企业微信发送告警通知,需要指定接受告警的团队和团队成员,该团队成员的联系方式也得设置为企业微信机器人地址,之后再将通知告警授权给群组。
3.1 新建群组
依次选择【人员组织】->【团队管理】进入团队管理界面,之后点击团队列表右侧“+”号按钮,添加接收告警的团队,如下图所示:
点击“+”号按钮之后出现如下界面:
输入名称和备注即,我们这里取名叫“告警机器人群组”,之后点击【确定】按钮既可完成新建团队。
3.2 新增用户
依次选择【人员组织】->【用户管理】菜单项,进入用户管理界面,如下图所示:
之后点击右上角【新增】按钮,出下新增用户界面,如下图所示:
输入用户名(这里叫robot)密码,角色选择“Guest”,之后点击【确定】按钮,完成用户新增。
3.3 创建企微机器人
可以找认识的小伙伴在企微上创建一个测试监控告警的群组,之后点击右上角“...”更多按钮,之后点击【添加群机器人】按钮,如下图所示:
继续点击“新创建一个机器人”选项,出现如下界面:
输入机器人名称(这里叫MiniRobot),然后点击【添加机器人】按钮,出现机器人详webhook地址,如下图所示:
记得保存机器人webhook地址,并且不要泄露给其他人,到此微信机器人创建完成。
3.4 添加联系方式
依次选择【人员组织】->【用户管理】进入用户管理界面,然后在【操作】选项编辑用户信息,如下图所示:
之后选择“联系方式管理”选项,进入如下界面:
然后点击【新增】按钮,出现如下界面:
输入名称和标识,我这里统一输入"MiniRobot",输入完成之后点击【确定】按钮即可。
回到编辑用户界面,在联系方式处选择"MiniRobot",在后面的输入框输入企微机器人的Webhook地址,如下图所示:
最后点击【确认】按钮即可添加完成。
3.5 新增通知规则
依次选择【通知】->【通知规则】进入通知规则界面,如下图所示:
之后选择右上角【新增】按钮添加通知规则,如下图所示:
输入名称(这里是wecom),授权团队是"告警机器人群组",通知媒介选择"Wecom"(表示企业微信),通知模板会自动选择为"Wecom",并新出现"key"和"Bot Name"选项,"key"需要输入企微机器人webhook最后一段"key=xxxxxxxx",Bot Name则还是输入"MiniRobot",填写完毕之后点击【保存】按钮即可。
4.告警验证
我们测试一下告警信息是否可以发送到企业微信,将三级告警的内存不足告警阈值调高到80,也就是将告警判断语句修改为:mem_available_percent < 80,等待一段时间之后,可以看到企业微信确实接收到告警信息,如下图所示:
可以看到,告警信息成功发送给了企业微信,告警内容显示为服务器内存压力大。
5.总结
通过以上操作,我们可以看到整个监控告警过程都是在夜莺上面配置的,整个操作过程还是比较简单的,而通过通知团队的方式发送告警可以将不同的业务告警发送给不同的团队,更加的灵活,除了通过企业微信发送告警,夜莺还支持非常多其他的通知平台,比如邮件和钉钉,还是非常好用的。