zabbix--分布式监控proxy
zabbix 分布式监控代理(proxy)
概述:
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。(摘自官网)
zabbix proxy 使用场景:
-
监控远程区域设备
-
监控本地网络不稳定区域
-
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
-
简化分布式监控的维护
真实案例
环境说明:
1、zabbix-server 处于外网,zabbix-agent 处于各个地方的内网,所有内网都是互通的。其中有一台内网服务器既可以和内网通信,也可以和外网进行通信。
需求说明:
如上环境所述、现在想要通过那台可以上内外网的服务器做一个代理监控内网所有的内网服务器。
架构图如下所示:
具体操作步骤:
参考官档:
https://www.zabbix.com/documentation/4.0/zh/manual/distributed_monitoring/proxies
https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
https://www.zabbix.com/documentation/4.0/manual/appendix/config/zabbix_proxy
server端配置就不细说了,可以参考我分类里面 (zabbix) 里面的。
proxy端配置
1)创建一个数据库供 zabbix-proxy 使用
mysql> create database zabbix_proxy character set utf8 collate utf8_bin; mysql> grant all on zabbix_proxy.* to zabbix_proxy@127.0.0.1 identified by 'zabbix_proxy'; mysql> flush privileges; # mysql -h 127.0.0.1 -u zabbix_proxy -pzabbix_proxy //测试上面创建的账号是否可以正常连接
2)安装 zabbix-proxy 并进行配置 安装zabbix-get为了方便测试
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm # yum -y install zabbix-proxy-mysql zabbix-get
3)编辑配置文件
# vim /etc/zabbix/zabbix_proxy.conf ProxyMode=0 //开启主动模式 Server=120.79.93.66 //zabbix-server端IP ServerPort=10051 //zabbix-server端口 Hostname=srt-xt ListenPort=10051 //proxy端监听的端口 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=127.0.0.1 DBName=zabbix_proxy DBUser=zabbix_proxy DBPassword=zabbix_proxy SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
4)导入初始化数据
# rpm -ql zabbix-proxy-mysql //查看初始化数据库文件存放路径 /usr/share/doc/zabbix-proxy-mysql-4.0.7/schema.sql.gz # zcat /usr/share/doc/zabbix-proxy-mysql-4.0.7/schema.sql.gz |mysql -h 127.0.0.1 -u zabbix_proxy -pzabbix_proxy zabbix_proxy
5)启动 zabbix-proxy
# service zabbix-proxy start
agent端配置
1)安装 zabbix-agent 软件包
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm # yum -y install zabbix-agent //安装zabbix-agent
2)编辑配置文件
# vim /etc/zabbix/zabbix_agentd.conf //配置zabbix-agent PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=145.36.26.41 //填写zabbix-proxy的IP StartAgents=5 Hostname=srt-hy HostMetadataItem=system.uname Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1
3)启动 zabbix-agnet
# service zabbix-agent start
server端 Web 配置
1)创建一个agent代理程序;进入:配置 -> agent代理程序 -> 创建代理
agnet代理名称(必须是zabbix-proxy上面的主机名),模式根据配置里面来定,代理地址(zabbix-proxy上面能和zabbix-server通信的地址)
2)添加主机
3)添加完成如下图
至此、通过 zabbix-proxy 代理监控就已完成了。