Zabbix分布式监控(7)——Zabbix-proxy的应用

说明:本实验是在Zabbix分布式监控实战(1)的基础上进行的,已经配置好了zabbix-server和zabbix-agent主机。

文章目录

    • 一、相关概念
      • 1.原理
      • 2.使用场景
    • 二、搭建zabbix-proxy环境
      • 1.实验环境
      • 2.实验步骤

一、相关概念

1.原理

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决定。

2.使用场景

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

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

二、搭建zabbix-proxy环境

1.实验环境

主机名 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

2.实验步骤

  • 在server3上:

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

systemctl stop zabbix-agent.service

Zabbix分布式监控(7)——Zabbix-proxy的应用_第2张图片
步骤二:在web界面上删除server3的监控主机

Zabbix分布式监控(7)——Zabbix-proxy的应用_第3张图片
步骤三:修改主机名为proxy,方便后续配置

hostnamectl set-hostname proxy

Zabbix分布式监控(7)——Zabbix-proxy的应用_第4张图片

添加本地解析

Zabbix分布式监控(7)——Zabbix-proxy的应用_第5张图片

步骤四:安装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

在这里插入图片描述
步骤五:开启数据库并配置

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

步骤六:数据库安全初始化

mysql_secure_installation 

Zabbix分布式监控(7)——Zabbix-proxy的应用_第6张图片

Zabbix分布式监控(7)——Zabbix-proxy的应用_第7张图片

步骤七:创建数据库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的应用_第8张图片

步骤七:将zabbix-proxy自生成的数据库文件导入数据库

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

Zabbix分布式监控(7)——Zabbix-proxy的应用_第9张图片

在zabbix-web界面设置:

Zabbix分布式监控(7)——Zabbix-proxy的应用_第10张图片
Zabbix分布式监控(7)——Zabbix-proxy的应用_第11张图片
Zabbix分布式监控(7)——Zabbix-proxy的应用_第12张图片

  • 在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的应用_第13张图片
给server2设置代理:

Zabbix分布式监控(7)——Zabbix-proxy的应用_第14张图片

Zabbix分布式监控(7)——Zabbix-proxy的应用_第15张图片
Zabbix分布式监控(7)——Zabbix-proxy的应用_第16张图片

Zabbix分布式监控(7)——Zabbix-proxy的应用_第17张图片

在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的应用_第18张图片

此时可以查看到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的应用_第19张图片

此时,已经在zabbix中开启了JMX,并检测到java应用。

你可能感兴趣的:(linux架构)