LibreNMS 應用程式設定
LibreNMS 應用程式設定
LibreNMS Mdadm RAID監控
使LibreNMS可監控Mdadm RAID狀態
安裝jq套件
apt install jq
下載mdadm script
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/mdadm -O /etc/snmp/mdadm
chmod +x /etc/snmp/mdadm
確認可執行
root@LS-WVL885:~# /etc/snmp/mdadm
{"data":[{"name":"md0","level":"raid1","size":999227392,"disc_count":2,"
編輯/etc/snmp/snmpd.conf
extend擴展記得included .1.3.6.1.4.1.8072.1.3
extend mdadm /etc/snmp/mdadm
service snmpd restart
確認snmpwalk可以抓到mdadm
jason@test:~$ snmpwalk -v2c -c public 192.168.1.1 .1.3.6.1.4.1.8072.1.3
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 2
NET-SNMP-EXTEND-MIB::nsExtendCommand."mdadm" = STRING: /etc/snmp/mdadm
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."mdadm" = STRING: {"data":[{"name":"md0","level":"raid1...
LibreNMS內應用程式會自動開啟Mdadm
應用程式有RAID狀態
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