自定义监控项使用说明(需要升级到v3.4.1或以上)

用来实现我们的特殊需求场景,比如监测某个文件的大小,定期执行计划任务,监测某个文件夹下的文件数量,文件被篡改后自动恢复,监控GPU数值等
1、其原理就是agent会定期(默认10分钟)执行用户输入的脚本或指令,脚本或指令最后一行输出一个数字(整型或浮点型都可)或字符串即可,不输出也可以
agent会自动获取脚本指令输出的最后一行内容
如果指令多的话,我们尽量封装成一个脚本,在这直接调用
注意,这里所说的脚本,是在agent主机上的脚本,agent来定期执行这个脚本
定期扫描时间也可以修改,在agent/config/application.properties,找到如下配置项,修改即可
修改后,重启agent生效
2、server端会对脚本或指令输出返回的数字存贮,展示形成趋势图表,也支持对返回结果的设置告警表达式,只要告警表达式成立就会告警通知
如:result>=100,其中result为固定写法,标识为指令或脚本输出结果值(系统会自动替换为数值),注意表达式需为英文输入法拼写
agent上报时会对返回的值做一些符号处理,比如会把换行和空格替换为空,如果需要保留比如空格的话,我们可以自己处理下,比如把空格替换为冒号或下划线
如果不想提示告警,在server/config/application.yml,找到如下配置
修改后,重启server生效
3、执行的指令或脚本,不输出任何数值也可以,输出字符串也可以的(那就不能使用告警表达式了),建议指令或脚本执行时间不要超过60s或直接后台运行
4、v3.4.7版本开始,指令或脚本支持输出多个数字值,用英文逗号隔开即可,那么自定义监控项名称,脚本指令输出的值,告警表达式,多个值的规则如下对应
自定义监控项名称:名称1,名称2
脚本或指令最后一行输出内容:echo 1,2
告警表达式,值1,值2对应表达式变量依次为:result0,result1,如:result0 > result1
以上只是列举了2个值,3个值也是一样的用法
5、自定义监控项视频
6、一个例子,使用自定义监控项,实现监测mysql主从节点同步状态是否正常
7、一个例子,使用自定义监控项,实现监测网站SSL证书到期时间
8、如下例子是使用shell脚本实时统计server运行中产生的日志文件数量,bat脚本也是可以的
/wgcloud/countServerLogs.sh,内容如下
自定义监控项,添加页面内容如下
自定义监控项列表页面内容如下