Zabbix分布式监控zabbix proxy

简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

zabbix proxy 使用场景:

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
  • 简化分布式监控的维护

在这里插入图片描述
图片来自官网
https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies

实验架构

在这里插入图片描述
这里zabbix server端已经是安装完成的,主要是安装zabbix proxy

zabbix proxy 安装

编译安装的时候需要打开–enable-proxy 这个参数

这里使用yum安装,在192.168.253.158执行下列命令

systemctl  stop firewalld 
setenforce  0
rpm -i https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install zabbix-proxy zabbix-agent mariadb mariadb-server  -y

因为zabbix proxy是会收集agent的数据,所以也需要数据库

systemctl  start mariadb
mysql -uroot  #进入数据库
MariaDB [(none)]> create database zbx_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zbx_proxy.* to zbx_proxy@localhost identified by 'password';
MariaDB [(none)]> quit

导入表结构,对于Zabbix proxy 数据库, 只需要导入 schema.sql (不需要 images.sql 和 data.sql)

zcat /usr/share/doc/zabbix-proxy-mysql-3.0.22/schema.sql.gz | mysql -uzbx_proxy -ppassword zbx_proxy

修改配置文件/etc/zabbix/zabbix_proxy.conf

ProxyMode=0 #0为主动, 1为被动
Server=192.168.253.128 #zabbix server服务器的地址或主机名
Hostname=my_proxy #代理服务器名称, 需要与zabbix server添加代理时候的proxy name是一致的!
DBHost=localhost #数据库服务器地址
DBName=zbx_proxy
DBUser=zbx_proxy
DBPassword=password
DBPort=3306

下面是一些常用的配置参数,非必要

ProxyLocalBuffer=3 #数据同步到server,数据还会保存多久,单位小时
ProxyOfflineBuffer=24 #未提交的数据保存多长时间
HeartbeatFrequency=60 #心跳间隔检测时间, , 默认60秒, 范围0-3600秒, 被动模式不使用
ConfigFrequency=5 #间隔多久从zabbix server 获取监控信息
DataSenderFrequency=5 #数据发送时间间隔, 默认为1秒, 范围为1-3600秒, 被动模式不使用
StartPollers=10 #启动的线程数, 与客户端的数据保持一致

我们再启动一个agent,发送数据给proxy,用于测试
修改配置文件/etc/zabbix/zabbix_agentd.conf

Server=192.168.253.158  #这里填写proxy的地址,因为是由proxy来收集数据的
Hostname=192.168.253.158

启动zabbix agent

systemctl  start zabbix-agent
systemctl  start zabbix-proxy

接下来就可以在zabbix server的web端设置了
添加代理
在这里插入图片描述
在这里插入图片描述
接下来添加主机,由proxy收集数据
在这里插入图片描述
关联一个基本模板
在这里插入图片描述

在这里插入图片描述
可以看到获取到数据了

#注意,有时候会没有获取到数据,这个是因为proxy启动了,但是zabbix 的server端没有创建代理,解决方法重启一下zabbix proxy就可以了

systemctl  restart zabbix-proxy

猜你喜欢

转载自blog.csdn.net/L835311324/article/details/82990402
今日推荐