文章目录

  • 一、zabbix-proxy简介
  • 二、具体部署
  • 1.创建proxy主机
  • 2.创建proxy数据库,并将数据导入到数据库中
  • 3.修改配置文件
  • 4.图形化添加代理主机
  • 5.zabbix-server刷新设置
  • 6.zabbix-agent(客户端)中设置
  • 三、结合睿象云平台发布警告信息
  • 1.注册睿象云
  • 2.监控端设置报警媒介类型
  • 3.结合探针来使云警告平台能够探测到警告信息(zabbix与云警告平台之间的联系)
  • 4.测试


一、zabbix-proxy简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
简化分布式监控的维护
工作原理示意图:

Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件


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             %设置主机名便于区分,并且记得添加解析

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_02


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_03

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)

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_04


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_05

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     %开启代理服务

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_06

4.图形化添加代理主机

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_07


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_08


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_09

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  %重启服务

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_10


注意:记得所有主机都要添加proxy的解析

Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件_11


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_12


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_13


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_14


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_15

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

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

1.注册睿象云

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_16


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_17


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_18


Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_19

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

Zabbix 分布式系统逻辑图 zabbix分布式集群_数据库_20

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来运行脚本

Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件_21


Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件_22

4.测试

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

Zabbix 分布式系统逻辑图 zabbix分布式集群_Zabbix 分布式系统逻辑图_23


Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件_24


手机微信收到的警告信息通知:

Zabbix 分布式系统逻辑图 zabbix分布式集群_配置文件_25


Zabbix 分布式系统逻辑图 zabbix分布式集群_数据_26