zabbix-proxy 是一个监控代理服务器,它将收集到的数据,先放到缓冲区,而且这个在缓冲区保存的时间是可以通过zabbix-proxy 的配置文件进行修改的,而后再传送到 zabbix-server。这样的好处就体现在服务器较多的时候(上千台),能够简化的维护分布式监控。
zabbix-proxy 跟 zabbix-server 一样,需要一个单独的数据库进行数据的存放。
详情查看zabbix官方文档:https://www.zabbix.com/documentation/3.4/zh/manual/concepts/proxy
安装之前需要先安装相关依赖:
[[email protected] ] yum -y install net-snmp-devel curl-devel libevent-devel mysql-devel php-gd php-xml php-bcmath php-mbstring
zabbix-proxy 部署安装:
[[email protected] ] wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.4/zabbix-3.4.4.tar.gz
[[email protected] ] tar -xf zabbix-3.4.4.tar.gz
[[email protected] ] cd zabbix-3.4.4
[[email protected] ] ./configure --prefix=/usr/local/zabbix --enable-proxy --with-mysql --with-net-snmp --enable-ipv6 --with-libcurl --with-libxml2
[[email protected] ] make && make install
如遇无法下载,请移至 https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/3.4.4/zabbix-3.4.4.tar.gz/download
创建 zabbix-proxy 数据库,并将源码包下数据库文件导入到 zabbix-proxy 库,如下:
注意:zabbix-proxy 只需要导入 schema.sql
这个就行
注意:zabbix proxy 数据库必须和 server
分开,否则数据会被破坏。
[[email protected] ] mysql -uroot -p
> create database zabbix_proxy charset=utf8;
> grant all on *zabbinx_proxy.* to 'zabbix'@'%' identified by '123456';
[[email protected] ] mysql -uzabbix -p123456 zabbix_proxy < /zabbix-3.4.4/database.mysql/schema.sql
修改 zabbix-proxy 的配置文件,如下:
[[email protected] ] vim /usr/local/zabbix/etc/zabbix_proxy.conf
# 修改如下内容:
Server=192.168.43.186 # zabbix-server的IP地址
Hostname=Zabbix proxy # 该名字必须跟在server上创建proxy的名字一致
LogFile=/data/logs/zabbix_proxy.log
DBHost=localhost
DBName=zabbix_proxy
DBPassword=123456
ConfigFrequency=60 # zabbix-proxy向服务器检索配置数据信息的频率,被动模式下被忽略
DataSenderFrequency=30 # zabbix-proxy将收集到的数据发送到zabbix-server的频率
Timeout=4 # 超时时间
LogSlowQueries=3000
启动 zabbix-proxy 服务,如下:
[[email protected] ] zabbix_proxy