Zabbix 监控 Windows 服务器:Agent 部署、磁盘空间 / 进程监控与告警触发条件
Zabbix 是一款强大的开源监控工具,可用于监控 Windows 服务器的各种指标,包括磁盘空间使用情况和进程状态。下面我将逐步解释整个配置过程,确保结构清晰。整个过程分为四个主要部分:Agent 部署、磁盘空间监控、进程监控和告警触发条件设置。所有操作均基于 Zabbix Server(通常安装在 Linux 系统)和 Zabbix Agent(安装在 Windows 服务器)。
1. Agent 部署
在 Windows 服务器上部署 Zabbix Agent 是监控的基础。以下是详细步骤:
- 下载 Agent:
- 访问 Zabbix 官网下载页面,选择与 Windows 系统匹配的 Agent 版本(如 32 位或 64 位)。
- 下载安装包(通常是 .msi 文件)。
- 安装 Agent:
- 运行下载的 .msi 文件,按照向导安装。
- 在安装过程中,配置关键参数:
- Server:输入 Zabbix Server 的 IP 地址(例如 192.168.1.100)。
- ServerActive:同样输入 Zabbix Server 的 IP。
- Hostname:设置一个唯一主机名(例如 WinServer-01),需与 Zabbix Web 界面中定义的主机名一致。
- 配置 Agent:
- 编辑 Agent 配置文件 zabbix_agentd.conf(默认路径 C:\\Program Files\\Zabbix Agent\\zabbix_agentd.conf)。
- 确保以下参数正确:
Server=192.168.1.100 # Zabbix Server IP
ServerActive=192.168.1.100
Hostname=WinServer-01 - 保存文件后,重启 Zabbix Agent 服务(通过 Windows 服务管理器或命令行 net stop zabbix_agent 和 net start zabbix_agent)。
- 验证连接:
- 在 Zabbix Web 界面(通常访问 http://<zabbix-server-ip>/zabbix)中,添加主机:
- 导航到 Configuration > Hosts > Create host。
- 填写主机名(与配置文件中一致)、IP 地址。
- 在 Templates 标签页,添加模板 Template OS Windows by Zabbix agent(提供基本 Windows 监控项)。
- 检查主机状态:如果状态为 Enabled 且无错误,表示 Agent 连接成功。
- 在 Zabbix Web 界面(通常访问 http://<zabbix-server-ip>/zabbix)中,添加主机:
2. 磁盘空间监控
监控磁盘空间使用情况,确保服务器存储健康。Zabbix 使用预定义的监控项(items)和键值(keys)来收集数据。
- 添加监控项:
- 在 Zabbix Web 界面,导航到 Configuration > Hosts,选择目标主机(如 WinServer-01)。
- 切换到 Items 标签页 > Create item。
- 配置磁盘空间监控项:
- Name:例如 Disk Space Usage on C:。
- Key:使用 vfs.fs.size[<drive>,pused](其中 <drive> 是分区盘符,如 C:)。例如:
vfs.fs.size[C:,pused]
- Type of information:选择 Numeric (float)。
- Units:输入 %(表示百分比)。
- Update interval:设置 1m(每分钟收集一次)。
- 保存后,Zabbix Agent 会自动收集磁盘使用率数据。
- 验证数据:
- 导航到 Monitoring > Latest data,过滤主机名,查看 Disk Space Usage on C: 的实时值(例如显示 85.2 表示使用率 85.2%)。
3. 进程监控
监控关键进程(如 explorer.exe 或自定义服务),确保应用程序正常运行。Zabbix 使用 proc.num 键值来跟踪进程数量。
- 添加监控项:
- 在主机配置的 Items 标签页,点击 Create item。
- 配置进程监控项:
- Name:例如 Process Count for explorer.exe。
- Key:使用 proc.num[<process_name>](其中 <process_name> 是进程名,不含 .exe)。例如:
proc.num[explorer]
- Type of information:选择 Numeric (unsigned)。
- Update interval:设置 1m。
- 保存后,Zabbix 会监控该进程的运行实例数。
- 验证数据:
- 在 Latest data 中查看进程数量(例如显示 1 表示一个实例在运行)。
4. 告警触发条件
设置触发器(triggers)来定义告警条件,当磁盘空间不足或进程停止时自动告警。告警可通过邮件、Slack 等方式通知。
- 磁盘空间告警触发条件:
- 在主机配置的 Triggers 标签页,点击 Create trigger。
- 配置:
- Name:例如 High Disk Usage on C:。
- Expression:使用监控项数据定义条件。例如,当 C 盘使用率超过 90% 时触发:
{WinServer-01:vfs.fs.size[C:,pused].last()}>90
- Severity:选择 High(表示严重性)。
- Description:添加详细说明,如 磁盘 C: 空间不足,需立即清理。
- 进程告警触发条件:
- 创建新触发器:
- Name:例如 Process explorer.exe Stopped。
- Expression:当进程数量为 0 时触发(表示进程停止)。例如:
{WinServer-01:proc.num[explorer].last()}=0
- Severity:选择 Average 或 High。
- Description:如 关键进程 explorer.exe 已停止,需重启。
- 创建新触发器:
- 告警动作配置:
- 导航到 Configuration > Actions > Create action。
- 设置触发条件(如触发器名称),并定义通知方式(例如发送邮件):
- Action:添加操作,如 Send message to Admin。
- Recovery message:勾选以在问题解决时发送恢复通知。
- 测试:手动停止进程或模拟磁盘满,检查告警是否触发。
总结
- 最佳实践:
- 部署后,定期检查 Monitoring > Dashboard 查看告警状态。
- 使用模板(如 Template OS Windows by Zabbix agent)简化配置。
- 确保 Agent 和 Server 时间同步,避免数据延迟。
- 常见问题排查:
- Agent 连接失败:检查防火墙规则(开放 10050/tcp 端口),或验证 zabbix_agentd.conf 中的 IP。
- 监控项无数据:确认键值语法正确(如 vfs.fs.size[C:,pused] 大小写敏感)。
- 告警未触发:检查触发器表达式是否匹配实际值(例如使用 last() 获取最新数据)。
通过以上步骤,您可以在 Windows 服务器上实现全面的监控和告警。如果在配置中遇到具体问题,请提供更多细节,我可以进一步优化方案!
网硕互联帮助中心






评论前必须登录!
注册