4.3. 通过 SNMP 监视存储群集对象¶
可以通过简单网络管理协议 (SNMP) 监视群集对象。实施遵循与标准 SNMP 上下文中的数据相同的管理信息结构 (SMI) 规则:所有对象都在树中组织;每个对象标识符 (OID) 是一系列对应于树节点的整数,并由点分隔。
一般信息:
具有可以监视的所有对象的根子树的 OID 是 1.3.6.1.4.1.8072.161.1。
需要
VSTORAGE-MIB.txt
信息基础文件来监视对象。可以在https://<admin_panel_IP>:8888/api/v2/snmp/mibs/
上下载文件。
以下子节描述了启用和使用 SNMP 监视群集对象的方法。
4.3.1. 启用 SNMP 访问¶
要监视群集对象,请在节点上启用 SNMP 访问。在管理面板中执行以下操作:
在管理节点上打开 UDP 端口 161,如下所述:
在基础架构 > 网络屏幕上,然后单击编辑。
通过勾选相应的复选框,将 SNMP 流量类型添加到公共网络。
单击保存以应用更改。
转至设置 > 高级设置 > SNMP 选项卡,选中在管理节点上启用 SNMP。将启用网络管理系统(SNMP 监视器),这将给予您通过 SNMP 协议访问群集的权限。
单击提供的链接以下载 MIB 文件,然后在 SNMP 监视器中设置它。
(可选)发送 SNMP 陷阱到 SNMP 监视器,如下所示:
选择将 SNMP 陷阱发送至此网络管理系统。
指定网络管理系统的 IP 地址、端口和社区。
默认情况下,
snmptrapd
监控程序使用端口 162。默认社区是公用。如果需要,则单击发送测试陷阱以测试服务。
单击保存以应用更改。
4.3.2. 通过 SNMP 访问存储群集信息对象¶
可以使用所选的 SNMP 工具(例如免费的适用于 Linux 的 Net-SNMP 套件)访问存储群集信息对象。
要通过管理面板获取存储群集信息,请将 MIB 文件放置到 /usr/share/snmp/mibs
并运行 snmpwalk
命令。例如:
# snmpwalk -M /usr/share/snmp/mibs -m VSTORAGE-MIB -v 2c -c public localhost:161 VSTORAGE-MIB:cluster
典型输出可能如下所示:
VSTORAGE-MIB::clusterName.0 = STRING: "cluster1"
VSTORAGE-MIB::healthStatus.0 = STRING: "healthy"
VSTORAGE-MIB::usedLogicalSpace.0 = Counter64: 173732322
VSTORAGE-MIB::totalLogicalSpace.0 = Counter64: 1337665179648
VSTORAGE-MIB::freeLogicalSpace.0 = Counter64: 1318963253248
VSTORAGE-MIB::licenseStatus.0 = STRING: "unknown"
VSTORAGE-MIB::licenseCapacity.0 = Counter64: 1099511627776
VSTORAGE-MIB::licenseExpirationStatus.0 = STRING: "None"
VSTORAGE-MIB::ioReadOpS.0 = Counter64: 0
VSTORAGE-MIB::ioWriteOpS.0 = Counter64: 0
VSTORAGE-MIB::ioReads.0 = Counter64: 0
VSTORAGE-MIB::ioWrites.0 = Counter64: 0
VSTORAGE-MIB::csActive.0 = Counter64: 11
VSTORAGE-MIB::csTotal.0 = Counter64: 11
VSTORAGE-MIB::mdsAvail.0 = Counter64: 4
VSTORAGE-MIB::mdsTotal.0 = Counter64: 4
<...>
4.3.2.1. 侦听 SNMP 陷阱¶
要开始侦听 SNMP 陷阱,请执行以下操作:
配置
snmptrapd
监控程序以记录 SNMP 陷阱,允许它们触发可执行操作,并将数据重新发送到网络。要执行此操作,请在/etc/snmp/snmptrapd.conf
文件中取消注释以下公用
社区字符串:authCommunity log,execute,net public
配置防火墙以允许 UDP 端口 162 上的入站流量。
下载
VSTORAGE-MIB.txt
文件并将其放置到/usr/share/snmp/mibs
目录中。启动监控程序并指定 MIB 文件:
# snmptrapd -M /usr/share/snmp/mibs -m VSTORAGE-MIB -n -f
默认情况下,陷阱将记录到
/var/log/messages
。可以使用-Lf <path>
选项将它们重定向到自定义日志文件。例如:# snmptrapd -M /usr/share/snmp/mibs -m VSTORAGE-MIB -n -f -Lf /tmp/traps.log
从管理面板中的设置 > 高级设置 > SNMP 选项卡发送测试陷阱。
查看日志文件:
# tail -f /tmp/traps.log 2019-10-14 12:51:50 node001.vstoragedomain [UDP: [10.94.80.22]:40029->\ [10.94.80.22]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: \ (111150521) 12 days, 20:45:05.21#011SNMPv2-MIB::snmpTrapOID.0 = OID: \ NET-SNMP-MIB::netSnmp.161.3.100#011NET-SNMP-MIB::netSnmp.161.2.1 = STRING: "TestTrap"\ #011NET-SNMP-MIB::netSnmp.161.2.2 = STRING: "It is the test trap from VStorage"\ #011NET-SNMP-MIB::netSnmp.161.2.3 = Counter64: 0
4.3.3. 使用 Zabbix 监视存储群集¶
要在 Zabbix 中配置群集监视,请执行以下操作:
在设置 > 高级设置 > SNMP 选项卡上,单击提供的链接以为 Zabbix 下载模板。
注解
该模板与 Zabbix 3.x 兼容。
在 Zabbix 中,单击配置 > 模板 > 导入和浏览。
导航到模板、选择它并单击导入。
单击配置 > 主机 > 创建主机。
在主机选项卡上,执行以下操作:
在 Zabbix 中指定管理节点的主机名及其可见名称。
在
新建组
字段中指定 vstorage。删除代理程序接口部分。
添加 SNMP 接口部分并指定管理节点 IP 地址。
在模板选项卡上,单击链接新模板字段旁边的选择。
在 Zabbix 服务器:模板窗口中,选中
模板 VStorageSNMP
模板,然后单击选择。回到模板选项卡上,在链接新模板部分中单击添加链接。VStorageSNMP 模板将显示在链接的模板组中。
配置了主机并添加了其模板后,单击添加按钮。
在几分钟内,配置
> 主机屏幕上的可用性列中群集的 SNMP标签将变为绿色。
要监视群集的参数,请打开监视 > 最新的数据屏幕,将过滤器的主机组设置为 vstorage
,然后单击应用。
可以在配置 > 主机 > <cluster> > 图选项卡上以及在监视 > 屏幕选项卡的工作区中创建性能图表。
4.3.4. 存储群集对象和陷阱¶
可以监视的与群集相关的对象:
- VSTORAGE-MIB:cluster
一般群集信息。
- VSTORAGE-MIB:csStatTable
区块服务器统计数据表。
- VSTORAGE-MIB:mdsStatTable
元数据服务器统计数据表。
- VSTORAGE-MIB::clusterName
群集名称。
- VSTORAGE-MIB::healthStatus
群集运行状况。
- VSTORAGE-MIB::usedLogicalSpace
由所有数据区块及其副本占用的空间,再加上由存储在群集节点磁盘上的任意其他数据占用的空间。
- VSTORAGE-MIB::totalLogicalSpace
所有群集节点磁盘上的总空间。
- VSTORAGE-MIB::freeLogicalSpace
所有群集节点磁盘上的未使用空间。
- VSTORAGE-MIB::licenseStatus
许可状态。
- VSTORAGE-MIB::licenseCapacity
由许可定义为可用的最大磁盘空间。
- VSTORAGE-MIB::licenseExpirationStatus
许可过期状态。
- VSTORAGE-MIB::ioReadOpS
当前读取速度(每秒操作数)。
- VSTORAGE-MIB::ioWriteOpS
当前写入速度(每秒操作数)。
- VSTORAGE-MIB::ioReads
当前读取速度(每秒字节数)。
- VSTORAGE-MIB::ioWrites
当前写入速度(每秒字节数)。
- VSTORAGE-MIB::csActive
活动区块服务器的数量。
- VSTORAGE-MIB::csTotal
区块服务器的总数。
- VSTORAGE-MIB::mdsAvail
运行的元数据服务器的数量。
- VSTORAGE-MIB::mdsTotal
元数据服务器的总数。
- VSTORAGE-MIB::s3OsAvail
运行的 S3 对象服务器的数量。
- VSTORAGE-MIB::s3OsTotal
S3 对象服务器的总数。
- VSTORAGE-MIB::s3NsAvail
运行的 S3 名称服务器的数量。
- VSTORAGE-MIB::s3NsTotal
S3 名称服务器的总数。
- VSTORAGE-MIB::s3GwAvail
运行的 S3 网关的数量。
- VSTORAGE-MIB::s3GwTotal
S3 网关的总数。
可以监视的与 CS 相关的对象:
- VSTORAGE-MIB::csId
区块服务器标识符。
- VSTORAGE-MIB::csStatus
当前区块服务器状态。
- VSTORAGE-MIB::csIoReadOpS
区块服务器的当前读取速度(每秒操作数)。
- VSTORAGE-MIB::csIoWriteOpS
区块服务器的当前写入速度(每秒操作数)。
- VSTORAGE-MIB::csIoWait
等待 I/O 操作所花费时间的百分比。包括等待同步所花费的时间。
- VSTORAGE-MIB::csIoReadS
区块服务器的当前读取速度(每秒字节数)。
- VSTORAGE-MIB::csIoWriteS
区块服务器的当前写入速度(每秒字节数)。
可以监视的与 MDS 相关的对象:
- VSTORAGE-MIB::mdsId
元数据服务器标识符。
- VSTORAGE-MIB::mdsStatus
当前元数据服务器状态。
- VSTORAGE-MIB::mdsMemUsage
由元数据服务器使用的内存量。
- VSTORAGE-MIB::mdsCpuUsage
由元数据服务器使用的 CPU 容量的百分比。
- VSTORAGE-MIB::mdsUpTime
元数据服务器启动以来的时间。
由指定的警告触发的 SNMP 陷阱:
- license expired
许可已过期。
- license_isnot_loaded
许可未载入。
- too few free space
群集在逻辑空间外运行。
- too_few_free_phys_space
群集在物理空间外运行。
- offline node
群集节点脱机。
- too few nodes
留下的群集节点太少。
- too few mdses
留下的 MDS 太少。
- too_much_mdses
节点上的 MDS 多于一个。
- too few cses
留下的 CS 太少。
- failed mds
MDS 服务已失败。
- failed cs
CS 服务已失败。
- cses_on_single_tier_have_different_journalling_settings
CS 有错误的日志设置。
- cses_on_single_tier_have_different_encryption_settings
CS 有错误的加密设置。
- smart_failed
磁盘有失败的 S.M.A.R.T. 检查。
- disk_failed
磁盘已失败。
- too_few_root_space
节点上的根分区空间不足。
- too_few_space_on_metadata_disk
MDS 磁盘空间不足。
- low_level_network_settings
网络接口缺少重要功能。
- half_duplex
网络接口不是全双工模式。
- low_speed
网络接口的速度低于 1 Gbps。
- undefined_speed
网络接口有未定义的速度。
- network link
网络接口的配置错误。
- abgw_cert_expired
Backup Gateway 证书已到期或即将到期。
- iscsi_redundancy_disk
为 iSCSI LUN 设置的故障域未使其高度可用。
- s3_redundancy_disk
为 S3 群集设置的故障域未使其高度可用。
- software_updates
存在用于节点的软件更新。
- no_internet_connection
节点上无 Internet 连接。
- disk_write_cache_disabled
磁盘写入缓存已禁用。
- disk_write_cache_status_unknown
磁盘写入缓存有未知状态。
- compute_unavailable
计算群集已失败。
- oom_happened
OOM killer 已触发。
- kernel_not_current
内核在节点上已过时。
- no_ha
管理面板的高可用性未配置。
- time_not_synced
节点上的时间未同步。
- iscsi_upgrade_failed
iSCSI 主要升级已失败。
- backend_backup_is_too_old
上次管理节点备份已失败、不存在或过旧。
- other
其他警告。
- spla_push_stats_failed
无法推送空间使用情况统计数据。
- spla_license_load_failed
无法应用 SPLA 许可
- spla_get_space_usage_failed
无法获取空间使用情况。
要查看生成的警告的完整列表及其描述,请参考 查看警告。