文章目录
展开邮件告警(5.0)
添加报警媒介类型
创建用户
添加动作
验证(之前设置了登录>=3个用户报警)
邮件告警(3.0)
添加报警媒介类型
添加用户
添加动作
验证
优化告警信息(5.0)
## 故障主题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
## 发送故障消息
告警地址:{HOST.IP}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
## 恢复主题
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
## 发送恢复消息
告警地址:{HOST.IP}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
测试
优化告警信息(3.0)
修改动作
## 故障主题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
## 发送故障消息
告警地址:{HOST.IP}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
## 恢复主题
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
## 发送恢复消息
告警地址:{HOST.IP}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
验证
HTML邮件告警(5.0)
## 故障主题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
## 发送故障消息代码
<head>
<style type="text/css">
body{
background:url('https://seopic.699pic.com/photo/40007/7490.jpg_wh1200.jpg');
}
</style>
</head>
<body>
<img src="https://www.wodeyumengouwo.com/wp-content/uploads/2023/08/zabbix_gaojin-280x300.jpg" alt="">
<style type="text/css">
table .guzhang {color: red;}
</style>
<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>
## 恢复主题
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
## 发生恢复故障消息代码
<head>
<style type="text/css">
table .guzhang {
color: red;
}
body{
background:url('https://seopic.699pic.com/photo/40007/7490.jpg_wh1200.jpg');
}
</style>
</head>
<body>
<img src="https://www.wodeyumengouwo.com/wp-content/uploads/2023/08/zabbix_huifu-289x300.jpg" 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>
添加报警媒介类型
添加用户
添加动作
验证
多条件触发器(5.0)
## 监控mem跟swap
## 修改配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/nc.conf
UserParameter=mem.state,free -m|awk '/^Mem/{print $NF*100/$2}'
UserParameter=swap.state,free -m|awk '/^Swap/{print $NF*100/$2}'
## 重启
[root@web01 ~]# systemctl restart zabbix-agent.service
## 验证
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k mem.state
61.7284
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k swap.state
100
添加men监控项
添加swap监控项
添加多条件触发器
测试
[root@web01 ~]# dd < /dev/zero > /dev/null bs=1600M count=1024
常用触发器条件表达式
and #并且
or #或者
last() #比对最新的值
avg() #平均值
diff() #比对上一次文件的内容
nodata() #收不不到数据进行报警nodata(5m)
(5m) #表示最近5分钟得到值
(#5) #表示最近5次得到的值
多条件触发器(3.0)
## 监控mem跟swap
## 修改配置文件
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.d/nc.conf
UserParameter=mem.state,free -m|awk '/^Mem/{print $NF*100/$2}'
UserParameter=swap.state,free -m|awk '/^Swap/{print $NF*100/$2}'
## 重启
[root@web02 ~]# systemctl restart zabbix-agent.service
## 验证
[root@zabbix-server02 ~]# zabbix_get -s 172.16.1.8 -k mem.state
72.5309
[root@zabbix-server02 ~]# zabbix_get -s 172.16.1.8 -k swap.state
100
添加men监控项
添加swap监控项
添加多条件触发器
验证
- 测试
[root@web02 ~]# dd < /dev/zero > /dev/null bs=1600M count=1024
zabbix自愈模式(5.0)
添加ssh监控项
添加ssh触发器
创建自愈动作
## 修改配置文件 允许执行远程命令
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 //随便加加进去就行
# 客户端zabbix用户要sudo提权
[root@web01 ~]# visudo
%zabbix ALL=(ALL) NOPASSWD:ALL
# 客户端zabbix用户要/bin/bash登录
[root@web01 ~]# usermod zabbix -s /bin/bash
# 3.测试
[root@web01 ~]# su - zabbix -c 'sudo ls -l /'
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
total 20
lrwxrwxrwx. 1 root root 7 Apr 11 16:18 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Apr 11 16:23 boot
drwxr-xr-x 19 root root 3200 Aug 16 19:34 dev
drwxr-xr-x. 79 root root 8192 Aug 16 19:56 etc
drwxr-xr-x. 3 root root 16 Aug 14 21:10 home
lrwxrwxrwx. 1 root root 7 Apr 11 16:18 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Apr 11 16:18 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x 118 root root 0 Aug 16 19:34 proc
dr-xr-x---. 3 root root 213 Aug 16 19:52 root
drwxr-xr-x 24 root root 600 Aug 16 19:34 run
lrwxrwxrwx. 1 root root 8 Apr 11 16:18 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Aug 16 19:34 sys
drwxrwxrwt. 14 root root 4096 Aug 16 19:35 tmp
drwxr-xr-x. 13 root root 155 Apr 11 16:18 usr
drwxr-xr-x. 19 root root 267 Apr 11 16:42 var
## 停止sshd服务
[root@web01 ~]# systemctl stop sshd.service
## 验证一下
[root@web01 ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5340/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 959/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5162/zabbix_agentd
tcp6 0 0 :::22 :::* LISTEN 5340/sshd
tcp6 0 0 :::3000 :::* LISTEN 805/grafana
tcp6 0 0 ::1:25 :::* LISTEN 959/master
tcp6 0 0 :::10050 :::* LISTEN 5162/zabbix_agentd
zabbix自愈模式(3.0)
添加ssh监控项
添加ssh触发器
创建自愈动作
## 修改配置文件 允许执行远程命令
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 //随便加加进去就行
# 客户端zabbix用户要sudo提权
[root@web02 ~]# visudo
%zabbix ALL=(ALL) NOPASSWD:ALL
# 客户端zabbix用户要/bin/bash登录
[root@web02 ~]# usermod zabbix -s /bin/bash
# 3.测试
[root@web02 ~]# su - zabbix -c 'sudo ls -l /'
su: warning: cannot change directory to /var/lib/zabbix: No such file or directory
total 16
lrwxrwxrwx. 1 root root 7 Apr 11 16:18 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Apr 11 16:23 boot
drwxr-xr-x 19 root root 3200 Aug 16 08:36 dev
drwxr-xr-x. 75 root root 8192 Aug 16 21:41 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Apr 11 16:18 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Apr 11 16:18 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x 116 root root 0 Aug 16 08:36 proc
dr-xr-x---. 3 root root 163 Aug 16 21:40 root
drwxr-xr-x 23 root root 580 Aug 16 08:36 run
lrwxrwxrwx. 1 root root 8 Apr 11 16:18 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Aug 16 08:36 sys
drwxrwxrwt. 10 root root 195 Aug 16 09:42 tmp
drwxr-xr-x. 13 root root 155 Apr 11 16:18 usr
drwxr-xr-x. 19 root root 267 Apr 11 16:42 var
## 重启服务
[root@web02 ~]# systemctl restart zabbix-agent.service
## 停止sshd服务
[root@web02 ~]# systemctl stop sshd.service
## 验证
[root@web02 ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 46683/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 994/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 46239/zabbix_agentd
tcp6 0 0 :::22 :::* LISTEN 46683/sshd
tcp6 0 0 ::1:25 :::* LISTEN 994/master
tcp6 0 0 :::10050 :::* LISTEN 46239/zabbix_agentd
Comments | NOTHING