# LibreNMS SMART 監控

#### <span style="color: rgb(0, 0, 0);">**安裝 SMART SNMP Extend**</span>

<span style="color: rgb(0, 0, 0);">**安裝套件 Debian/Ubuntu**</span>

```
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
```

<span style="color: rgb(0, 0, 0);">**查詢硬碟**</span>

```
fdisk -l | grep "Disk /dev"
```

[![image.png](https://note.homesitetw.com/uploads/images/gallery/2026-10/scaled-1680-/D8Simage.png)](https://note.homesitetw.com/uploads/images/gallery/2026-10/D8Simage.png)

<span style="color: rgb(0, 0, 0);">**建立設定檔`/etc/snmp/smart.config`，將須監控硬碟代號填入，useSN=1顯示硬碟型號 0為不顯示**</span>

```
cache=/var/cache/smart
smartctl=/usr/bin/env smartctl
useSN=1
sda
sdb
```

<span style="color: rgb(0, 0, 0);">**確認執行有建立快取檔**</span>

```
/etc/snmp/smart -u

cat /var/cache/smart
```

[![image.png](https://note.homesitetw.com/uploads/images/gallery/2026-10/scaled-1680-/3xsimage.png)](https://note.homesitetw.com/uploads/images/gallery/2026-10/3xsimage.png)

<span style="color: rgb(0, 0, 0);">**新增snmp smart擴充，編輯`/etc/snmp/snmpd.conf`**</span>

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

<span style="color: rgb(0, 0, 0);">**重啟Snmp**</span>

```
systemctl restart snmpd
```

#### <span style="color: rgb(0, 0, 0);">**Librenms 設定**</span>

<span style="color: #000000;">**在網頁上選取設備的應用程式開啟SMART服務**</span>

[![image.png](https://note.homesitetw.com/uploads/images/gallery/2026-10/scaled-1680-/IcIimage.png)](https://note.homesitetw.com/uploads/images/gallery/2026-10/IcIimage.png)

<span style="color: rgb(0, 0, 0);">**下次輪巡就會出現SMART資訊**</span>

[![image.png](https://note.homesitetw.com/uploads/images/gallery/2026-10/scaled-1680-/HOZimage.png)](https://note.homesitetw.com/uploads/images/gallery/2026-10/HOZimage.png)

#### <span style="color: rgb(0, 0, 0);">**排程設定**</span>

<span style="color: rgb(0, 0, 0);">**Crontab新增每5分鐘執行一次，這樣librenms只讀取快取檔不會受硬碟速度影響效能**</span>

```
*/5 * * * * /etc/snmp/smart -u
```

<span style="color: rgb(0, 0, 0);">**可新增自我檢測，這裡範例每週一與週四的晚上 11 點 00 分執行短檢測**</span>

```
0 23 * * 1,4 /etc/snmp/smart -t short > /dev/null 2>&1
```

#### <span style="color: rgb(0, 0, 0);">**問題排除**</span>

<span style="color: rgb(0, 0, 0);">**後續發現`/var/cache/smart`沒有資料**</span>

```
root@LS-WVL885:~# cat /var/cache/smart
{"data":{"dev_error":0,"disks":{},"exit_nonzero":2,"unhealthy":0,"useSN":"1"},"error":0,"errorString":"","version":1}
```

<span style="color: rgb(0, 0, 0);">**原因是crontab執行環境找不到smartctl**</span>

```
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
```

<span style="color: rgb(0, 0, 0);">**which smartctl找出路徑後修改`/etc/snmp/smart.config`**</span>

```
smartctl=/usr/sbin/smartctl
```