一、利用Zabbix部署onealert云告警平台
人的精力是有限的,当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,不可能时时刻刻去盯着我们的主机看,如果一个主机出现异常,我们该如何在第一时间获得其异常信息,然后及时处理问题呢?这就不得不借助一款软件,我们可以通过one alter云告警绑定我们的微信或邮箱等,让其给我们反馈信息
(一)使虚拟机可以联网
1.首先在虚拟机server1上ping百度看是否能ping通
[root@server1 ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known ###ping不同

上面我们发现虚拟机ping不通百度,所以进行以下操作:
[root@foundation35 ~]# ping www.baidu.com ###看真迹是否可以上网
[root@foundation35 ~]# route -n
[root@foundation35 ~]# sysctl -a | grep ip_forward #查看一下内核路由功能是否成功开启,1为开启、0为关闭,如果关闭在配置文件/etc/sysctl.d/99-sysctl.conf中将其更改为net.ipv4.ip_forward = 1

[root@foundation35 ~]# systemctl start firewalld #开启防火墙
[root@foundation35 ~]# systemctl enable firewalld #使防火墙开机自启动
[root@foundation35 ~]# systemctl status firewalld #查看一下防火墙是否成功开启

[root@foundation35 ~]# firewall-cmd --list-all ###查看是否有防火墙伪装功能,如果没有进行下面的步骤
[root@foundation35 ~]# firewall-cmd --add-masquerade ###添加火墙防伪装功能
[root@foundation35 ~]# firewall-cmd --reload ###重新加载生效


2、此时再去虚拟机server1测试发现可以上网

(二)配置云告警平台(注意:做此实验时,虚拟机要联网)
在浏览器中输入以下网址:http://www.onealert.com/并进行登陆,如果有则直接登陆,如果没有,注册一个,登陆即可

- 注册

- 选择CA ,点击进入

- 进入后的首页显示

- 点击集成选择zabbix进入

- 在Zabbix配置中填写应用名称后保存并获取应用key


- 点击配置—>通知策略,选择新建通知

- 选择告警发生,认领,关闭时通知的方式(此处我选择的是微信通知),并保存

- 保存后显示

(三)在server1中配置服务
1、在zabbix的监控告警目录下解压安装软件必须在该路径下,否则会报错,告警不能及时送达)
[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/
[root@server1 ~]# scp root@172.25.35.250:/home/kiosk/Desktop/ca* .
[root@server1 alertscripts]# ls
ca_zabbix_release-2.1.0.tar.gz
[root@server1 alertscripts]# tar zxf ca_zabbix_release-2.1.0.tar.gz
[root@server1 alertscripts]# ls
ca_zabbix_release-2.1.0.tar.gz cloudalert
[root@server1 alertscripts]# cd cloudalert/
[root@server1 cloudalert]# ls
bin logs release update
[root@server1 cloudalert]# cd bin/
[root@server1 bin]# ls
alert.sh install.sh log.sh update.sh

2、管理员登陆
[root@server1 bin]# ./install.sh 7326c953-7514-236d-e619-ccb48c02c8c0 ###数字是云警告中的key值
./log.sh: line 6: /usr/lib/zabbix/alertscripts/cloudalert/bin/cloudalert.conf: No such file or directory
start to create config file...
Zabbix管理地址: http://172.25.27.1/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码:

(四)在zabbix的web界面中添加告警媒介
1.为了排除别的可以触发告警的告警源(在该实验环境下,我们监控的mysql数据库没有slave端,这时可以触发告警的,所以我们要将mysql的slave相关的全部禁用),将其他的消息介质类型都禁用掉,只将cloudalert media留下
- 点击管理->报警媒介类型,将除了cloudalert media以外的类型都点击已启用,停止了其它三个,相当于只启用了cloudalert media

- 查看告警用户,点击管理->用户,发现cloudalert会自动创建一个用户

- 点击配置->动作->触发器,触发器触动报警条件已经开启,之后并点击cloudalert action

- 点击"操作"可以发现出现问题时的报警操作

二、测试报警接收
(注意:做此测试之前,需要将所有的自动发现,自动注册都关闭)
1、关闭server2上的zabbix-agent服务
[root@server2 ~]# systemctl stop zabbix-agent
[root@server2 ~]# systemctl status zabbix-agent

2、点击配置->主机后会发现server2不可用

3、等待5分钟后发现了报警

- 点击详情如下所示:

- 点开云告警平台,发现此时在我的告警中的待处理中显示了1个

- 点击认领后会出现以下界面,即待处理显示0个,处理中显示1个

- 此时认领信息会在微信进行通知

-此时点击详情,如下所示:

- 接下来我们再去开启agent服务,如下所示:

- 此时有可以收到消息(忘截屏了),并且在浏览器刷新发现server2好了(可用性显示又变回了绿色)












