一、简介
1、原因
假如3000服务器,1000在杭州、1000在上海、1000在深圳,Zabbix服务器部署在杭州
如果不使用分布式的话,Zabbix服务器得跟3000台服务器交互
如果不使用分布式的话,不一定异地的所有服务器都有外网
Zabbix Server建议都使用分布式
2、环境
Zabbix服务器:10.0.0.104
Zabbix分布式Proxy:10.0.0.105
Zabbix客户端:10.0.0.102
3、分布式架构
Zabbix Server -> Zabbix Proxy -> Zabbix Agent(多台)
Agent的Server白名单要配置Proxy
二、安装
1、先安装Mysql,缓存监控数据
安装Mysql服务器,大家也可以使用编译安装,编译安装可以看之前安装server的博客
yum install mariadb-server mariadb mariadb-devel -y
systemctl restart mariadb
systemctl enable mariadb
2、Zabbix Proxy安装
yum install -y tar gcc make gcc-c++ net-snmp-devel libxml2-devel libcurl-devel pcre-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src/
wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
chown zabbix:zabbix /usr/local/zabbix/ -R
3、验证Proxy的安装
设置zabbix环境变量
echo "export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/" >> /etc/profile
source /etc/profile
/usr/local/zabbix/sbin/zabbix_proxy --version
4、Mysql数据初始化
mysql设置密码并使用密码登陆
mysqladmin -h 127.0.0.1 -u root password '123456'
mysql -uroot -h 127.0.0.1 -p123456
然后初始化数据
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by '123456';
set names utf8;
use zabbix;
source /usr/local/src/zabbix-4.0.3/database/mysql/schema.sql;
5、Zabbix分布式Proxy配置
vim /usr/local/zabbix/etc/zabbix_proxy.conf
Hostname=wangxiaoyuproxy
Server=10.0.0.104
LogFile=/usr/local/zabbix/zabbix_proxy.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
ConfigFrequency=60
6、启动Zabbix Proxy
/usr/local/zabbix/sbin/zabbix_proxy
查看进程
查看日志可以发现还无法连接server,所以下面需要在server上配置一下proxy
7、Zabbix网页配置proxy
在(管理 -> agent程序代理)里
agent代理程序名称需要与配置文件里的Hostname=wangxiaoyuproxy一致
代理程序模式选择主动式,proxy主动向server汇报信息
proxy address 为代理服务器ip
添加后查看,最近出现表示最近一次发送信息的时候,一般不会超过6s,时间太长可能有问题
三、zabbix分布式监控Linux
将前面的www_002这台机器改为通过proxy监控
vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=www_002
Server=10.0.0.105
ServerActive=10.0.0.105
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
在www_002主机里修改agent代理程序为上面的proxy
查看最新数据有产生
过程
Zabbix Proxy 去监控Agent收集数据
Zabbix Proxy收集完数据给Zabbix Server