说明:本实验是在Zabbix分布式监控实战(1)上进行的,已经配置好了zabbix-server和zabbix-agent主机。
一、实验目的
在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
二、实验环境
主机名 | ip | 服务 | 版本 |
---|---|---|---|
server1 | 172.25.1.1 | zabbix-server,zabbix-web,mariadb-server | rhel7.3 |
server2 | 172.25.1.2 | zabbix-agent | rhel7.3 |
server3 | 172.25.1.3 | zabbix-agent | rhel7.3 |
三、电子邮件告警
- 在server1上:
步骤一:安装邮件服务mailx
yum install mailx -y
步骤二:测试邮件服务,给自己发一封邮件
mail root #发邮件
Subject: hello world
EOT #退出,或按ctrl+d退出
mail #查看邮件,输入邮件号,可以查看邮件详情
步骤三:配置使虚拟机可以上网
配置DNS域名解析
vim /etc/resolv.conf #编辑域名解析文件
nameserver 114.114.114.114
设置真机为网关,此处临时设置一下,永久设置可在配置文件/etc/sysconfig/network-script/ifcfg-eth0中设置
route add default gw 172.25.1.250
在真机防火墙上开启地址转发功能
firewall-cmd --add-masquerade #添加地址转发功能
firewall-cmd --list-all #列出防火墙开启i的服务
在server1上测试,是否可上网
ping www.baidu.com
在zabbix-web界面上:
-
设置报警媒介为Email,禁用其他类型:
管理 —>消息媒介类型—> 勾选除了Email的其他项—> 禁用
- 点击修改Email的参数设置
-
设置收件人信息:
管理—> 用户—> admin —>报警媒介—> 添加 —>填写信息—> 更新
配置触发器模式,查看动作并激活
在 qq 邮箱里设置白名单,zabbix@server1.localdomain,必须是这样形式,因为服务器发出的邮件默认就是 localdomain 结尾,不一会就会收到邮件提醒。
- 在server2上测试:
关闭zabbix-agent
systemctl stop zabbix-agent.service
查看qq邮箱
也可在server1上查看邮件日志
cat /var/log/maillog
四、onealert云告警
在网上搜索睿象云,注册登陆并设置监控
在server1上:
步骤一:在网上下载告警软件
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-2.1.0.tar.gz
步骤二:安装告警软件
注意:必须在/usr/lib/zabbix/alertscripts/目录下,否则会报错,告警不能及时送达
步骤三:解压到指定目录下,并使用睿象云上zabbix生成的key来启动
tar zxf ca_zabbix_release-2.1.0.tar.gz -C /usr/lib/zabbix/alertscripts/
cd /usr/lib/zabbix/alertscripts/cloudalert/bin/
./install.sh ec32bb51-7bdf-d5f3-1317-8998fb3ec3aa #此处为上边获取到的key
步骤四:在web界面添加相应的云告警媒介
先禁用之前启动的Email报警媒介
设置云告警
步骤五:在onealert官网添加通知策略
步骤六:测试,关闭server2上的zabbix-agent
systemctl stop zabbix-agent.service
步骤七:查看告警云,此时收到邮件
报警系统会根据所设定的报警媒介发送报警信息,同时在告警系统中也可以看到告警,当有人处理认领该警告时,也会在警告系统中显示,云警告界面的待处理任务就会变成处理中,当手动再次开启server2的agent端服务的时候,云警告界面的平台会显示报警已经解决。