Zabbix监控linux服务器和Windows服务器

第一部分:Zabbix 监控 Linux 服务器(Agent 被动 / 主动模式)

一、核心说明

  • 监控方式:Zabbix Agent(生产最常用、高效、稳定)
  • 监听端口:10050/tcp
  • 配置文件:/etc/zabbix/zabbix_agentd.conf
  • 服务名:zabbix-agent

二、安装与配置(全步骤 + 注释)

1. 禁用 EPEL 源中的 Zabbix 包(避免版本冲突)

复制代码
# 编辑 epel 源配置,排除 zabbix 相关包
vim /etc/yum.repos.d/epel.repo

[epel] 段添加:

复制代码
# 排除 zabbix 所有包,防止 epel 旧版覆盖官方版
excludepkgs=zabbix*

2. 安装 Zabbix 官方 YUM 源

按照官方流程下载:

下载Zabbixhttps://www.zabbix.com/cn/download

复制代码
# 安装 Zabbix 7.0 官方源(RHEL/CentOS 10)
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-latest-7.0.el10.noarch.rpm

# 清空缓存,刷新源
dnf clean all

3. 安装 Zabbix Agent

复制代码
# 安装 zabbix 客户端
dnf install -y zabbix-agent

4. 安装可选插件(数据库监控增强)

复制代码
# 安装 MongoDB/MSSQL/PostgreSQL 监控插件(按需安装)
dnf install -y zabbix-agent-plugin-mongodb zabbix-agent-plugin-mssql zabbix-agent-plugin-postgresql

三、修改 Agent 配置文件

复制代码
# 编辑配置文件
vim /etc/zabbix/zabbix_agentd.conf

完整配置

复制代码
# PID 文件路径(进程号存放位置)
PidFile=/var/run/zabbix/zabbix_agent.pid

# 日志文件路径
LogFile=/var/log/zabbix/zabbix_agentd.log

# 日志切割大小,0 表示不自动切割(生产建议设 100)
LogFileSize=0

# 【被动模式核心】允许 Zabbix Server 拉取数据的
# 格式:Server=Zabbix服务端IP,多个IP用逗号分隔
Server=192.168.24.41

# 【主动模式核心】Agent 主动上报数据的 Server 地址
ServerActive=192.168.24.41:10051

# 本机主机名(必须与 Zabbix Web 中添加的主机名一致!)
Hostname=linux-server1

