欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos7-基于微信实现自动化监控报警

程序员文章站 2022-03-15 18:14:02
...

环境介绍 1.Finalshell:远程连接工具 2.公有云:例如阿里云、腾讯云、青云等

一、 申请云主机,登录FinalShell工具Centos7-基于微信实现自动化监控报警
注册认证阿里云,有账号的可以直接登录Centos7-基于微信实现自动化监控报警
申请云主机步骤省略
申请完成的云主机
Centos7-基于微信实现自动化监控报警
下载FinalShell工具
链接:https://pan.baidu.com/s/16h337fdT7x1fz5EvLJXebA
提取码:ymrf
打开FinalShell,使用申请到的云主机IP地址进入,由于该项目需要监控端和被监控端两个端口,故需要申请两台云主机。
Centos7-基于微信实现自动化监控报警
二、部署zabbix-server(监控端)
1.安装zabbix-server
注意指令间隔,若安装报错,则重新执行指令安装

[aaa@qq.com ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release- 3.4-2.el7.noarch.rpm
[aaa@qq.com ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent httpd mariadb mariadb-server

2.启动mariadb数据库

[aaa@qq.com ~]# systemctl start mariadb 
[aaa@qq.com ~]# systemctl enable mariadb

3.准备数据库并授权数据库

[aaa@qq.com ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5463
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to aaa@qq.com identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec) 
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec) 
MariaDB [(none)]> \q
Bye

4.导入据库文件

[aaa@qq.com ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix
-pzabbix zabbix

5.修改zabbix配置文件

[aaa@qq.com ~]# vim /etc/zabbix/zabbix_server.conf 
DBHost=localhost
DBName=zabbix 
DBUser=zabbix 
DBPassword=zabbix
注意删除前面的空格

6.启动zabbix-server

[aaa@qq.com ~]# systemctl restart zabbix-server zabbix-agent		//重启zabbix服务和agent [aaa@qq.com ~]# systemctl enable zabbix-server zabbix-agent	//设置为开机自启动

7.修改Apache配置文件,修改文件时区

[aaa@qq.com ~]# vim /etc/httpd/conf.d/zabbix.conf 
php_value date.timezone Asia/Shanghai

8.安装zabbix-server,根据页面提示完成注册

打开浏览器用公网IP访问:
http://47.104.72.211/zabbix

Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
三、部署zabbix-agent(被监控端)
1.安装zabbix-agent

[aaa@qq.com~]# rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4- 2.el7.noarch.rpm
[aaa@qq.com~]# yum -y install zabbix-agent

2.配置zabbix-agent

[aaa@qq.com ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server=47.104.72.211  //监控端外网IP 
ServerActive=47.104.72.211
Hostname=web1

3.启动zabbix-agent

[aaa@qq.com ~]# systemctl start zabbix-agent 
[aaa@qq.com	~]# systemctl enable zabbix-agent //设置开机自启动

4.在云主机上开放监控端口10051和被监控端口10050
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
5.准备网站测试环境

[aaa@qq.com ~]# yum -y install httpd 
[aaa@qq.com ~]# systemctl start httpd 
[aaa@qq.com ~]# systemctl enable httpd
[aaa@qq.com ~]# echo "youngfit" > /var/www/html/index.html

四、实现对web服务器监控(监控端)
Centos7-基于微信实现自动化监控报警
1.主机群组名随意取
Centos7-基于微信实现自动化监控报警
2.创建主机
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
3.测试触发效果

被监控端停止网站服务器
[aaa@qq.com ~]# systemctl stop httpd

反应时间较长,请耐心等待
Centos7-基于微信实现自动化监控报警

被监控端启动网站服务器
[aaa@qq.com ~]# systemctl start httpd

如图所示,监控成功
Centos7-基于微信实现自动化监控报警
五、 zabbix 微信报警(监控端)
1.手机端下载企业微信
Centos7-基于微信实现自动化监控报警
2.按要求创建企业
3.登录电脑端企业微信后台,通过手机端扫码登录PC端
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
4.创建报警机器人应用(我已经创建完成,不再演示)
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
5.记录下面三条信息,后期能用到
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
将之前记录的信息填写进去
Centos7-基于微信实现自动化监控报警
6.Python报警检测脚本设置
wechat.ch脚本
链接:https://pan.baidu.com/s/1uqXqNK4xQSwP7968W04j-Q
提取码:dtlw
将脚本上传至监控端,并从监控端修改脚本内容

[aaa@qq.com ~]# vim /usr/lib/zabbix/alertscripts/wechat.py
需要修改脚本中的四个信息:
self.  corpid = 'wwd5348195e1cdd809' //公司的corpid
self.   secret = '2QvlfpUxh4k-JeIuxVNmkh2N7ijfkCs1lzb4Tkgr6xQ' //应用的secret 'toparty':1, //部门id
'agentid':"1000002", //应用id
监控脚本测试:
注:YvJie为上图的企业微信名 test为标题 yufei为内容,标题和内容均可自定义 [aaa@qq.com~]# /usr/lib/zabbix/alertscripts/wechat.py YvJie test hello
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

Centos7-基于微信实现自动化监控报警
7.zabbix创建报警媒介
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
8.zabbix添加告警用户
创建用户组:web-group
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
设置用户组web-group对主机群组YvJie-webserver拥有读写(发送消息)权限
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
9.zabbix添加告警动作
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
Centos7-基于微信实现自动化监控报警
如果希望中文显示:

告警主机: {HOST.NAME} 告警地址: {HOST.IP} 监控项目: {ITEM.NAME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}

10.测试微信报警

[aaa@qq.com ~]# systemctl stop httpd

Centos7-基于微信实现自动化监控报警

相关标签: 运维