zabbix的分布式监控

基础zabbix架构

zabbix支持分布式吗 zabbix 分布式监控_数据

分布式架构

zabbix支持分布式吗 zabbix 分布式监控_数据_02

zabbix通过zabbix proxies为IT基础设施提供有效的可用的风不是监控
代理(proxy)可用于代替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 使用场景:
1.监控远程区域设备
2.监控本地网络不稳定区域
3.当 zabbix 监控上千设备时,使用它来减轻server 的压力
4.简化分布式监控的维护

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

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

# 注意
1.zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。
2.从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于
CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。

**

功能

proxy支持(yes/no)

项目(Items)

Zabbix agent checks

Yes

Zabbix agent checks (active)

Yes 1

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

部署zabbix-proxy

环境准备

主机名

WanIP

LanIP

角色

安装应用

m01

10.0.0.61

172.16.1.61

zabbix-server

zabbix-server、zabbix-agent、zabbix-get

db01

10.0.0.51

172.16.1.51

zabbix-proxy

zabbix-porxy、MySQL5.7

web01

10.0.0.7

172.16.1.7

zabbix-agent

zabbix-agent、zabbix-java-gateway

db03

10.0.0.53

172.16.1.53

zabbix-server的数据库

MySQL5.7

安装zabbix-proxy

# 1.使用yum安装
[root@lb02 ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-5.0.26- 1.el7.x86_64.rpm

#2.配置数据库
mysql> create database zabbix_proxy50 charset utf8; mysql> grant all on zabbix_proxy50.* to proxy@'localhost' identified by '123';

# 3.导入数据
[root@lb02 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.26/schema.sql.gz|mysql - uproxy -p123 zabbix_proxy50

# 4.修改zabbix-proxy配置文件
[root@lb02 ~]# vim /etc/zabbix/zabbix_proxy.conf 
Server=172.16.1.71
Hostname=Zabbix proxy
DBHost=localhost
DBName=zabbix_proxy50
DBUser=proxy
DBPassword=123
# DBSocket= 二进制安装的数据库要指定socket文件

# 5.启动并加入开机自启
[root@lb02 ~]# systemctl restart zabbix-proxy.service 
[root@lb02 ~]# systemctl enable zabbix-proxy.service

zabbix支持分布式吗 zabbix 分布式监控_数据库_03

zabbix-proxy 连接数据库时找不到socker文件
修改zabbix-proxy配置文件
DBSocket=/tmp/mysql.sock(你的数据库socket文件路径)

修改zabbix-agent配置

[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.1.51
Server=172.16.1.51

[root@web01 ~]# systemctl restart zabbix-agent

zabbix支持分布式吗 zabbix 分布式监控_数据库_04

因为现在web01的server指向zabbix-proxy
zabbix-server无法直接获取到web01的数据

页面配置

zabbix支持分布式吗 zabbix 分布式监控_数据库_05

zabbix支持分布式吗 zabbix 分布式监控_数据_06

zabbix支持分布式吗 zabbix 分布式监控_zabbix支持分布式吗_07

zabbix支持分布式吗 zabbix 分布式监控_数据库_08

zabbix支持分布式吗 zabbix 分布式监控_数据_09

[root@lb02 ~]# vim /etc/hosts
172.16.1.7 web01
172.16.1.51 proxy

zabbix支持分布式吗 zabbix 分布式监控_数据库_10