# 包含子配置文件目录(自定义监控项放这里)
Include=/etc/zabbix/zabbix_agentd.d/*.conf

# 控制套接字文件(一般默认即可)
ControlSocket=/tmp/agent.sock

快速生效配置

复制代码
# 过滤注释与空行,查看生效配置
egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf

四、启动服务 + 开机自启

复制代码
# 启动 zabbix-agent 并设置开机自启
systemctl enable --now zabbix-agent

# 查看服务状态
systemctl status zabbix-agent

五、生产必补:防火墙 + SELinux 放行

1. 防火墙放行 10050 端口

复制代码
# 永久放行 10050/tcp 端口
firewall-cmd --permanent --add-port=10050/tcp

# 重新加载防火墙
firewall-cmd --reload

# 查看已放行端口
firewall-cmd --list-ports

2. SELinux 放行(生产永久放行)

复制代码
# 临时关闭(测试用)
setenforce 0

# 永久放行 Zabbix Agent 网络权限
setsebool -P zabbix_can_network on

六、验证端口监听

复制代码
# 查看 10050 端口是否监听
ss -ntlp | grep 10050
# 或
netstat -lntup | grep 10050

✅ 出现 zabbix_agentd 监听 0.0.0.0:10050 即为正常。

七、Server 端测试连通性(zabbix_get 工具)

1. Server 端安装 zabbix-get

复制代码
dnf install -y zabbix-get

2. 测试命令

复制代码
# 语法:zabbix_get -s 被监控端IP -p 端口(默认10050) -k 监控项键值
# 测试系统内核信息
zabbix_get -s 192.168.24.42 -k system.uname

# 测试CPU 1分钟负载
zabbix_get -s 192.168.24.42 -k system.cpu.load[all,avg1]

# 测试总内存大小(单位:字节)
zabbix_get -s 192.168.24.42 -k vm.memory.size[total]

✅ 有数值返回 = 通信正常。

八、Zabbix Web 添加 Linux 主机

  1. 路径:配置 → 主机 → 创建主机
  2. 主机名称:zabbix-agent(与配置文件 Hostname 一致)
  3. 群组:Linux servers
  4. 接口:Agent → IP 地址:被监控端 IP → 端口:10050
  5. 模板:Template Linux by Zabbix Agent
  6. 点击添加 → 等待数据采集

数据图形邮乱码问题:

原因是因为虚拟机中中文相关文件缺少部分,用Windows中的字体替换

复制代码
[root@zabbix ~]# find / -name DejaVuSans.ttf
/usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf
[root@zabbix ~]# mv /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf.bak
[root@zabbix ~]# ll /usr/share/fonts/dejavu-sans-fonts
total 5556
-rw-r--r--. 1 root root 645600 Jul 30  2016 DejaVuSans-BoldOblique.ttf
-rw-r--r--. 1 root root 708920 Jul 30  2016 DejaVuSans-Bold.ttf
-rw-r--r--. 1 root root 614068 Jul 30  2016 DejaVuSansCondensed-BoldOblique.ttf
-rw-r--r--. 1 root root 667844 Jul 30  2016 DejaVuSansCondensed-Bold.ttf
-rw-r--r--. 1 root root 601448 Jul 30  2016 DejaVuSansCondensed-Oblique.ttf
-rw-r--r--. 1 root root 682828 Jul 30  2016 DejaVuSansCondensed.ttf
-rw-r--r--. 1 root root 355828 Jul 30  2016 DejaVuSans-ExtraLight.ttf
-rw-r--r--. 1 root root 637648 Jul 30  2016 DejaVuSans-Oblique.ttf
-rw-r--r--. 1 root root 759720 Jul 30  2016 DejaVuSans.ttf.bak

在Windows中找字体文件替换

建议下面的微软雅黑,比较全,复制粘贴共3个文件,保留第一个就行,xftp移动到linux中

复制代码
[root@zabbix ~]# mv msyh.ttc /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf
[root@zabbix ~]# ll /usr/share/fonts/dejavu-sans-fonts
total 24800
-rw-r--r--. 1 root root   645600 Jul 30  2016 DejaVuSans-BoldOblique.ttf
-rw-r--r--. 1 root root   708920 Jul 30  2016 DejaVuSans-Bold.ttf
-rw-r--r--. 1 root root   614068 Jul 30  2016 DejaVuSansCondensed-BoldOblique.ttf
-rw-r--r--. 1 root root   667844 Jul 30  2016 DejaVuSansCondensed-Bold.ttf
-rw-r--r--. 1 root root   601448 Jul 30  2016 DejaVuSansCondensed-Oblique.ttf
-rw-r--r--. 1 root root   682828 Jul 30  2016 DejaVuSansCondensed.ttf
-rw-r--r--. 1 root root   355828 Jul 30  2016 DejaVuSans-ExtraLight.ttf
-rw-r--r--. 1 root root   637648 Jul 30  2016 DejaVuSans-Oblique.ttf
-rw-r--r--. 1 root root 19704352 Apr  3  2025 DejaVuSans.ttf
-rw-r--r--. 1 root root   759720 Jul 30  2016 DejaVuSans.ttf.bak

注意:这里可能会出现字体直接消失的情况,可能是selinux导致的,可以先关闭selinux验证

复制代码
也可以:
semanage fcontext -a -t httpd_sys_content_t "/usr/share/fonts/dejavu(/.*)?"
# 3. 应用规则(生效)
restorecon -Rv /usr/share/fonts/dejavu

第二部分:Zabbix 监控 Windows 服务器

一、核心说明

  • 安装包:zabbix_agent-x.x.x-windows-amd64.zip
  • 监听端口:10050/tcp
  • 配置文件:conf/zabbix_agentd.conf
  • 服务名:Zabbix Agent

二、下载 Zabbix Agent for Windows

官方下载地址:https://www.zabbix.com/cn/download_agents选择:Windows → amd64 → 7.0 LTS → ZIP

三、解压与配置

  1. 非 C 盘创建目录:D:\zabbix-agent
  2. 解压 ZIP 包到该目录
  3. 编辑配置文件:D:\zabbix-agent\conf\zabbix_agentd.conf

配置文件

记事本编写

复制代码
LogFile=d:\zabbix_agentd.log
# 被动模式:允许 Zabbix Server IP 访问
Server=192.168.24.41

# 主动模式:Agent 上报的 Server 地址
ServerActive=192.168.24.41

# 本机主机名(必须与Web一致)
Hostname=windows-server

管理员权限打开终端

复制代码
PS F:\> cd .\zabbix_agent-7.0.26-windows-amd64\
PS F:\zabbix_agent-7.0.26-windows-amd64> dir


    目录: F:\zabbix_agent-7.0.26-windows-amd64


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2026/5/28     18:23                bin
d-----         2026/5/28     18:23                conf

PS F:\zabbix_agent-7.0.26-windows-amd64> .\bin\zabbix_agentd.exe -h
Usage:
  zabbix_agentd.exe [-c config-file]
  zabbix_agentd.exe [-c config-file] -p
  zabbix_agentd.exe [-c config-file] -t item-key
  zabbix_agentd.exe [-c config-file] -T
  zabbix_agentd.exe [-c config-file] [-m] [-S automatic]
  zabbix_agentd.exe [-c config-file] [-m] [-S delayed]
  zabbix_agentd.exe [-c config-file] [-m] [-S manual]
  zabbix_agentd.exe [-c config-file] [-m] [-S disabled]
  zabbix_agentd.exe [-c config-file] -i [-m] [-S automatic]
  zabbix_agentd.exe [-c config-file] -i [-m] [-S delayed]
  zabbix_agentd.exe [-c config-file] -i [-m] [-S manual]
  zabbix_agentd.exe [-c config-file] -i [-m] [-S disabled]
  zabbix_agentd.exe [-c config-file] -d [-m]
  zabbix_agentd.exe [-c config-file] -s [-m]
  zabbix_agentd.exe [-c config-file] -x [-m]
  zabbix_agentd.exe -h
  zabbix_agentd.exe -V

A Zabbix daemon for monitoring of various server parameters.

Options:
  -c --config config-file        Path to the configuration file
                                 (default: "F:\zabbix_agent-7.0.26-windows-amd64\bin\zabbix_agentd.conf")
  -f --foreground                Run Zabbix agent in foreground
  -p --print                     Print known items and exit
  -t --test item-key             Test specified item and exit
  -T --test-config               Validate configuration file and exit
  -m --multiple-agents           For -i -d -s -x functions service name will
                                 include Hostname parameter specified in
                                 configuration file
  -S --startup-type              Set startup type of the Zabbix Windows
                                 agent service to be installed. Allowed values:
                                 automatic (default), delayed, manual, disabled
Functions:

  -i --install                   Install Zabbix agent as service
  -d --uninstall                 Uninstall Zabbix agent from service
  -s --start                     Start Zabbix agent service
  -x --stop                      Stop Zabbix agent service

  -h --help                      Display this help message
  -V --version                   Display version number

Example: zabbix_agentd -c C:\zabbix\zabbix_agentd.conf

Report bugs to: <https://support.zabbix.com>
Zabbix home page: <https://www.zabbix.com>
Documentation: <https://www.zabbix.com/documentation>
PS F:\zabbix_agent-7.0.26-windows-amd64>

PS F:\zabbix_agent-7.0.26-windows-amd64> .\bin\zabbix_agentd.exe -c F:\zabbix_agent-7.0.26-windows-amd64\conf\zabbix_agentd.conf -i
zabbix_agentd.exe [299320]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [299320]: event source [Zabbix Agent] installed successfully

PS F:\zabbix_agent-7.0.26-windows-amd64> .\bin\zabbix_agentd.exe -t system.uname
system.uname                                  [s|Windows LAPTOP-8L53HSDO 10.0.26200 Microsoft Windows 11 涓撲笟鐗?x64]

乱码是因为格式问题,这里不管

ipconfig /all 
...
以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
   物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::7a52:9a8f:952d:d9ef%17(首选)
   IPv4 地址 . . . . . . . . . . . . : 192.168.24.1(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 771772502
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-2E-B6-30-E7-60-CF-84-BA-3C-06
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

将Windows防火墙关闭后

复制代码
[root@zabbix ~]# ping 192.168.24.1
PING 192.168.24.1 (192.168.24.1) 56(84) bytes of data.
64 bytes from 192.168.24.1: icmp_seq=1 ttl=128 time=0.151 ms
64 bytes from 192.168.24.1: icmp_seq=2 ttl=128 time=0.195 ms
^C
--- 192.168.24.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.151/0.173/0.195/0.022 ms

四、安装 + 启动服务(管理员权限 PowerShell)

以上具体步骤

1. 安装 Zabbix Agent 服务

复制代码
# 语法:zabbix_agentd.exe -c 配置文件路径 -i(安装服务)
D:\zabbix-agent\bin\zabbix_agentd.exe -c D:\zabbix-agent\conf\zabbix_agentd.conf -i

✅ 输出 installed successfully = 安装成功。

2. 启动服务

复制代码
# 启动 Zabbix Agent 服务
D:\zabbix-agent\bin\zabbix_agentd.exe -s

3. 验证服务状态

复制代码
# 查看 10050 端口监听
PS F:\zabbix_agent-7.0.26-windows-amd64> netstat -ano | findstr 10050
  TCP    0.0.0.0:10050          0.0.0.0:0              LISTENING       272640
  TCP    [::]:10050             [::]:0                 LISTENING       272640

✅ 出现 TCP 0.0.0.0:10050 LISTENING = 正常。

五、Windows 防火墙放行 10050 端口

学习测试时可选择直接关闭

  1. 控制面板 → Windows 防火墙 → 高级设置
  2. 入站规则 → 新建规则 → 端口 → TCP → 10050 → 允许连接

六、Server 端测试连通性

复制代码
# 测试 Windows 系统时间
[root@zabbix ~]# zabbix_get -s 192.168.24.1 -k system.uptime
704978

# 测试 Windows 系统信息
[root@zabbix ~]# zabbix_get -s 192.168.24.1 -k system.uname
Windows LAPTOP-8L53HSDO 10.0.26200 Microsoft Windows 11 专业版 x64

✅ 返回 Windows 版本信息 = 通信正常。

七、Zabbix Web 添加 Windows 主机

  1. 路径:配置 → 主机 → 创建主机
  2. 主机名称:Windows-server(与配置一致)
  3. 群组:Windows servers
  4. 接口:Agent → IP:Windows IP → 端口:10050
  5. 模板:Template Windows by Zabbix Agent
  6. 添加主机,等待数据采集。

八、Windows Agent 卸载

复制代码
# 停止服务
D:\zabbix-agent\bin\zabbix_agentd.exe -x

# 卸载服务
D:\zabbix-agent\bin\zabbix_agentd.exe -d
zabbix_agentd.exe [282080]: service [Zabbix Agent] uninstalled successfully
zabbix_agentd.exe [282080]: event source [Zabbix Agent] uninstalled successfully

第三部分:生产常见问题排错

一、Linux Agent 无法连通

  1. Server 参数未填 Server IP → 改配置重启
  2. 防火墙未放行 10050 → 执行 firewall-cmd 命令
  3. SELinux 拦截 → setenforce 0 临时关闭
  4. 服务未启动 → systemctl start zabbix-agent

二、Windows Agent 无法连通

  1. 配置文件 Hostname 与 Web 不一致
  2. Windows 防火墙未放行 10050
  3. 服务未以管理员身份安装
  4. 配置文件路径错误

三、zabbix_get 报错汇总

  1. connection error:网络 / 端口不通
  2. access permissionsServer IP 未授权
  3. ZBX_NOTSUPPORTED:监控项键值错误

第四部分:核心知识点总结

  1. Linux Agent :配置文件 zabbix_agentd.conf,服务 zabbix-agent,端口 10050
  2. Windows Agent :配置文件 zabbix_agentd.conf,服务 Zabbix Agent,端口 10050
  3. 必填配置ServerServerActiveHostname
  4. 测试工具zabbix_get 是排错神器
  5. 生产必备:防火墙放行、SELinux 放行、配置标准化
相关推荐
小小测试开发8 小时前
加州拟将 Linux 从年龄验证法中豁免:一场开源社区的胜利与反思
linux·运维·开源
Sisphusssss8 小时前
Ubuntu 装英伟达显卡驱动
linux·运维·ubuntu
TechMasterPlus8 小时前
浏览器自动化实战:从 Playwright 录制回放到智能浏览器自动化技术解析
运维·自动化
Face8 小时前
WSL2 初始使用
linux·windows
蜜蜜不吃糖8 小时前
ipmitools获取windows带外信息并修改密码
运维·服务器
晨晖28 小时前
Linux命令10
linux·运维·服务器
光电笑映9 小时前
深入理解 ELF:从目标文件到程序加载的全过程
linux·运维·服务器·c++
AI行业学习9 小时前
CC-Switch 下载、安装与使用全指南Windows+macOS+Linux【2026.5.28】
linux·windows·macos
WXDcsdn9 小时前
新安装的Debian 12系统开启root用户和ssh登录权限
运维·debian·ssh