LibreNMS SMART 監控
安裝 SMART SNMP Extend
安裝套件 Debian/Ubuntu
apt-get install smartmontools libjson-perl libmime-base64-perl
wget https://github.com/librenms/librenms-agent/raw/master/snmp/smart-v1 -O /etc/snmp/smart
chmod +x /etc/snmp/smart
查詢硬碟
fdisk -l | grep "Disk /dev"
建立設定檔/etc/snmp/smart.config,將須監控硬碟代號填入,useSN=1顯示硬碟型號 0為不顯示
cache=/var/cache/smart
smartctl=/usr/bin/env smartctl
useSN=1
sda
sdb
確認執行有建立快取檔
/etc/snmp/smart -u
cat /var/cache/smart
新增snmp smart擴充,編輯/etc/snmp/snmpd.conf
新增
extend smart /bin/cat /var/cache/smart.snmp
重啟Snmp
systemctl restart snmpd
Librenms 設定
在網頁上選取設備的應用程式開啟SMART服務
下次輪巡就會出現SMART資訊
排程設定
Crontab新增每5分鐘執行一次,這樣librenms只讀取快取檔不會受硬碟速度影響效能
*/5 * * * * /etc/snmp/smart -u
可新增自我檢測,這裡範例每週一與週四的晚上 11 點 00 分執行短檢測
0 23 * * 1,4 /etc/snmp/smart -t short > /dev/null 2>&1
問題排除
後續發現/var/cache/smart沒有資料
root@LS-WVL885:~# cat /var/cache/smart
{"data":{"dev_error":0,"disks":{},"exit_nonzero":2,"unhealthy":0,"useSN":"1"},"error":0,"errorString":"","version":1}
原因是crontab執行環境找不到smartctl
root@LS-WVL885:~# env -i PATH=/usr/bin:/bin /etc/snmp/smart -u/usr/bin/env:
'smartctl': No such file or directory/usr/bin/env:
'smartctl': No such file or directory
which smartctl找出路徑後修改/etc/snmp/smart.config
smartctl=/usr/sbin/smartctl



