![有没有办法通过 SNMP 共享 SMART 数据?](https://linux22.com/image/489786/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E9%80%9A%E8%BF%87%20SNMP%20%E5%85%B1%E4%BA%AB%20SMART%20%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
有没有办法通过 SNMP 共享 SMART 数据?我希望能够制作它的 Cacti 图表并将其连接到 Nagios。
我想要做的是能够通过 SNMP 获取硬盘的一些统计数据。这将允许我绘制 $SMART_MEASUREMENT_VALUE 值随时间变化的图表。
答案1
也许这会满足您的需求:引自此关联:
您需要 SmartMonTools 包并使用check_smart.plperl 脚本(nagios 插件)通过使用 smartctl 命令运行 SMART 自检来检查硬盘健康状况,将其添加到您的 snmpd.conf:
执行 CheckSmart /path/to/check_smart.pl -t -d /dev/hda
答案2
有一些补丁为 smartd 添加了 SNMP 支持(在 smartmontools-devel@ 列表中);据我记得,没有一个是集成的。
答案3
麦克斯韦的回答是正确的,但是缺少脚本的下载网址:
http://git.recluse.de/?p=users/bzed/nagios-plugins.git;a=blob_plain;f=plugins/check_smart
我还在脚本的第 109 行添加了此行,以避免出现警告
if (!defined($number)) { $number = 0; }
对于没有 nagios 的用户,该脚本需要 util.pm 库。Debian 用户可以从 nagios-plugins 包中获取它,其他用户可以从这里获取它:
https://github.com/Elbandi/nagios-plugins/blob/master/plugins-scripts/utils.pm.in
使用方法很简单:
./check_smart.pl -i scsi -d /dev/sda
但我同意 exquisitor 的评论,绘制所有(或至少一些重要的)智能值的方法会很棒
更新:脚本确实输出其他智能值,但前提是您选择 ata 接口 (-i ata)。由于今天所有驱动程序(甚至 ata/sata)都被视为 scsi 设备,这会造成混乱(这可能是一个错误)所以我建议那些使用 ata/sata 驱动程序的人编辑脚本并在第 209 行将检查从“ata”替换为“scsi”