You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Zabbix脚本类型Item获取ESXi磁盘SMART数据?

如何通过Zabbix收集ESXi磁盘SMART信息

1. 编写SSH执行脚本

Zabbix的「Script」类型Item是在Zabbix Server/Proxy端执行,因此需要编写脚本通过SSH远程连接ESXi,执行SMART查询命令。

创建脚本文件(示例路径:/usr/local/bin/esxi_get_smart.sh),内容如下:

#!/bin/bash
# 配置ESXi连接信息
ESXI_HOST="你的ESXi主机IP/域名"
ESXI_USER="root"
# 从脚本参数接收磁盘设备ID
DEVICE_ID=$1

# 通过SSH免密执行ESXi命令
ssh -i /var/lib/zabbix/.ssh/id_rsa ${ESXI_USER}@${ESXI_HOST} "esxcli storage core device smart get -d=${DEVICE_ID}"

给脚本添加执行权限:

chmod +x /usr/local/bin/esxi_get_smart.sh

注意:必须给Zabbix运行用户(通常是zabbix)配置到ESXi的免密SSH登录。可通过ssh-keygen生成密钥对,将公钥上传至ESXi的/root/.ssh/authorized_keys文件中,避免脚本执行时需要输入密码。

2. 配置Zabbix Item

  1. 打开Zabbix控制台,进入已关联ESXi主机的目标模板
  2. 创建新Item:
    • 类型选择 Script
    • 脚本字段填入脚本绝对路径,若要动态传入磁盘ID,格式为:/usr/local/bin/esxi_get_smart.sh {$ESXI_DISK_ID}
    • 键值设置为esxi.disk.smart[{$ESXI_DISK_ID}]
    • 类型信息选择 文本(若只需提取单个指标如磁盘温度,可修改脚本过滤输出后选择数值类型)
  3. 在对应ESXi主机的宏配置中添加{$ESXI_DISK_ID},值设为目标磁盘ID(如t10.ATA_INTEL_SSDSC2BB080G4__PHSL4)

3. 多磁盘监控优化

若需监控多个磁盘,无需创建多个脚本,只需保留支持参数传入的脚本,为每个磁盘单独创建Item,在宏中配置对应磁盘ID即可。

内容的提问来源于stack exchange,提问作者Tonik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:11:29