15 Star 23 Fork 10

般若菠萝蜜 / policeRecover

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
rule.config 3.39 KB
一键复制 编辑 原始数据 按行查看 历史
般若菠萝蜜 提交于 2018-01-18 14:32 . 初始化提交
#!/bin/bash
#规则库配置
#一行代表1条规则配置,排除全局配置中配置的${skipRuleParams}中要跳过校验的字段以外,其他字段都是必须校验的字段,以||为间隔
#1.0 非规则库校验的字段
#skipRuleParams
#serial:序号(唯一) env:执行环境 dev:读取全局配置devConf test:读取全局配置testConf 52zzb:读取全局配置zzbConf com:读取全局配置comConf
#isactive:0(不启用该条规则) 1(启用该条规则)
#cmd:自愈执行命令
#1.1 自愈执行后校验返回结果
#ischeck: 0(不校验返回结果) 1(校验返回结果)
#returncode(http返回码/执行返回值) returnreqiure(返回内容判断) returntimeout(返回超时时间/连接超时时间,单位秒)
#2.0 规则配置中远程执行方式
#runlevel:0(自定义api) 1(salt-api) 2(免秘钥ssh执行) 3(ssh expect函数执行) 4(ansible远程执行) 5(sshpass) 不存在时:取全局的runlevel
#3.0 规则库配置
#除了skipRuleParams中排除的字段,其他字段为zabbix返回要校验的字段,可以为1个或多个字段(无限制,根据你的zabbix内容设置)
#解释我使用到几个关键字段
#3.1 举例
#triggervalue:{=,1} 条件1: triggervalued=1时,也即故障报警时
#ipaddress:{=,192.167.3.102} 条件2: 故障主机为192.167.3.102
#triggername:{like,Free disk space is less than%} 条件3: 故障名称为Free disk space is less than开头时
#triggerkey:{=,vfs.fs.size[/var,pfree]} 条件4: 故障报警的key,这里指的/var空间不足时
#itemvalue:{lt,20} 条件5: 故障报警key的值,这里指的是/var的空间不足20%时
#以上条件为并且条件,只有都成立时才会触发cmd自愈.也可以只有2个条件或者更多的条件比如条件4和条件2,看你的报警需求
#3.2 规则库的规则格式
#||zabbix设置的key:{条件,预期值}||
#3.3 规则库的支持条件
#数值比较(支持浮点数) gt:大于 lt:小于 ge:大于等于 le:小于等于 eq:等于
#字符串相等 =
#模糊匹配 string%: 以string开头 %string: 以string结尾 %string%: 中间包含string
serial:1||env:dev||isactive:1||triggervalue:{=,1}||ipaddress:{=,192.168.1.5}||triggername:{like,8080 service is down on%}||triggerkey:{=,net.tcp.port[,8080]||itemvalue:{eq,0}||cmd:/bin/bash /usr/local/tomcat/bin/startup.sh ||ischeck:1||returncode:200||returnreqiure:{like,%started%}||returntimeout:60||runlevel:1
serial:2||env:dev||isactive:1||triggervalue:{=,1}||ipaddress:{like,192.168.1%}||triggername:{like,Free disk space is less than%}||triggerkey:{=,vfs.fs.size[/var,pfree]}||itemvalue:{lt,20}||cmd:echo '' && echo 删除前/var大小&& du -sh /var && find /var/log/logcenter/ -type f -mtime +10 -exec rm -f {} \\; && echo 10天前的文件删除成功 && echo 删除后/var大小&& du -sh /var||ischeck:1||returncode:0||returnreqiure:{like,%成功%}||returntimeout:60||runlevel:5
serial:3||env:dev||isactive:1||triggervalue:{=,1}||ipaddress:{=,192.168.3.102}||triggername:{like,首页200监控%}||triggerkey:{=,web.test.rspcode[3.102首页,首页]||itemvalue:{=,404}||cmd:/etc/init.d/nginx restart||ischeck:1||returncode:200||returnreqiure:{like,%success%}||returntimeout:60
serial:4||env:dev||isactive:1||triggervalue:{=,1}||ipaddress:{=,192.168.1.9}||triggername:{like,HTTP service is down on%}||triggerkey:{=,net.tcp.service[http]||itemvalue:{=,Down (0)}||cmd:/etc/init.d/nginx restart||ischeck:1||returncode:200||returnreqiure:{like,%success%}||returntimeout:60||runlevel:0
Shell
1
https://gitee.com/lookingdreamer/policeRecover.git
git@gitee.com:lookingdreamer/policeRecover.git
lookingdreamer
policeRecover
policeRecover
master

搜索帮助