- 当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们又怎么能在第一时间获得报警信息,然后及时处理问题呢?
- one alter云告警,是一种很不错的选择
一、注册云告警账号
- 登陆云告警系统 www.oneitem.com,注册一个账号(注册过程这里不再介绍)并设置个人信息
- 点击个人中心,绑定微信号,用于接受报警信息
- 获取应用key
在配置—>应用—->添加应用—–>zabbix
二、配置服务
- 在zabbix的监控告警目录下解压安装告警软件(必须在该路径下,否则会报错,告警不能及时送达)
[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/
[root@server1 alertscripts]# ls
oneitsm_zabbix_release-1.2.0.tar.gz
[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 5a4e92f9-4b34-42b1-4e01-3027bb0c5543 ##后面加的这一长串,就是刚才在云告警平台添加的应用key
start to create config file...
Zabbix管理地址: http://172.25.19.1/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码:
三、在zabbix的web界面中添加告警媒介
- 为了排除别的可以触发告警的告警源(在该实验环境下,我们监控的mysql数据库没有slave端,这时可以触发告警的,所以我们需要将与mysql的slave相关的全部禁用)
- 将其他的消息介质类型都禁用掉,只留oneitsm
3. 查看告警用户,会自动添加oneitsm
- 触发器触动告警条件
- 查看一下,出现问题时的报警操作
四、测试报警接收
- 首先停掉server2(agent端)
[root@server2 ~]# systemctl stop zabbix-agent
- 等待5分钟左右,会触发报警
- 告警系统会根据你设定的告警媒介发送告警消息,同时在告警系统中也可以看到告警情况,当有人认领该告警接着处理告警后,也会在告警系统中送达
- 此时你的微信会收到报警信息,点击认领,云告警界面的待处理任务就会变成处理中
- 再手动开启agent端
[root@server2 ~]# systemctl start zabbix-agent
- 过一会zabbix监控界面的报警信息就会消失,云告警平台会显示已经解决告警(已关闭)
当然,除了利用云告警平台(收费)接受报警,我们还可以通过发送邮件的形式来接受报警信息(缺点就是,可能会被拒收)
那么如何用邮件接受报警?
- 首先将server主机的主机名改成域名的形式,且确保server端可以上网
[root@server1 ~]# hostnamectl set-hostname server1.example.com
[root@server1 ~]# ping www.baidu.com ##需要能上网
- 安装mailx
[root@server1 ~]# yum install mailx -y
[root@server1 ~]# netstat -antlp | grep :25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 844/master
tcp6 0 0 ::1:25 :::* LISTEN 844/master
- 测试:给自己发送邮件看是否可以接受成功
[root@server1 ~]# mail root
Subject: test
hui
EOT
[root@server1 ~]# mailq
Mail queue is empty
[root@server1 ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Sun Mar 10 10:36 18/584 "test"
& 1 ##输入1
Message 1:
From root@server1.example.com Sun Mar 10 10:36:00 2019
Return-Path: <root@server1.example.com>
X-Original-To: root
Delivered-To: root@server1.example.com
Date: Sun, 10 Mar 2019 10:36:00 +0800
To: root@server1.example.com
Subject: test
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@server1.example.com (root)
Status: R
hui ##可以看到刚才写入的邮件内容,代表邮件可以正常发送
& q
Held 1 message in /var/spool/mail/root
4. 在自己的邮箱中,添加反垃圾白名单
5. 禁用刚才的云告警
6. 点击Email(将其他的消息介质都禁用),设置报警媒介类型
7. 点击Admin,添加报警用户
8. 测试:手动停掉agent端,过5分钟左右,邮箱会收到报警信息
[root@server2 ~]# systemctl stop zabbix-agent
- 再打开agent端,zabbix界面报警信息会消失
[root@server2 ~]# systemctl start zabbix-agent