当前位置: 首页 > news >正文

Zabbix 7.0监控系统从零部署到生产实践(2026版)

Zabbix 7.0监控系统从零部署到生产实践

Zabbix是企业级开源监控解决方案的首选,支持网络设备、服务器、云资源等全方位监控。2025年发布的Zabbix 7.0带来了重大更新:原生Prometheus集成、增强的Kubernetes监控和全新的Web界面。本文基于Zabbix 7.0 LTS版本,提供完整的部署与配置指南。


zabbix.png

一、Zabbix 7.0新特性概览

  • 原生Prometheus集成: 无需额外组件即可抓取Prometheus指标

  • 增强的K8s监控: 自动发现Pod、Service、Node等资源

  • 新Web UI: 基于React重构的前端界面,响应式设计

  • 改进的高可用: 原生支持Zabbix server主备切换

  • AI告警压缩: 内置机器学习算法减少告警风暴

二、环境规划

组件 推荐配置 说明
Zabbix Server 4核8G, 100GB SSD 核心服务,建议独立部署
MySQL/PostgreSQL 8核16G, 500GB SSD 数据库,和历史数据存储
Zabbix Proxy 2核4G, 50GB 分布式监控,按区域部署
Agent/Agent2 被监控节点安装 采集指标

三、部署Zabbix Server(CentOS 9 / Rocky Linux 9)

3.1 安装Zabbix仓库

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-1.el9.noarch.rpm
dnf clean all

3.2 安装Server + 前端 + Agent

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent2 zabbix-sql-scripts -y
# 或者使用PostgreSQL
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent2 -y

3.3 配置数据库(MySQL)

# 创建数据库
mysql -u root -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@2026!';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
QUIT
# 导入初始数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
mysql -u root -p
SET GLOBAL log_bin_trust_function_creators = 0;
QUIT

3.4 配置Zabbix Server

vim /etc/zabbix/zabbix_server.conf
# 关键配置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@2026!
DBPort=3306
# 历史数据保留时间
HistoryStorageDate=30
TrendStorageDate=365
# 监控主机数
StartPollers=20
StartPingers=10
StartTrappers=20
CacheSize=256M
HistoryCacheSize=128M
HistoryIndexCacheSize=64M
TrendCacheSize=64M
ValueCacheSize=256M

3.5 配置PHP前端

vim /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
php_value[max_execution_time] = 300
php_value[memory_limit] = 256M
php_value[post_max_size] = 32M
php_value[upload_max_filesize] = 16M
php_value[max_input_time] = 300
systemctl restart php-fpm
systemctl restart zabbix-server
systemctl enable zabbix-server

3.6 启动服务

systemctl restart zabbix-server zabbix-agent2 httpd php-fpm
systemctl enable zabbix-server zabbix-agent2 httpd php-fpm
# 检查状态
systemctl status zabbix-server
tail -f /var/log/zabbix/zabbix_server.log
# 防火墙放行
firewall-cmd --add-port=10051/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

浏览器访问 http://服务器IP/zabbix,按向导完成安装。默认管理员:Admin / zabbix

四、Docker Compose部署(快速方案)

# docker-compose.yml
version: '3.8'
services:
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: zabbix
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbixpass
    volumes:
      - mysql_data:/var/lib/mysql
      - ./zbx_env/usr/share/zabbix-sql-scripts/mysql/server.sql.gz:/docker-entrypoint-initdb.d/server.sql.gz:ro
  
  zabbix-server:
    image: zabbix/zabbix-server-mysql:7.0-alpine
    environment:
      DB_SERVER_HOST: mysql
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbixpass
      MYSQL_DATABASE: zabbix
    ports:
      - "10051:10051"
    depends_on:
      - mysql
  
  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:7.0-alpine
    environment:
      ZBX_SERVER_HOST: zabbix-server
      DB_SERVER_HOST: mysql
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: zabbixpass
      MYSQL_DATABASE: zabbix
      PHP_TZ: Asia/Shanghai
    ports:
      - "80:8080"
    depends_on:
      - mysql
      - zabbix-server
  zabbix-agent:
    image: zabbix/zabbix-agent2:7.0-alpine
    privileged: true
    network_mode: host
    environment:
      ZBX_HOSTNAME: "zabbix-server"
      ZBX_SERVER_HOST: "127.0.0.1"
    restart: unless-stopped
