Zabbix 监控服务器部署

type
Post
status
Published
date
Nov 12, 2025
slug
summary
tags
Centos7
运维
Zabbix
category
学习笔记
icon
password
notion image
Zabbix Server 获取服务器,网络设备,数据库以及应用的监控数据,如果监控对象较多或者处于不同的隔离网段,还可以使用 Zabbix Proxy 获取监控数据后传输给 Zabbix Server,Zabbix Server 最终会将数据存储在数据库中,然后就可以使用浏览器访问 Zabbix Web 界面,进行配置和查看监控数据。如果出现异常,则会通过电子邮件,短信或者电话通知相关人员。

一、监控的作用(核心)

  • 发现问题:及时发现系统/服务异常。
  • 解决问题:通过报警和历史数据定位原因。
  • 预防问题:趋势分析与容量规划,提前预警。
监控方式:
  • 人工巡检、巡检脚本
  • 监控软件
    • Zabbix(IT基础设施:服务器、网络、存储)
      Promethues(容器化应用)
      Cacti、Nagios、Openfalcon(小米)

二、Zabbix 获取监控数据的方式(概念与用途)

  • Zabbix Agent:用于主机/服务器,支持被动(server 拉取)和主动(agent 推送)两种模式。
  • SNMP(UDP/161):简单网络管理协议,用于网络设备(交换机、路由器、防火墙、IDS/IPS)。三个版本(v1,v2,v3),常用 SNMP v2(稳定),需配置 community。
  • IPMI:用于物理硬件监控(温度、电源、序列号等)。
  • JMX:用于 Java 应用(如 Tomcat、Kafka)的指标采集(通过 JMX 接口)。
说明:每种方式适用场景不同,选择时按设备/应用类型决定(例如交换机优先 SNMP,Java 应用用 JMX)。

三、Zabbix Server 部署(保留并完善的步骤)

环境

  • OS:RHEL/CentOS 7 类(使用 yumsystemctl 等命令)。
  • 文档示例使用 Zabbix 4.4、MariaDB。实际生产请根据需求选择版本并确认兼容性。

1. 时间同步(必须)

  • 说明/建议(补充)
    • ntpdate 在很多系统被视为过时做法(会“step”时间),推荐使用 chronychronyd)或 ntpd 作持续同步。
    • 示例改进(推荐):
      • 若继续用 ntpdate,避免频繁在 cron 中 step 大时间差,可能影响服务稳定性。

    2. 添加 EPEL 源(阿里云)

    • 说明:为安装额外包(如 php 扩展)提供来源。

    3. 添加 Zabbix 仓库(示例)

    • 说明:示例使用 4.4 版本;生产环境请确认是否需要更高版本并替换 baseurl。

    4. 安装服务端软件(示例)

    • 注意:安装后需启动并初始化数据库

    5. 启动并初始化 MariaDB(必加)

    建议步骤:
    • 说明:必须先启动 DB 并完成 mysql_secure_installation

    6. 在数据库创建 zabbix 数据库、用户并导入 schema

    导入 schema:
    • 建议/安全提示
      • 使用强密码替换示例密码 redhat
      • 若数据库需要远程访问,应限制 zbuser 的访问范围,仅允许 zabbix server 主机或使用 socket 通信。
      • 可采用 GRANT ALL ON zabbix.*(Zabbix 升级时较常见)或根据最小权限原则酌情限制。

    7. 编辑 Zabbix server 配置

    编辑 /etc/zabbix/zabbix_server.conf
    • 说明:确保 DBPassword 使用强口令并且文件权限受限(chmod 600)。

    8. 启动 Zabbix server

    • 输出示例 显示服务器监听 10051 端口(Zabbix server)。

    9. 初始化 Zabbix Web UI

    编辑 /etc/httpd/conf.d/zabbix.conf,设置 PHP 时区:
    启动 httpd:
    • 说明/补充
      • 若系统在日本/东京,请把 Asia/Shanghai 改为 Asia/Tokyo
      • 确保 PHP 必需模块已安装:php, php-mysql/php-mysqli, php-gd, php-xml, php-bcmath 等(视 Zabbix 版本而定)。
      • 访问 Web UI:http://<server-ip>/zabbix/
      • 默认登录:Admin / zabbix首次登录后必须修改密码)。

    四、本机(Agent)监控配置

    安装 agent

    关键字段说明:
    • Server=<Zabbix Server IP> # 允许哪些 Zabbix Server/Proxy 连接(用于被动检查)
    • ServerActive=<Zabbix Server IP> # agent 主动模式时推送到的地址
    • Hostname=<唯一主机名> # 被监控机名称,必须和 Web UI 中主机名一致或使用 HostnameItem
    启动 agent:
    端口校验(示例):
    • agent 监听 10050
    • server 监听 10051

    Agent 模式说明(重要)

    • 被动(passive):Zabbix server 向 agent 的 10050 端口发起请求拉取数据。配置 Server 即可。
      • notion image
    • 主动(active):agent 主动连接 server(或 proxy)端口 10051,并推送数据。配置 ServerActive 并在 server 端允许该 agent 的连接。
      • notion image
        被监控机数量多,修改为主动模式,能有效减小Server工作压力。
        注意agent配置文件的主机名,要和zabbix-UI中的主机名对上。
        zabbix-UI里修改监控项为主动模式
        notion image
        notion image
        notion image

    五、常见问题与修复

    图形乱码

    Windows控制面板——>字体——>楷体 常规
    • 把中文字体文件(如 simkai.ttf)放入:
      • 编辑:
        • 补充:放入字体后重启 httpd(systemctl restart httpd),并检查文件权限与 Zabbix 前端缓存(可清浏览器缓存)。

        端口/服务检查

        • 如果 netstat 缺失,可用 ss -tunlp 替代。
        • 防火墙(firewalld/iptables)需放行相应端口(80/443, 10050, 10051等),并考虑只放行必要来源。

        六、重要概念

        • Zabbix Server:负责聚合、处理、触发报警并存储数据的核心服务。监听端口 10051
        • Zabbix Agent:部署在被监控主机上,采集指标并响应 server 查询或主动推送。监听端口 10050
        • SNMP:网络设备标准协议,使用 community 字符串做简单认证(v2 常见)。
        • IPMI:用于裸机硬件的传感器数据(风扇、温度、电源)。
        • JMX:Java 应用管理扩展,适合 JVM 指标采集。
        • 主动 vs 被动:主动由 agent 推送数据,被动由 server 拉取数据(选择依据网络拓扑与防火墙策略)。

        版本提示
        • 文档中的 Zabbix 版本(4.4)与 MariaDB 版本可能较旧。部署前验证当前需要的功能与兼容性并选择合适版本。

        七、快速命令清单


        八、建议的部署流程(按序、便于复现)

        1. 确认操作系统版本与依赖(PHP、数据库、httpd)。
        1. 配置时间同步(推荐 chrony)。
        1. 添加 EPEL 与 Zabbix 仓库。
        1. 安装 MariaDB / Zabbix server / web / agent。
        1. 启动 MariaDB 并运行 mysql_secure_installation
        1. 创建 zabbix 数据库与用户,导入 schema。
        1. 配置 /etc/zabbix/zabbix_server.conf(填写 DB 连接)。
        1. 配置 httpd/php(时区、扩展),重启 httpd。
        1. 启动并验证 zabbix-serverzabbix-agent
        1. 通过 Web UI 完成初始配置(更改默认密码、添加主机、应用模板、配置报警)。

        Loading...