zabbix-proxy安装配置

关于proxy的使用场景

zabbix的proxy主动模式proxy 可以用在 Proxy 没有公网 IP ,但可以访问公网的情况下

Zabbix Server <-Zabbix Proxy -> Zabbix Agent

Proxy 去请求 Zabbix Server,由于 Zabbix Agent 用的是被动模式,所以也是由 Zabbix Proxy 去请求 Zabbix Agent

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

zabbix proxy 需要注意的几个点

  • zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。

  • 从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。

  • 使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。

我的使用场景

zabbix server端部署在腾讯云服务器上,现在想监控公司内网的几台服务器,但是内网的服务器和腾讯云的服务器不在一个局域网内,怎么进行监控呢?

这就用到了zabbix proxy

我的环境

系统服务器ip角色
centos 7.3.1611118.25.56.1(公网ip)zabbix-server
centos 7.3.1611192.168.2.223(内网)zabbix-proxy
centos 7.3.1611192.168.2.224(内网)zabbix-agent

我的zabbix-server,zabbix-agent,zabbix-proxy 版本都是3.4的

118.25.56.1 安装zabbix-server 省略

部署zabbix proxy

192.168.2.223 上安装zabbix-proxy

[root@localhost ~]#rpm -ivh \
https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@localhost ~]#yum install zabbix-proxy-mysql
[root@localhost ~]#systemctl start zabbix-proxy
知识兔

proxy需要一个独立的数据库,请勿和server同库
安装mysql 略

[root@localhost ~]# mysql -uroot -p
mysql> create database zabbix_proxy;
mysql> grant all privileges on zabbix_proxy.* to 'zabbix_proxy'@'localhost' identified by 'zabbix';
知识兔

导入zabbix-proxy SQL

[root@localhost ~]#cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
[root@localhost ~]#zcat schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
知识兔

proxy配置

[root@localhost ~]#grep -vE '^#|^$' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0                  //默认主动模式0,被动模式1
Server=118.25.56.1       //zabbix_server的外网IP
ListenPort=10051
Hostname=zabbix_proxy的主机名  
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix
DBSocket=/data/mysql/mysql.sock 
LogFile=/var/log/zabbix/zabbix_proxy.log
PidFile=/var/run/zabbix/zabbix_proxy.pid
LogFileSize=0   //不切割日志,默认1M
Timeout=10      //等待agent回应超时时间,默认3s
ConfigFrequency=60   //多久从zabbix-server接受配置
DataSenderFrequency=60  //多久向zabbix-server发送收集数据
ExternalScripts=/usr/lib/zabbix/externalscripts  //也需要放一份到代理
知识兔

agent安装配置

192.168.2.224 上安装zabbix-agent

[root@localhost ~]#rpm -ivh \
https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@localhost ~]#yum install zabbix-agent
[root@localhost ~]#grep -vE '^#|^$' /etc/zabbix/zabbix_agent.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/var/run/zabbix/zabbix_agentd.pid
EnableRemoteCommands=1
Server=proxy内网IP(外网IP)
ServerActive=proxy的内网IP:10051
Hostname=agent的主机名
RefreshActiveChecks=120
BufferSize=2048
Timeout=15
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d
知识兔

启动

新建代理

在我们的zabbix界面上点击管理-->agent代理程序-->创建代理

agent代理程序名称 为 zabbix_proxy的主机名 (建议一致 )

添加主机

只需要填写以下

  • 主机名称 为 agent的hostname
  • 在...群组里
  • IP地址 为 agent的内网IP(不在同个内网写外网IP)
  • 由agent代理程序监测 下拉 选择我们刚创建的代理名称 (敲黑板)
  • 模板 添加你需要的模板

完成~

计算机