环境介绍 1.Finalshell:远程连接工具 2.公有云:例如阿里云、腾讯云、青云等
一、 申请云主机,登录FinalShell工具
注册认证阿里云,有账号的可以直接登录
申请云主机步骤省略
申请完成的云主机
下载FinalShell工具
链接:https://pan.baidu.com/s/16h337fdT7x1fz5EvLJXebA
提取码:ymrf
打开FinalShell,使用申请到的云主机IP地址进入,由于该项目需要监控端和被监控端两个端口,故需要申请两台云主机。
二、部署zabbix-server(监控端)
1.安装zabbix-server
注意指令间隔,若安装报错,则重新执行指令安装
[root@monitor1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release- 3.4-2.el7.noarch.rpm
[root@monitor1 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent httpd mariadb mariadb-server
2.启动mariadb数据库
[root@monitor1 ~]# systemctl start mariadb
[root@monitor1 ~]# systemctl enable mariadb
3.准备数据库并授权数据库
[root@monitor1 ~]# 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 zabbix@localhost 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.导入据库文件
[root@monitor1 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix
-pzabbix zabbix
5.修改zabbix配置文件
[root@monitor1 ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
注意删除前面的空格
6.启动zabbix-server
[root@monitor1 ~]# systemctl restart zabbix-server zabbix-agent //重启zabbix服务和agent [root@monitor1 ~]# systemctl enable zabbix-server zabbix-agent //设置为开机自启动
7.修改Apache配置文件,修改文件时区
[root@monitor1 ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
8.安装zabbix-server,根据页面提示完成注册
打开浏览器用公网IP访问:
http://47.104.72.211/zabbix
三、部署zabbix-agent(被监控端)
1.安装zabbix-agent
[root@monitor2~]# rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4- 2.el7.noarch.rpm
[root@monitor2~]# yum -y install zabbix-agent
2.配置zabbix-agent
[root@monitor2 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=47.104.72.211 //监控端外网IP
ServerActive=47.104.72.211
Hostname=web1
3.启动zabbix-agent
[root@monitor2 ~]# systemctl start zabbix-agent
[root@monitor2 ~]# systemctl enable zabbix-agent //设置开机自启动
4.在云主机上开放监控端口10051和被监控端口10050
5.准备网站测试环境
[root@monitor2 ~]# yum -y install httpd
[root@monitor2 ~]# systemctl start httpd
[root@monitor2 ~]# systemctl enable httpd
[root@monitor2 ~]# echo "youngfit" > /var/www/html/index.html
四、实现对web服务器监控(监控端)
1.主机群组名随意取
2.创建主机
3.测试触发效果
被监控端停止网站服务器
[root@monitor2 ~]# systemctl stop httpd
被监控端启动网站服务器
[root@monitor2 ~]# systemctl start httpd
如图所示,监控成功
五、 zabbix 微信报警(监控端)
1.手机端下载企业微信
2.按要求创建企业
3.登录电脑端企业微信后台,通过手机端扫码登录PC端
4.创建报警机器人应用(我已经创建完成,不再演示)
5.记录下面三条信息,后期能用到
将之前记录的信息填写进去
6.Python报警检测脚本设置
wechat.ch脚本
链接:https://pan.baidu.com/s/1uqXqNK4xQSwP7968W04j-Q
提取码:dtlw
将脚本上传至监控端,并从监控端修改脚本内容
[root@monitor1 ~]# 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为内容,标题和内容均可自定义 [root@monitor1~]# /usr/lib/zabbix/alertscripts/wechat.py YvJie test hello
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}
7.zabbix创建报警媒介
8.zabbix添加告警用户
创建用户组:web-group
设置用户组web-group对主机群组YvJie-webserver拥有读写(发送消息)权限
9.zabbix添加告警动作
如果希望中文显示:
告警主机: {HOST.NAME} 告警地址: {HOST.IP} 监控项目: {ITEM.NAME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}
10.测试微信报警
[root@monitor2 ~]# systemctl stop httpd