一、概述:

zabbix 是一个分布式的监控系统,支持通过代理服务器zabbix proxy收集zabbix agent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。
架构如下:
zabbix分布式监控之zabbix-proxy实战

说明:zabbix的分布式系统主机解决zabbix-server在监控设备过多分散时的压力;可以在各IDC部署zabbix-proxy服务代理监控本IDC机房中的所有设备再通过主动模式 把收集的监控数据主动提交到zabbix-server;上图即zabbix-server部署在IDC C,其他IDC部署zabbix-proxy 各IDC设备的agent指向所在zabbix-proxy;

本次测试说明:
本次测试基于前面本文是继LNMP环境部署zabbix实战等相关zabbix系列的补充;因此zabbix server不在部署;主要测试
zabbix proxy 及agent通过zabbix proxy分布式监控;
zabbix-server:CentOS7.4_x64 LNMP环境 zabbix-server 172.16.3.152(zabbix.san.com) (之前已经部署过)
zabbix-proxy:CentOS7.4_x64 mariadb-server zabbix-agent 172.16.3.167(zabbix-proxy)
zabbix-agent:CnetOS7.4_x64 zabbix-agent 172.16.3.175(node3.san.com)
为了减少不必要的故障排错,关闭selinux与iptables firewalld服务(注意:生产线上务必做好相应配置!)

二、zabbix-proxy安装配置

1、安装mariadb
由于zabbix-proxy是代理收集数据,因此需要独立的数据系统;

[root@zabbix-proxy ~]# yum -y install mariadb-server mariadb-devel
启动数据库
[root@zabbix-proxy ~]# systemctl start mariadb

配置zabbix proxy服务数据库
安装好mariadb 默认root为空;登录数据

mysql -uroot -p
设置root密码
set password for root@localhost = password("redhat");
创建数据库为proxy
create database proxy character set utf8 collate utf8_bin;
授权
grant all privileges on proxy.* to 'proxy'@'172.16.3.%' identified by '123456';

2、配置zabbix安装源并安装

[root@zabbix-proxy ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@zabbix-proxy ~]# yum install zabbix-proxy -y

初始化数据库

[root@zabbix-proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.2.11/
[root@zabbix-proxy ~]# gzip -d schema.sql.gz
[root@zabbix-proxy ~]# mysql -uzabbix -p123456  proxy < schema.sql  

3、配置zabbix_proxy服务

[root@zabbix-proxy ~]# egrep -v '(^$|^#)' /etc/zabbix/zabbix_proxy.conf 
ProxyMode=0             #主动上报数据到zabbix server
Server=172.16.3.152        #zabbix server地址
ServerPort=10051            #zabbix server端口
Hostname=SH_Proxy_172.16.3.167     #zabbix proxy主机名,此处和在zabbix server web GUI上添加时的名称必须保持一至
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=proxy
DBUser=proxy
DBPassword=123456
DBPort=3306
ProxyLocalBuffer=3
ProxyOfflineBuffer=24
HeartbeatFrequency=60
ConfigFrequency=5
DataSenderFrequency=5
StartPollers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

4、zabbix proxy上的