20200925 librenms 納管 VMware server
一、Configure SNMP on VMware ESXi host
SSH進vmware,必須先開啟SSHD服務喔,預設是關閉的。
登入後執行下列指令。
# esxcli system snmp get
Authentication:
Communities:
Enable: false
Engineid:
Hwsrc: indications
Loglevel: info
Notraps:
Port:161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets:
Users:
V3targets:
這裡若遇到錯誤訊息。
Configuration file, /etc/vmware/snmp.xml, is not valid xml. Repair or replace it.google後發現必須重新更新snmp.xml檔。必須複製貼上下列文字到/etc/vmware/snmp.xml
<?xml version='1.0' encoding='ISO-8859-1'?><config><snmpSettings><enable>true</enable><port>161</port><syscontact></syscontact><syslocation></syslocation><EnvEventSource>indications</EnvEventSource><communities>public</communities><loglevel>info</loglevel><authProtocol></authProtocol><privProtocol></privProtocol></snmpSettings></config>設定commuinity字串。(雖然不懂是什麼意思)public字樣可以自行修改
#sxcli system snmp set --communities public
如果SNMP port想改的話。
esxcli system snmp set --port 161
啟用snmp功能
esxcli system snmp set --enable true
設定SNMP資訊之location,據說機房是IDC。(internet data center)
esxcli system snmp set --syslocation IDC
檢查防火牆狀況
# esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
# esxcli network firewall ruleset rule list | grep snmp
snmp Inbound UDP Dst 161 161
# esxcli network firewall ruleset allowedip list | grep snmp
snmp All
二、接下來去librenmp上面檢查該VM主機的snmp可用性
$ snmpwalk -v 1 -c public 10.x.x.x(目標ip) | more
如果成功的話會跳出一大堆訊息
現在重新啟動目標機上的snmp服務(奇怪?不是已經reach了嗎?事實上我也沒重新啟動)
# /etc/init.d/snmpd restart
20201014更新 使用esxi7.0
1.必須設定目標,targets後面為目的地IP@port/社群名稱
esxcli system snmp set --targets 10.0.0.21@161/public
2.設定社群
esxcli system snmp set --communities public
3.其他的可以用來修改
vi /etc/vmware/snmp.xml
4.啟用,注意這裡和5.5版的不一樣,不需要init指令
esxcli system snmp set --enable true