In einem der letzten Beiträge habe ich über die freie Monitoring Lösung Netdisco berichtet. Neben den Informationen der Hardware-Switches wäre es doch praktisch, auch Informationen zu den virtuellen Switches der ESX Server zu erhalten. Hierfür muss der SNMP Agent auf dem ESX Server aktiviert, und eine Community definiert werden. Die Konfiguration erfolgt entweder über vSphereCLI, oder SSH.
vSphereCLI
Dies ist die etwas bequemere Methode, da man nicht erst SSH am Host freischalten muss. Dazu muss die passende vSphereCLI lokal auf einem PC der Wahl installiert sein.
Der Pfad ist normalerweisse:
C:\Program Files\VMware\VMware vSphere CLI\
Community definieren
cd bin
vicfg-snmp.pl --server <myESX> --username root --password <myPass> -c <CommunityName>
Damit ist der Communitystring definiert, den beispielsweise Netdisco oder ein anderes Tool zur Abfrage verwendet.
Agent starten
Als nächstes muss der SNMP-Agent aktiviert werden.
vicfg-snmp.pl --server <myESX> --username root --password <myPass> --enable
Der Server ist nun bereit zur Abfrage. Ggf sollte überprüft werden, ob die ESX Firewall Verbindungen über den SNMP Port zuläßt.
Configuration über SSH
Die Konfiguration über SSH ist etwas umständlicher, da man jeweils SSH auf dem Host aktivieren muß, hat aber dafür etwas mehr Möglichkeiten.
Community definieren
esxcli system snmp set --communities <CommunityName>
Agent aktivieren
esxcli system snmp set --enable true
Firewall konfigurieren
Dieser Schritt ist optional, falls der Port nicht geöffnet sein sollte. Der erste Schritt erlaubt SNMP Zugriff von allen Hosts.
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
Der nächste Schritt aktiviert die Regel.
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Danach wird der snmp Daemon neu gestartet, um die Einstellungen zu aktivieren.
/etc/init.d/snmpd restart
Syscontact und Syslocation setzen
Dieser Schritt ist wiederum optional, hilft aber im Monitoring Tool bei der Zuordnung.
esxcli system snmp set –syslocation=<myESXLocation> –syscontact=<myContact>
Hier kann myESXLocation und myContact ein String der eigenen Wahl sein.
esxcli system snmp set --syslocation=BackupSite --syscontact=IT-Service
Abfrage der Einstellungen
esxcli system snmp get
ESX-Host mit Netdisco erkennen
Auf der Seite von Netdisco (oder auch anderen Tools) muss eine Erkennung getriggert werden. Dazu öffnet man eine SSH Verbindung auf den Netdisco Server und logt sich als Admin-User ein (default: netdisco).
cd ~ ~/bin/netdisco-do -D discover -d <ESX-IP>
Wenn alles richtig war, erscheinen nun die ESX Hosts unter Inventory von Netdisco.