Skip to main content

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"

image.png

 

建立設定檔/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

 

 

image.png

新增snmp smart擴充,編輯/etc/snmp/snmpd.conf

新增
extend smart /bin/cat /var/cache/smart.snmp

重啟Snmp

systemctl restart snmpd

 

Librenms 設定

在網頁上選取設備的應用程式開啟SMART服務

image.png

下次輪巡就會出現SMART資訊

image.png

 

排程設定

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