一、利用Zabbix部署onealert云告警平台
当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们又怎么能在第一时间获得报警信息,然后及时处理问题呢?one alter云告警,是一种很不错的选择
(一)使虚拟机可以联网
1.在server1上进行如下操作:
#试验连接baidu
[root@foundation66 zabbix]# ping www.baidu.com
#查看一下内核路由功能是否成功开启
[root@foundation66 zabbix]# sysctl -a | grep ip_forward
#查看一下防火墙是否成功开启
[root@foundation66 zabbix]# systemctl status firewalld
#开启防火墙
[root@foundation66 zabbix]# systemctl start firewalld
#开启路由功能
[root@foundation66 zabbix]# firewall-cmd --add-masquerade
(2)在server1上进行如下操作:
#查看一下路由
[root@server1 ~]# route -n
#尝试访问www.baidu.com,发现成功访问
[root@server1 ~]# ping www.baidu.com
(二)配置云告警平台(注意:做此实验时,虚拟机要联网)
- 在浏览器中输入以下网址:http://www.onealert.com/并进行登陆,如果有则直接登陆,如果没有,注册一个,登陆即可
- 点击CA
- 点击配置->通知策略,选择告警发生,认领,关闭时通知的方式
- 点击配置->应用->添加应用
- 选择ZABBIX
- 在Zabbix配置中填写应用名称后保存并获取应用key
- 之后会发现得到了应用KEY
(三)在server1中配置服务
在zabbix的监控告警目录下解压安装软件必须在该路径下,否则会报错,告警不能及时送达)
[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/
[root@server1 alertscripts]# ls
[root@server1 alertscripts]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
[root@server1 alertscripts]# cd oneitsm
[root@server1 oneitsm]# cd bin/
#后面的数字是浏览器中的key值
[root@server1 bin]# ./install.sh eb70e027-9131-7bd8-34b9-c4942db689b6
Zabbix管理地址: http://172.25.66.1/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码:
(四)在zabbix的web界面中添加告警媒介
1.为了排除别的可以触发告警的告警源(在该实验环境下,我们监控的mysql数据库没有slave端,这时可以触发告警的,所以我们要将mysql的slave相关的全部禁用),将其他的消息介质类型都禁用掉,只将oneitsm留下
- 点击管理->报警媒介类型,将除了oneitsm media以外的类型都点击已启用,相当于只启用了oneitsm media
- 禁用后的效果如下:
- 查看告警用户,点击管理->用户,发现oneitsm会自动创建一个用户
- 点击配置->动作->触发器,触发器触动报警条件已经开启,之后并点击oneitsm action
- 点击"操作"可以发现出现问题时的报警操作
二、测试报警接收(注意:做此测试之前,需要将所有的自动发现,自动注册都关闭)==
(一)手动处理告警
1.首先在浏览器登陆邮箱(为了能够收到报警信息)
2.关闭server2上的zabbix-agent服务
[root@server2 ~]# systemctl stop zabbix-agent
3.点击配置->主机后会发现server2不可用(等待5分钟左右便会有报警信息)
4.之后会发现浏览器中和微信中都可以成功收到邮件
5.点开云告警平台,发现此时在我的告警中的待处理中显示了1个(已关闭这里显示3个的原因是因为之前做的)
6.点击认领后会出现以下界面,即待处理显示0个,处理中显示1个
7.此时认领信息会在微信和邮箱进行通知(注意:这里邮箱没有收到,其原因应该是我最开始设置的时候,认领时没有写邮箱,之后虽然设置了,但是没有保存)
8.查看zabbix界面时,发现server2的可用性显示是红色,说明server2此时不可用
9.开启server2上的zabbix-agent服务
[root@server2 ~]# systemctl restart zabbix-agent
10.此时查看邮箱发现收到了新的邮箱,显示server2的错误已经成功处理
11.查看云告警平台,发现此时显示的我的告警中的处理中已变为0个,已关闭显示4个(以前处理的3个+刚刚处理的1个)
(二)不处理告警(云报警平台会自动将其关闭)
1.关闭server2上的zabbix-agent服务
[root@server2 ~]# systemctl stop zabbix-agent
2.查看邮箱时发现收到新的告警
3.查看云告警时,发现在我的告警中的待处理中也显示1,之后等待30分钟即可(因为云告警平台中设置的是30分钟自动关闭)
4.等待30分钟后,查看邮箱,发现有新的邮箱,显示server2出现了问题
5.再次查看云告警平台,发现此时已关闭中有5个,说明刚刚那个告警因为超时自动关闭了