企业级监控系统zabbix---zabbix proxy分布式监控

文章目录

  • 一、Zabbix proxy分布式监控
    • 1.什么是zabbix-proxy?
    • 2.zabbix proxy 使用场景:
    • 3.环境说明(企业中):
  • 二、Zabbix proxy 分布式监控的部署
    • 1.proxy环境
    • 2.创建proxy
    • 3.配置数据库
    • 4.编辑proxy的zabbix-proxy的配置文件
    • 5.查看相应日志看是否接收正常
    • 6.在agent端重新指向ip到proxy
    • 7.在web ui界面添加proxy

一、Zabbix proxy分布式监控

1.什么是zabbix-proxy?

当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?
如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?

其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机, 区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构, proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求,非常简便的实现了集中式、分布式监控
企业级监控系统zabbix---zabbix proxy分布式监控_第1张图片

2.zabbix proxy 使用场景:

  • 监控远程区域设备

  • 监控本地网络不稳定区域

  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力

  • 简化 zabbix 的维护

3.环境说明(企业中):

zabbix-server 处于外网,zabbix-agent 处于各个地方的内网,所有内网都是互通的。其中有一台内网服务器既可以和内网通信,也可以和外网进行通信。

通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网ip地址,zabbix agent只具有内网地址,zabbix proxy具有外网地址和内网地址,搭建zabbix proxy使zabbix server能通过proxy远程获取到zabbix agent的数据.
企业级监控系统zabbix---zabbix proxy分布式监控_第2张图片
注意事项:

  • zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可

  • zabbix proxy 数据库必须和 server 分开,否则数据会被破坏

  • proxy 收集到数据之后,首先将数据缓存在本地,然后在一定的时间之后传递给
    zabbixserver,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数ProxyLocalBufferProxyOfflineBuffer 决定

Zabbix server数据库直接更新,最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略

二、Zabbix proxy 分布式监控的部署

注意:此实验是在之前实验的基础上完成的,首先需要搭建好zabbix监控平台,至少有一个agent(server2),并且将之前的环境清除(关闭自动发现、告警等)

主机 服务
server1 zabbix-server,zabbix-agent
server2 zabbix-agent
proxy zabbix-proxy

实验步骤如下所示:

为了实验环境的纯净,我们做以下操作:
企业级监控系统zabbix---zabbix proxy分布式监控_第3张图片
企业级监控系统zabbix---zabbix proxy分布式监控_第4张图片

1.proxy环境

在server3中:

hostnamectl set-hostname proxy
systemctl stop zabbix-agent	#没有配置的可以不做此步骤

企业级监控系统zabbix---zabbix proxy分布式监控_第5张图片在三个主机中都添加proxy的解析:

vim /etc/hosts
172.25.254.3 server3 proxy

在这里插入图片描述

2.创建proxy

先在zabbix_server端,web ui界面创建proxy:
step1 管理—agent代理程序—创建代理
企业级监控系统zabbix---zabbix proxy分布式监控_第6张图片
step2 proxy—地址—添加
企业级监控系统zabbix---zabbix proxy分布式监控_第7张图片
企业级监控系统zabbix---zabbix proxy分布式监控_第8张图片
在proxy安装zabbix-proxy以及依赖性软件:

yum install zabbix-proxy-mysql-4.4.1-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm -y

3.配置数据库

yum install mariadb-server -y
systemctl start mariadb
mysql_secure_installation 

mysql -uroot -p123

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)	#创建代理需要的数据库zabbix_proxy

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123';	#数据库授权
Query OK, 0 rows affected (0.00 sec)
cd /usr/share/doc/zabbix-proxy-mysql-4.4.1/
zcat schema.sql.gz | mysql -p zabbix_proxy	#导入数据库

企业级监控系统zabbix---zabbix proxy分布式监控_第9张图片

4.编辑proxy的zabbix-proxy的配置文件

vim /etc/zabbix/zabbix_proxy.conf
  30 Server=172.25.254.1     #zabbix-server端的ip
  39 ServerPort=10051       
  49 Hostname=proxy	#proxy的主机名
 173 DBName=zabbix_proxy     #数据库名称
 188 DBUser=zabbix          #数据库用户
 196 DBPassword=123     #数据库密码
 329 JavaGateway=172.25.254.1
 337 JavaGatewayPort=10052
 345 StartJavaPollers=5

企业级监控系统zabbix---zabbix proxy分布式监控_第10张图片

5.查看相应日志看是否接收正常

systemctl start zabbix-proxy
systemctl status zabbix-proxy
tail -f /var/log/zabbix/zabbix_proxy.log	#在proxy端查看
tail -f /var/log/zabbix/zabbix_server.log	#在zabbix-server端查看

企业级监控系统zabbix---zabbix proxy分布式监控_第11张图片
企业级监控系统zabbix---zabbix proxy分布式监控_第12张图片

6.在agent端重新指向ip到proxy

在server2中:

vim /etc/zabbix/zabbix_agentd.conf
  98 Server=172.25.254.3   #proxy端的ip
 139 ServerActive=172.25.254.3
systemctl restart zabbix-agent

此时刷新监控界面,proxy出现
企业级监控系统zabbix---zabbix proxy分布式监控_第13张图片
企业级监控系统zabbix---zabbix proxy分布式监控_第14张图片

7.在web ui界面添加proxy

step1 配置—主机—server2
step2 由agentt代理程序监测—proxy—更新
企业级监控系统zabbix---zabbix proxy分布式监控_第15张图片
添加好之后,再次刷新网页,状态可能是红色

再次重启刷新配置文件,重启各端服务:

[root@server1 ~]# systemctl restart zabbix-server
[root@server2 bin]# systemctl restart zabbix-agent
[root@proxy ~]# systemctl restart zabbix-proxy

再次刷新,就成功了
企业级监控系统zabbix---zabbix proxy分布式监控_第16张图片

你可能感兴趣的:(企业级监控系统zabbix,linux)