volumes:
  mysql_data:
# 启动
docker compose up -d
docker compose logs -f

五、监控配置实战

5.1 自动发现规则

Zabbix 7.0的自动发现支持多种协议:

配置路径:配置 → 发现 → 创建发现规则
# ICMP扫描发现的设备
名称: ICMP Auto Discovery
IP范围: 192.168.1.0/24
检测: ICMP ping
更新间隔: 3600s
# 自动发现后的动作
配置 → 动作 → 发现动作
条件: 发现状态 = 已发现
操作: 添加到主机组"Network Devices"
     链接模板"Linux by Zabbix agent"

5.2 Prometheus集成(Zabbix 7.0原生支持)

# 添加Prometheus数据源
配置 → 主机 → 创建主机 → 选择"Prometheus"类型
# 示例:监控Node Exporter
Interval: 30s
# 预定义PromQL模板
# CPU使用率
100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
# 内存使用率
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100

5.3 Kubernetes监控

# 使用Zabbix Agent2的Kubernetes插件
kubectl create namespace zabbix-monitoring
# 部署Zabbix Agent2到K8s集群
kubectl apply -f - <


原文链接:https://shibaolong.com/91/
更多安全技术文章请访问 月梦沉冰的安全博客

http://www.jsqmd.com/news/699674/

相关文章:

  • Voxtral-4B-TTS-2603效果展示:德语科技新闻语音输出——辅音清晰度与长句断句实测
  • 基于Simulink仿真的永磁同步电机死区补偿策略实践
  • 企业级容器化架构设计:MDCx Docker部署实战解决方案
  • Banana Pi BPI-CM5 Pro:高性能AI边缘计算模块解析
  • 你的Termux终端太丑了?手把手教你用Oh My Zsh打造高颜值命令行(附字体配色方案)
  • OMC - 08 在多 Agent 时代,如何优雅地「分工协作」:oh-my-claudecode 委托分类体系深度解读
  • cryptography,一个让 Python 应用坚不可摧的密码学利器!
  • XGBoost实战:Python环境下的7步极简教程
  • Camera成像竖线故障:从现象到芯片级定位的完整排查指南
  • 终极解决方案:开源SensitivityMatcher如何实现跨游戏鼠标灵敏度精准匹配
  • WebAssembly赋值语法区别
  • Docker容器安全指南(2026版)——从镜像到运行时的全链路防护
  • 2026年SCI期刊AIGC检测合规攻略:期刊AI率降到10%以下3步走
  • 别再乱用yaml.load了!一个真实案例告诉你为什么Python解析YAML必须用safe_load
  • 最新.NET新手入门学习网站合集(2026更新版)
  • 量子计算在金融组合优化中的创新应用
  • 终极指南:如何在3分钟内为Windows电脑免费扩展无限虚拟显示器
  • ROS2 rs_launch.py实战:从分辨率配置到点云生成的全流程解析
  • Nginx安全配置最佳实践(2026版)——抵御现代Web攻击的完整指南
  • 别再手动点选了!用UF_MODL_ask_face_data函数批量获取UG模型所有面类型
  • 费希尔线性判别分析(FLD)原理与Python实现
  • SVN提交前必看!TortoiseSVN的‘检查修改’功能详解与高效提交流程
  • 嵌入式系统开发:SoM与CoM模块技术解析与应用指南
  • 市场岗位考CDA数据分析师证书有用吗?对升职、转岗和能力证明帮助有多大
  • 5分钟快速上手:免费开源的离线OCR终极方案Umi-OCR
  • ELK(Elasticsearch + Logstash + Kibana)详细部署方法
  • 5分钟上手Mermaid在线编辑器:零基础制作专业图表指南
  • 网络安全SRC漏洞挖掘学习路线(5期完整版)-(一):零基础入门,筑牢SRC挖洞根基
  • OBS多平台直播同步插件终极指南:一键实现5大平台同时推流
  • VSCode多智能体协同失效真相(2026.1.0已修复):内存泄漏、上下文漂移与优先级反转的三重陷阱