Skip to main content

LibreNMS 被監控設備SNMP設定

於被監控的主機上安裝Snmpd

apt install snmpd -y

某些 Linux 發行版不會在SNMP中取得正確版本訊息,透過 LibreNMS 提供的 Distro 工具取得正確版本訊息

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro

設定Snmpd

編輯/etc/snmp/snmpd.conf

agentAddress udp:192.168.0.1:161

view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.4.1.2021
view systemview included .1.3.6.1.2.1.25
view systemview excluded .1.3.6.1.4.1.2021.13.16
view systemview included .1.3.6.1.2.1.2 
view systemview included .1.3.6.1.2.1.31  
extend .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro
rocommunity nms 192.168.0.10/32 -V systemview
includeAllDisks 10%
load 12 10 5

以下為第二種extend設定,GPT回答

你看到的「extend .1.3.6.1.4.1.2021.7890.x ...」是 早期的寫法,因為:

  1. 舊版 SNMP / LibreNMS agent 腳本
    以前大家習慣把 extend 掛在 .1.3.6.1.4.1.2021(UCD-SNMP-MIB),這個 MIB 原本就有 CPU/Mem/Load,大家直接沿用。

  2. 相容性考量
    舊的監控系統(Cacti、Nagios plugins)或舊版 LibreNMS,預設就是去 .2021.7890.x 找。這樣寫不用改 view,裝好就能抓到。

  3. 官方後來才引入 NET-SNMP-EXTEND-MIB
    新版 net-snmp (5.4+) 支援 extend <name> <command>,會自動掛到 .1.3.6.1.4.1.8072.1.3
    這才是「標準化」的做法,也比較乾淨。

view systemview included .1.3.6.1.4.1.8072.1.3
extend distro /usr/bin/distro

基本設定說明

snmpd在本機192.168.0.1監聽
允許監控項目
.1.3.6.1.2.1.1 系統資訊
.1.3.6.1.4.1.2021 CPU 使用率、記憶體、磁碟使用等
.1.3.6.1.2.1.25 儲存設備、處理器資訊
.1.3.6.1.2.1.2 網路卡(interface)的資訊,如流量、狀態
.1.3.6.1.2.1.31 提供進階網路介面統計資訊,如 64-bit 流量統計
excluded .1.3.6.1.4.1.2021.13.16 包含禁用 sensors 偵測,如用LXC避免可顯示實體主機的 sensors資訊
extend .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro  將/usr/bin/distro資訊回報

社群名稱為 nms
限定librenms主機 192.168.0.10 可讀取
includeAllDisks 10% 監控磁碟空間使用率
load 12 10 5 設定系統負載平均值的門檻

於Librenms加入設備後,發現設備時Operating System會顯示詳細版本資訊

image.png