zabbix深入自定义监控 zabbix多条件触发 监控内存可用的百分比 [root@db01 ~]# free -m|awk 'NR==2{print $NF/$2*100}'66.3131## 此目录可存放所有监控的自定义文件[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.d/me
zabbix深入自定义监控
zabbix多条件触发
监控内存可用的百分比
[root@db01 ~]# free -m|awk 'NR==2{print $NF/$2*100}' 66.3131 ## 此目录可存放所有监控的自定义文件 [root@db01 ~]# vim /etc/zabbix/zabbix_agentd.d/mem.conf UserParameter=mem.available,free -m|awk 'NR==2{print $NF/$2*100}'目前属于单条件触发器,因为内存低于30%就报警了,在生产中,我们应该是当内存低于30%并且占用了swap空间,然后再报警。
[root@db01 ~]# free -m total used free shared buff/cache available Mem: 1980 522 964 9 493 1306 Swap: 2047 0 2047 [root@db01 ~]# free -m|awk '/^Swap/{print $NF/$2}' 1 [root@db01 ~]# vim /etc/zabbix/zabbix_agentd.d/swap.conf UserParameter=swap.available,free -m|awk '/^Swap/{print $NF/$2}' and #并且 or #或者 last() #比对最新的值 avg() #平均值 diff() #比对上一次文件的内容 nodata() #收不不到数据进行报警nodata(5m) (5m) #表示最近5分钟得到值 (#5) #表示最近5次得到的值zabbix 5.x以上告警
故障告警
<head> <style type="text/css"> table .guzhang {color: red;} </style> </head> <body> <img src="https://blog.driverzeng.com/zenglaoshi/sos.png" alt=""> <table border="3" bordercolor="black" cellspacing="0px" cellpadding="4px" width="500px"> <tr class="guzhang" bgcolor="#0C1B3D" ><th colspan=2> {TRIGGER.STATUS} 故障!!!故障!!! <div>😂 😂 😂</div> </tr> <tr > <td bgcolor="#F9B602" width="20%">告警主机</td> <td bgcolor="#F9B602">{HOSTNAME1}</td> </tr> <tr > <td bgcolor="#F9B602">告警别名</td> <td bgcolor="#F9B602">{HOST.NAME} </td> <tr > <tr > <td bgcolor="#F9B602">告警地址</td> <td bgcolor="#F9B602">{HOST.IP}</td> </tr> <tr> <td bgcolor="#F9B602">告警时间</td> <td bgcolor="#F9B602">{EVENT.DATE} {EVENT.TIME}</td> </tr> <tr> <td bgcolor="#F9B602">告警等级</td> <td bgcolor="#F9B602">{TRIGGER.SEVERITY}</td> </tr> <tr> <td bgcolor="#F9B602">告警信息</td> <td bgcolor="#F9B602">{TRIGGER.NAME}</td> </tr> <tr> <td bgcolor="#F9B602">告警项目</td> <td bgcolor="#F9B602">{TRIGGER.KEY1}</td> </tr> <tr > <td class='guzhang2' bgcolor="#FF3333">问题详情</td> <td class='guzhang3' bgcolor="#FF3333">{ITEM.NAME}: {ITEM.VALUE} 😈 😈 😈</td> </tr> <tr> <td bgcolor="#F9B602">当前状态</td> <td bgcolor="#F9B602">{TRIGGER.STATUS}: {ITEM.VALUE1}</td> </tr> <tr> <td bgcolor="#F9B602">事件ID</td> <td bgcolor="#F9B602">{EVENT.ID}</td> </tr> </table> </body>恢复告警
<head> <style type="text/css"> table .guzhang { color: red; } </style> </head> <body> <img src="https://blog.driverzeng.com/zenglaoshi/huifu.png" alt=""> <table border="1" bordercolor="black" cellspacing="0px" cellpadding="4px" width="500px"> <tr bgcolor="#49c208"><th colspan=2> {TRIGGER.STATUS} 哈哈哈哈哈哈,好了 <div>😀 😀 😀</div> </tr> <tr > <td bgcolor="lightgreen" width="20%">恢复主机</td> <td bgcolor="yellow">{HOSTNAME1}</td> </tr> <tr> <td bgcolor="lightgreen">恢复别名</td> <td bgcolor="yellow">{HOST.NAME} </td> <tr > <td bgcolor="lightgreen">恢复地址</td> <td bgcolor="yellow">{HOST.IP}</td> </tr> <tr> <td bgcolor="lightgreen">恢复时间</td> <td bgcolor="yellow">{EVENT.DATE} {EVENT.RECOVERY.TIME}</td> </tr> <tr> <td bgcolor="lightgreen">恢复等级</td> <td bgcolor="yellow">{TRIGGER.SEVERITY}</td> </tr> <tr> <td bgcolor="lightgreen">恢复信息</td> <td bgcolor="yellow">{TRIGGER.NAME}</td> </tr> <tr> <td bgcolor="lightgreen">恢复项目</td> <td bgcolor="yellow">{TRIGGER.KEY1}</td> </tr> <tr > <td bgcolor="#49c208">恢复详情</td> <td bgcolor="#49c208">{ITEM.NAME}: {ITEM.VALUE} ⚡ ⚡ ⚡</td> </tr> <tr> <td bgcolor="lightgreen">当前状态</td> <td bgcolor="yellow">{TRIGGER.STATUS}: {ITEM.VALUE1}</td> </tr> <tr> <td bgcolor="lightgreen">事件ID</td> <td bgcolor="yellow">{EVENT.ID}</td> </tr> </table> </body>zabbix的自愈模式
有些时候,我们的服务宕机了,或者有些服务停掉了,那么我们可以先尝试让他启动,看是否能起的来,为了不影响用户的体验,先把服务起起来,然后再去排查,是什么原因故障的。
那么此时我们就需要用到zabbix的自愈模式,这个...叫起来很好听,说白了,就是在让zabbix-server通过远程执行命令的方式,在agent上执行命令,启动服务。
## 修改配置文件 [root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands=1测试
[root@db01 ~]# systemctl stop sshd.servicezabbix告警升级机制
计算方式:1)开始于 ,这个是相对一但触发监控,则立即发送消息2)1-2步骤是给运维组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次3)3-4步骤是给运维经理组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次4)4-5步骤是给运维总监组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次5)每次的开始时间是如何计算的呢,第一个立即开始:1-2,3-4,4-5动作时间间隔是5分钟,所以在触发告警发送时间计算是5m+5m+5m=15m