ubuntu 20.04 snmp安裝配置

一、SNMP MANAGER 安裝

1. 命令行安裝

1.1 安裝對應軟件包

sudo apt-get update
sudo apt-get install snmp

1.2 配置

修改 /etc/snmp/snmp.conf

# 注釋掉
#mibs :

二、SNMP AGENT 安裝

1. 命令行安裝

1.1 查看系統(tǒng)自帶的snmpd版本

# 先更新
sudo apt-get update

# 查看系統(tǒng)自帶的snmpd版本
sudo apt list -a snmpd

正在列表... 完成
snmpd/focal-updates,focal-security,now 5.8+dfsg-2ubuntu2.2 amd64 [已安裝]
snmpd/focal-updates,focal-security 5.8+dfsg-2ubuntu2.2 i386

1.2 安裝對應的軟件包

# snmp agent
sudo apt install snmpd libsnmp-dev

# 用來下載更新本地mib庫的軟件
sudo apt install snmp-mibs-downloader

如果/usr/share/snmp/mibs為空,則需要手動下載mib庫sudo download-mibs

1.3 配置

修改 /etc/snmp/snmpd.conf

# 默認啟用sub-agent
master  agentx
# 如果采用agentX添加自定義mib庫,可根據需要,配置sub-agent
agentxSocket tcp:localhost:705
agentxTimeout 5000
agentxRetries 0

# Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161

# 注釋掉下邊兩行
#view   systemonly  included   .1.3.6.1.2.1.1
#view   systemonly  included   .1.3.6.1.2.1.25.1
# 新添加
view   systemonly  included   .1.3.6.1

# disk checks
# solve : dskUsed = No Such Instance currently exists at this OID
disk / 10000
load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0]load 12 14 14

# 創(chuàng)建v3用戶 username:bigdata, password:11111111
createUser bigdata MD5 11111111 DES
rwuser bigdata priv

# 如果采用動態(tài)加載方式添加自定義mib庫,可以通過如下語句實現
#dlmod cluster_env /home/snmplib/libclusterenv.so

設置完之后,想修改密碼,發(fā)現不好使,應該是 /var/lib/snmp/snmpd.conf 有緩存,可以嘗試把這個文件中對應的內容刪掉。

1.4 重啟服務

sudo service snmpd restart

1.5 查看狀態(tài)

sudo service snmpd status

說明:當加載自己的agent庫時,使用snmp_log打印的信息可以通過這個命令查看

1.6 測試

# 查看系統(tǒng)信息
snmpget -u bigdata -l authPriv -a MD5 -x DES -A 11111111 -X 11111111 localhost 1.3.6.1.2.1.1.1.0
# 結果如下:
SNMPv2-MIB::sysDescr.0 = STRING: Linux slaver1 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64

2. 下載安裝包,自己編譯 (安裝之后不好使??!)

2.1 安裝編譯依賴

# 安裝基本的編譯環(huán)境
sudo apt-get install gcc make build-essential

# 安裝snmp需要的庫
sudo apt-get install libperl-dev

三、修改 SNMP AGENT 用戶和用戶組 (非必須!)

以動態(tài)加載.so來實現自定義agent時,遇到如下問題:

如果程序中用到的像jps或netstat -p這樣的命令,發(fā)現獲取不到正確的數據。通過調用 ps -ef | grep snmp發(fā)現,snmpd程序是由Debian-snmp用戶啟動的,該用戶不具有相關權限。

修改/etc/systemd/system/multi-user.target.wants/snmpd.service, 將snmpd啟動的用戶和用戶組改為root

ExecStart=/usr/sbin/snmpd -LOw -u root -g root -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid

調用 sudo systemctl daemon-reload 命令,使修改生效

調用 sudo service snmpd restart 命令,重啟snmpd服務

驗證如下:

root@master:~# ps -ef | grep snmp
root     3580320       1  1 15:07 ?        00:00:00 /usr/sbin/snmpd -LOw -u root -g root -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd.pid
root     3580347 3579656  0 15:07 pts/0    00:00:00 grep --color=auto snmp
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容