Zabbix分布式监控平台部署<5>--zabbix-proxy部署及结合睿象云发布警告

一、zabbix-proxy简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
简化分布式监控的维护
工作原理示意图:
在这里插入图片描述
zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可
注意1: zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。
proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
注意2: 注意从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。
注意3: zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警

二、具体部署

1.创建proxy主机

这里我们将server3作为一个zabbix-proxy代理主机:
systemctl disable --now zabbix-agent.service      %先停止zabbix-agent服务
yum install -y zabbix-proxy-mysql             %安装工具包
hostnamectl set-hostname proxy             %设置主机名便于区分,并且记得添加解析

在这里插入图片描述
在这里插入图片描述

2.创建proxy数据库,并将数据导入到数据库中

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user 'zabbix'@'localhost' identified by 'westos';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost';
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述
在这里插入图片描述

3.修改配置文件

[root@proxy ~]# grep -v ^# /etc/zabbix/zabbix_proxy.conf | uniq      %显示更改部分
Server=172.25.0.1
Hostname=proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=westos
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

systemctl enable --now zabbix-proxy     %开启代理服务

在这里插入图片描述

4.图形化添加代理主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.zabbix-server刷新设置

zabbix_server -R config_cache_reload      %刷新使生效

proxy主机中:
[root@proxy zabbix-proxy-mysql-4.0.27]# grep -v ^# /etc/zabbix/zabbix_proxy.conf | uniq
Server=172.25.0.1
Hostname=proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=westos
JavaGateway=172.25.0.1 
JavaGatewayPort=10052
StartJavaPollers=5
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

6.zabbix-agent(客户端)中设置

vim /etc/zabbix/zabbix_agentd.conf      %修改配置文件
systemctl restart zabbix-agent.service  %重启服务使生效

proxy主机中:
systemctl restart zabbix-proxy.service  %重启服务

在这里插入图片描述
注意:记得所有主机都要添加proxy的解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、结合睿象云平台发布警告信息

意义:云警告可以通过应用,接入监控系统/平台的告警,集中告警信息,统一分派通知,统一分析。
支持直接集成业界主流的监控工具,如:Zabbix、Nagios、Prometheus、OpenFalcon、SolarWinds等,同时也可以通过 Email 邮箱集成或者 REST API 方式接入告警信息。

1.注册睿象云

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.监控端设置报警媒介类型

在这里插入图片描述

3.结合探针来使云警告平台能够探测到警告信息(zabbix与云警告平台之间的联系)

tar zxf ca_zabbix_release-2.1.0.tar.gz -C /usr/bin/zabbix/alertscripts  %解压到指定路径下
[root@server1 bin]# pwd
/usr/lib/zabbix/alertscripts/cloudalert/bin
[root@server1 bin]#systemctl stop zabbix-agent.service
[root@server1 bin]# bash install.sh xxxxxxxxxxx  %使用上面获取的key来运行脚本

在这里插入图片描述
在这里插入图片描述

4.测试

systemctl stop zabbix-server      %将zabbix-server端服务关闭,看云警告平台是否能够及时向微信发送警告信息

在这里插入图片描述
在这里插入图片描述
手机微信收到的警告信息通知:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nk298120/article/details/115360064