[toc]

Zabbix分布式监控的概述

概述

Zabbix通过Zabbix proxies为IT基础设施提供有效和可用的分布式监控 代理(proxies)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器。

Zabbix架构图示

  • 目前架构

    image-20230620205808238

  • 分布式监控架构

    image-20230620205816412

Zabbix分布式监控的作用

  • 解决Zabbix Server的压力
  • 解决在不同地区的服务器之间的网络问题
  • 解决物理机和云主机的监控问题
  • 解决数据丢失问题

Zabbix Proxy特性

当选择使用/不使用proxy时,必须考虑几个注意事项。

Proxy
轻量级(Lightweight) Yes
图形界面(GUI) No
独立工作(Works independently) Yes
易于维护(Easy maintenance) Yes
自动生成数据库(Automatic DB creation)1 Yes
本地管理(Local administration) No
准备嵌入式硬件 (Ready for embedded hardware) Yes
单向TCP连接(One way TCP connections) Yes
集中配置(Centralised configuration) Yes
生成通知(Generates notifications) No

Zabbix Proxy概述

image-20230620210041181

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

Zabbix Proxy功能

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:

功能 proxy支持(yes/no)
项目(Items)
Zabbix agent checks Yes
Zabbix agent checks (active) Yes
Simple checks Yes
Trapper items Yes
SNMP checks Yes
SNMP traps Yes
IPMI checks Yes
JMX checks Yes
日志文件监控(Log file monitoring) Yes
内部检查(Internal checks) Yes
SSH checks Yes
Telnet checks Yes
外部检查(External checks) Yes
内置web监控(Built-in web monitoring) Yes
网络发现(Network discovery) Yes
自动发现(Low-level discovery) Yes
触发器计算(Calculating triggers) No
处理事件(Processing events) No
发送报警(Sending alerts) No
远程命令(Remote commands) No

使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。

Zabbix Proxy企业场景

image-20230620210126019

Zabbix Proxy部署

image-20230620210457718

环境准备

主机名 IP 角色 应用
m01 10.0.0.61 Zabbix Server Zabbix Server、Zabbix Agent、Zabbix_get
web02 10.0.0.8 Zabbix Proxy Zabbix Proxy、MySQL
web03 10.0.0.7 Zabbix Agent Zabbix Agent

部署Proxy

安装Zabbix Proxy

1
2
3
4
5
6
7
8
9
10
11
12
13
# 安装zabbix-proxy
wget https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-
5.0.32-1.el7.x86_64.rpm

# 创建库和用户
mysql> create database zabbix_proxy charset utf8;
mysql> grant all on zabbix_proxy.* to zabbix_proxy@'172.16.1.%' identified by '123';

# 发送数据到数据库服务器上
scp /usr/share/doc/zabbix-proxy-mysql-5.0.31/schema.sql.gz 172.16.1.53:/tmp/

# 导入数据
zcat /tmp/schema.sql.gz |mysql -uzabbix_proxy -p123 -h172.16.1.53 zabbix_proxy

配置Zabbix Proxy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 修改配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=172.16.1.61
Hostname=Aliyun_Proxy
DBHost=172.16.1.53
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=123

# 启动zabbix proxy
systemctl start zabbix-proxy

# 查看端口
netstat -lntup
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 35589/zabbix_proxy

配置Zabbix Agent

1
2
3
4
5
6
7
# 修改客户端配置
vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.8
ServerActive=172.16.1.8

# 重启zabbix agent
systemctl restart zabbix-agent

配置Zabbix Web页面

1.创建代理程序

image-20230620210510729

image-20230620210518778

image-20230620210527696

image-20230620210539445

image-20230620210550084