相关环境:
操作系统 |
描述 | IP地址 |
server05 (centos6.6) | 服务器端 | 192.168.10.65 |
server04 (centos6.6) | 客户端 | 192.168.10.64 |
一、使用zabbix邮件报警功能
1、安装sendmail
[root@server05~]# service postfix stop #linux默认使用postfix邮件服务,先关闭postfix,ss �Ctnl查看25端口关闭监听
[root@server05~]#yum install sendmail
[root@server05~]# vim /etc/mail.rc #添加相关发件人内容
# Outgoingmessages are sent in ISO-8859-1 if all their characters are # representablein it, otherwise in UTF-8. setsendcharsets=iso-8859-1,utf-8 [email protected] setsmtp=smtp.exmail.qq.com:25 set [email protected] #认证用户 setsmtp-auth-password=xxxxxx #认证密码
[root@server05~]# service sendmail start #sendmail监听25端口
Startingsendmail: [ OK ]
[root@server05~]# echo "test.hahahahaha" | mail -s "test" [email protected] #发邮件进行测试
测试sendmail成功,登陆我的QQ邮箱可以收到邮件!
2、添加zabbix邮件报警脚本;
[root@server05alertscripts]# pwd #进入相关目录
/usr/local/zabbix/share/zabbix/alertscripts
[root@server05alertscripts]# vim sendmail.sh
#!/bin/bash echo"$3" | mail -s "$2" "$1" #其中$1是zabbix传递过来的收件人信息,$2是邮件主题,$3是邮件内容;
[root@server05alertscripts]# chmod 777 sendmail.sh #记得脚本要给权限
1)Zabbix进入网页设置邮件报警
选择 管理――示警媒介类型
2)点击Email进入设置界面:选择类型――脚本,输入前面写的脚本名称;
二、监控客户端80端口;
1、创建监控项目;
1)点击组态――主机――项目;
2)选择右上角创建监控项;
3)设置监控项;只需要填写名称,键值(键值点后面的选择)net.tcp.port[<ip>,port]模块
选择net.tcp.port[<ip>,port]模块:检查是否可以连接到指定的TCP端口。0――表示不能连接,1-表示能连接.IP地址是可选项。如果省略IP地址,则系统会使用127.0.0.1地址.例子:net.tcp.port[,80]
4)添加完成以后显示如下:
2、创建触发器:
1)点击组态――主机――触发器;
2)右上角点击――创建触发器;
3)输入触发器名称――点击添加(项目);
4)点击选择;
5)查看刚才我们创建的项目;
6)选择插入;
7)选择严重性,然后点击添加;
3、创建动作
1)选择组态――动作――创建动作:
2)创建一个名称,并勾选回复信息:
3)然后设置条件;选择触发值=问题 ,点击触发条件那里的添加:
4)最后设置动作――新的:
阶段:0表示为连通,1表示连通
步骤持续时间,按需求填写,我这里要测试所以60秒一次动作;
选择相关用户组;
选择相关用户;
选择发送报警方式:Email
完成后点击添加!
测试:
1、登陆客户端关闭80端口
[root@server04~]# service httpd stop
#马上就会收80端口挂掉的邮件。
2、在客户端开启80端口
[root@server04~]# service httpd start
#等一分钟会收到80端口OK的邮件;
(邮件上面的test post 80down 是我当时创建触发器的名称。看来触发器的名字起的不合理。)
注意:不知道为什么我这里收到的报错详情是附件形式发送的,暂时没有找到解决方法,如果找到解决方法,我会在这里补充;
OK!到这里邮件报警和监控80端口功能都实现了!!