Content
基于微信实现自动化监控报警
监控环境准备:
- 监控端和被监控端
监控端重置云主机
私网 ping 公网可以
公网 ping 私网不一定
1.部署zabbix-server (监控端)
- 安装 zabbix-server
重置后:
cd /etc/yum.repos.d/
vim zabbix.repo
写入 (改用国内的zabbix仓库):
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.2/rhel/7/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.2/rhel/7/$basearch/
enabled=1
gpgcheck=0
安装:
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent httpd mariadb mariadb-server
- 准备数据库及授权
启动数据库:
systemctl restart mariadb
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by '123';
\q
- 导入数据库文件
zcat /usr/share/doc/zabbix-server-mysql-4.2.8/create.sql.gz | mysql -uzabbix -p123 zabbix
- 修改 zabbix 配置文件
vim /etc/zabbix/zabbix_server.conf
DBName=zabbix 数据库名字
DBUser=zabbix 授权的用户名
DBPassword=123 授权用户的密码
- 启动
systemctl restart zabbix-server
- 修改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai 改为上海
- 安装
- 确认为 Yes,然后可以选择改成中文
2.部署zabbix-agent (被监控端)
- 安装 zabbix-agent
yum -y install zabbix-agent
已安装的无需再次安装
- 被监控端 配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=47.75.81.162
ServerActive=47.75.81.162 //这里是 监控端的IP地址
Hostname=web1
- 启动
systemctl restart zabbix-agent
注:私网的可以找到公网的IP,公网的可能找不到私网,可能会有点小问题
- 准备网站测试环境
如果有则跳过此步
yum -y install httpd
systemctl start httpd
echo "hello test" > /var/www/html/index.html
3.实现对 web 服务器监控 (监控端)
- 创建 主机群组、主机
- IP地址填 被监控端的 IP地址
- 关联 HTTP 模板
- 测试触发器效果
被监控端停止网站服务器
systemctl stop httpd
可以用 ping + IP 检测一下
然后启动
systemctl start httpd
4.zabbix 微信报警 (监控端)
- 首先,注册企业微信 (需要在手机下载)
- 然后,创建应用
应用名称应用介绍随意,部门我选择的是文件夹一样的标签
- 找到三个 id,一个 secret
- 上传 python 报警监控脚本
wechat.py
这个在我文件夹里。。
vim wechat.py 进入修改脚本
//上面找到的对应的
self.__corpid = 'wwd85099f31bacb582' //公司的 corpid
self.__secret = 'Ay7hTiodwdg6AWIDzwiDlXiYW-D0IRnvQ76tsQ6SgNc' //应用的 secret
'toparty':1, //部门 id
'agentid':"1000002", //应用 id
- 复制到对应目录
cp -rf wechat.py /usr/lib/zabbix/alertscripts/
- 给权限
chown zabbix.zabbix /usr/lib/zabbix/alertscripts/wechat.py
chmod a+x /usr/lib/zabbix/alertscripts/wechat.py
- 监控脚本测试
/usr/lib/zabbix/alertscripts/wechat.py QingShan test hello_world
其中 QingShan 是和这里保持一致的
红线画的是自动生成的.
结果:
- zabbix 创建告警媒介
- 添加告警用户
- 添加告警动作
事件源是触发器
此时被监控端若停止网站服务
systemctl stop httpd
则: (最下面那个 是又启动后发出的)
End.