zabbix企业级监控平台4——分布式监控与grafana数据可视化

1 分布式监控

1.1 简介

Zabbix 分布式依靠 Zabbix Proxy 实现分层采集,分为三层:

  1. Zabbix Server(中心服务端):统一存储数据、展示图表、告警、配置下发(唯一数据库)
  2. Zabbix Proxy(分布式代理节点):分机房 / 分区域部署,就近采集本地设备,缓存数据后同步给 Server
  3. 被监控端(Agent/JMX/SNMP 设备):服务器、网络设备、Java 应用等

架构优势

  1. 分流采集压力:上千台设备不会压垮中心 Server
  2. 跨机房网络隔离:分支机房仅 Proxy 能连通中心,设备不用暴露给公网 / 核心内网
  3. 断网缓存:分支机房断网时 Proxy 本地缓存监控数据,恢复网络自动补传,无数据丢失
  4. 分层权限管理:不同机房运维只管理本地 Proxy,隔离权限

1.2 部署

server2的模板改为主动式

新开虚拟机server4做proxy,使用Rocky linux 9.6做镜像

安装proxy

bash 复制代码
[root@server4 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest-6.0.el9.noarch.rpm
[root@server4 ~]# dnf install zabbix-proxy-mysql zabbix-sql-scripts

安装数据库

bash 复制代码
[root@server4 ~]# yum install -y mysql-server
[root@server4 ~]# systemctl enable --now mysqld

创建zabbix_proxy数据库

bash 复制代码
[root@server4 ~]# mysql
mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入数据

bash 复制代码
[root@server4 ~]# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy
[root@server4 ~]# mysql
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

修改配置

bash 复制代码
[root@server4 ~]# vim /etc/zabbix/zabbix_proxy.conf
[root@server4 ~]# systemctl enable --now zabbix-proxy

创建proxy

刷新server配置缓存

bash 复制代码
[root@server1 ~]# zabbix_server -R config_cache_reload

server2和server3设为由Proxy代理程序监测

server2和server3的server指向proxy主机IP

bash 复制代码
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
[root@server2 ~]# systemctl restart zabbix-agent.service

可以看到日志中会有如下信息

bash 复制代码
[root@server4 ~]# cat /var/log/zabbix/zabbix_proxy.log

可用性为绿色即为部署成功

2 grafana数据可视化

2.1 简介

Grafana 是一款开源免费的数据可视化 & 监控大屏工具,主打时序数据展示,搭配 ELK、Zabbix、MySQL、Redis 等数据源使用。

核心作用

  1. 画图展示数据

    支持折线图、柱状图、饼图、数字卡片、表格等,能把 ES 日志、服务器性能、业务指标做成直观大屏;

  2. 实时监控

    自动刷新数据,持续观察集群 / 日志变化。

  3. 告警提醒

    设置阈值,比如错误日志暴增、ES 集群变成 yellow/red 时,自动发钉钉、邮箱报警。

  4. 多数据源统一展示

    一个页面同时放 ES 日志、服务器 CPU 内存、数据库指标,不用切换多个工具。

2.2 部署与使用

安装软件并启动

bash 复制代码
[root@server1 ~]# rpm -Uvh grafana-enterprise_12.4.8_31135008312_linux_amd64.rpm
[root@server1 ~]# systemctl enable --now grafana-server.service

访问IP:3000,账号和密码均为admin,登录后会提示修改密码,也可跳过

设置界面显示为中文

安装 zabbix 插件

启用

添加数据源

此处的账户和密码是登录zabbix的账户和密码

测试通过即可使用

添加仪表板

可以在一个图中添加多个监测指标

添加成功

可变换图表形式

也可导入官网提供的模板,由于兼容性问题,添加好后没有数据显示,此处仅做导入模板示例

点击进入此网站,选择需要的模板

复制模板ID

填入ID并选择数据源

导入成功

相关推荐
渣渣盟3 小时前
当 Redis 写入不再是瓶颈后,Flink 任务的反压可能来自哪里?如何系统性地定位和解决 Flink 反压问题?
数据库·redis·flink
七牛开发者3 小时前
Codex 实践系列 Vol.04:用 Goal 和 Plan 管住一个长任务
java·数据库·人工智能·github·copilot
Darkwanderor3 小时前
线程概念和Linux线程
linux·c语言·c++
仍然.3 小时前
服务端高并发分布式结构演进之路
大数据·数据库·redis
MC皮蛋侠客3 小时前
Redis 系列(三):底层实现(一)——对象系统、SDS 与 dict
数据库·redis·缓存
杜子不疼.3 小时前
不会SQL也能改数据库?我用NocoDB把MySQL变成了表格界面
数据库·sql·mysql
今天AI了吗3 小时前
AI辅助数据库工具链对比:从SQL优化到架构设计的主流方案评估
数据库·人工智能·sql
酷可达拉斯4 小时前
自动化运维-从零开始编写ansible剧本(二)
linux·运维·服务器·centos·自动化
A-刘晨阳4 小时前
Kubernetes 非共享存储详解:emptyDir 与 hostPath 从入门到实践
运维·云原生·容器·kubernetes·hostpath·emptydir