需求
我有一部分机器在腾讯云,我现在在阿里云上部署了一个zabbix server,我希望能将腾讯云的机器监控起来
概述
zabbix proxy是一个监控代理服务器,可以实现集中或者分布式的监控,通过proxy代理可以实现多节点,跨区域,成百上千服务器的监控,proxy代理主要适用于下面情况:
- zabbix监控的主机太多,一太Server支撑不住的情况
- 服务器在同一个地区不同的机房,通过proxy很容易实现数据的传输和中转
- 服务器在多个省或者国外,通过proxy实现分布式部署和监控
proxy可以部署为主动模式或者被动模式,通常为了减轻Server端的压力,proxy部署为主动模式,当proxy部署为主动模式时,Zabbix Server的负载最小
前提
已经部署好了一台Server服务器,购买一台云rds并创建好proxy引用的数据库,并且Server服务器和Proxy服务器的安全组端口10051,10050对Server机器和Proxy机器ip开放
proxy引用数据库创库语句
create database xxx_zabbix_proxy character set utf8 collate utf8_bin;
部署proxy
购买一台腾讯proxy服务器
我Server使用的是zabbix 4.4,使用这里我proxy安装也得统一4.4版本的
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
yum makecache
yum install zabbix-proxy-mysql.x86_64 zabbix-agent.x86_64 zabbix-sender
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -hrds地址 -uroot -p密码 xxx_zabbix_proxy
修改zabbix-proxy配置:vim /etc/zabbix/zabbix_proxy.conf
Server=xx.xxx.xx.xx # 真正的服务端(zabbix server, zabbix server的外网地址)
ServerPort=10051 # zabbix server的监听端口
Hostname=xxx # proxy机器的主机名
LogFile=/var/log/zabbix/zabbix_proxy.log # proxy日志路径
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid # 启动proxy pid文件
SocketDir=/var/run/zabbix # proxy 的sokcet目录
DBHost=xxxx.mysql.rds.aliyuncs.com # rds地址
DBName=xxx_zabbix_proxy # rds proxy引用的数据库名
DBUser=root # rds 账号
DBPassword=xxxx # rds密码
ConfigFrequency=60 # 多久从zabbix-server接受配置
DataSenderFrequency=60 # 多久向zabbix-server发送收集数据
启动zabbix-proxy
systemctl start zabbix-proxy.service
systemctl zabbix-proxy.service
proxy机器上部署agent
mv /etc/zabbix/zabbix_agent.conf /etc/zabbix/zabbix_agent.conf.bak
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid # 启动agent pid文件路径
LogFile=/var/log/zabbix/zabbix_agentd.log # 启动agent 日志文件路径
LogFileSize=0
Server=xxx.xx.xx.xxx # proxy公网地址
ServerActive=xxx.xx.xx.xxx # proxy公网地址
Hostname=xxxx # agent机器的主机名
Include=/etc/zabbix/zabbix_agentd.d/
启动zabbix-agent
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
zabbix server与zabbix proxy的配置的同步是有延时的,如果需要立即同步可以手动执行命令:
zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf -R config_cache_reload
zabbix bashbord添加agent代理程序
添加proxy下的被监控主机