Zabbix分布式监控(7)——掌握zabbix-proxy代理

本实验是在Zabbix分布式监控实战(1)——认识zabbix,搭建Zabbix监控平台实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机。

文章目录

    • 一、简介
    • 二、搭建zabbix-proxy
        • 实验环境
        • 实验

一、简介

zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。对于多机房大集群情况下,肯定不是一台zabbix server服务器来进行信息的收集等工作,所以就要用到代理了。zabbix proxy可以非常简便的实现了集中式、分布式监控。
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第1张图片
zabbix-server 处于外网,zabbix-agent 处于各个地方的内网,所有内网都是互通的。其中有一台内网服务器既可以和内网通信,也可以和外网进行通信。

zabbix proxy仅仅需要一条tcp连接到zabbix server,所以zabbix server主机的防火墙上仅仅需要加上一条规则即可。zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。

zabbix proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server。这个时间由zabbix proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。

zabbix proxy 使用场景:

 监控远程区域设备
 监控本地网络不稳定区域
 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
 简化 zabbix 的维护

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

二、搭建zabbix-proxy

实验环境

主机名 ip 服务 版本
server1 172.25.1.1 zabbix-server,zabbix-web,mariadb-server rhel7.3
server2 172.25.1.2 zabbix-agent rhel7.3
server3 172.25.1.3 zabbix-proxy rhel7.3

实验

在server3上
步骤一:停掉之前配置的zabbix-agent

systemctl stop zabbix-agent.service

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第2张图片
在web界面上删除server3的监控主机
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第3张图片Zabbix分布式监控(7)——掌握zabbix-proxy代理_第4张图片
步骤二:修改主机名为proxy,方便后续配置

hostnamectl set-hostname proxy

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第5张图片
添加本地解析
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第6张图片
步骤三:安装zabbix-proxy,及数据库mariadb

yum install zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm -y
yum install mariadb-server -y

在这里插入图片描述
在这里插入图片描述Zabbix分布式监控(7)——掌握zabbix-proxy代理_第7张图片
步骤四:开启数据库并配置

systemctl start mariadb.service 
systemctl enable mariadb.service 
systemctl status mariadb.service

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第8张图片
步骤五:数据库安全初始化

mysql_secure_installation 

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第9张图片
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第10张图片
步骤六:创建数据库zabbix-proxy,并授权

mysql -uroot -predhat
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
MariaDB [(none)]> show databases;

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第11张图片
步骤七:将zabbix-proxy自生成的数据库文件导入数据库

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz | mysql -uzabbix -p zabbix-proxy    #这里的密码是数据库的登陆密码

Zabbix分布式监控(7)——掌握zabbix-proxy代理_第12张图片
在zabbix-web界面设置
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第13张图片Zabbix分布式监控(7)——掌握zabbix-proxy代理_第14张图片Zabbix分布式监控(7)——掌握zabbix-proxy代理_第15张图片
在server3上

vim /etc/zabbix/zabbix_proxy.conf 
 30 Server=172.25.1.1
 39 ServerPort=10051
 49 Hostname=proxy
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=zabbix
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
cat /var/log/zabbix/zabbix_proxy.log  #可以接受到data来自172.25.1.1

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在web界面查看代理状态
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第16张图片
给server2设置代理:
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第17张图片Zabbix分布式监控(7)——掌握zabbix-proxy代理_第18张图片Zabbix分布式监控(7)——掌握zabbix-proxy代理_第19张图片
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第20张图片

在server2上

vim /etc/zabbix/zabbix_agentd.conf
 98 Server=172.25.1.3
139 ServerActive=172.25.1.3
systemctl restart zabbix-agent.service 
cat /var/log/zabbix/zabbix_agentd.log   

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在server3上

cat /var/log/zabbix/zabbix_proxy.log   #可以在日志中查看到server2的信息

在这里插入图片描述
在这里插入图片描述
在web界面查看主机
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第21张图片
此时可以查看到server2上的agent服务已经被检测到。
但是JMX没启用,这是因为我们的代理配置文件的没有设置这个监控,给proxy设置监控java应用的模块。

在server3上

vim /etc/zabbix/zabbix_proxy.conf 
329 JavaGateway=172.25.1.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5
systemctl restart zabbix-proxy.service 

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
刷新web界面
Zabbix分布式监控(7)——掌握zabbix-proxy代理_第22张图片此时,已经在zabbix中开启了JMX,并检测到java应用。

你可能感兴趣的:(Linux企业实战)