zabbix添加自定义监控并使用本地用户发送报警邮件
需求说明
监控httpd的进程,并使用本地用户发送邮件
操作环境
zabbix服务端和客户端均配置完成并可以正常使用,服务端安装mailx不需要修改配置文件
zabbix配置服务端和客户端并添加监控
操作步骤
- 客户端
①.创建自定义监控的脚本
[[email protected] ~]# mkdir /scripts/
[[email protected] ~]# vim /scripts/process.sh
#!/bin/bash
stat=`ps -ef | grep -Ev "$0|grep" | grep -E "\b$1\b" | wc -l`
if [ $stat -ne 0 ];then
echo '1'
else
echo '0'
fi
②.修改配置文件指定脚本位置
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1 //修改值为1
UserParameter=check_httpd,/bin/bash /scripts/process.sh httpd //脚本位置
③.测试脚本返回值,在zabbix_server服务端测试
[[email protected] alertscripts]# zabbix_get -s 172.16.11.12 -k check_httpd
1
- 服务端
①.修改mail的配置文件,
[[email protected] ~]# vim /etc/postfix/main.cf
mydestination = $myhostname, localhost.$mydomain, localhost //默认存在,不需要修改
myhostname=mail.zabbix.example.cn
mydomain=zabbix.example.cn
myorigin=zabbix.example.cn
mynetwork=127.0.0.0/8,172.16.0.0/16,192.168.0.0/16 //这里需要输入本地ip的网段,宿主机所在网段,虚拟机网段
②.修改主机名为 zabbix.com
[[email protected] ~]# hostnamectl set-hostname zabbix.com
- web界面
添加监控项
添加触发器
添加动作
修改报警媒介类型
修改用户的报警媒介
到这里就配置完成了,开始测试
- 客户端
使用pkill命令杀死httpd的进程
[[email protected] ~]# pkill httpd
[[email protected] ~]# ps -ef | grep httpd
root 11268 1106 0 11:48 pts/0 00:00:00 grep --color=auto httpd
可以看到邮件发过来了,而且是本地zabbix用户发送的