Przewodnik po konfiguracji ESXi SNMP do monitorowania ESXi
Monitorowanie infrastruktury ma duże znaczenie dla organizacji, ponieważ pozwala na wczesne wykrywanie problemów i zapobieganie awariom. W przypadku wystąpienia awarii wczesne powiadomienia o niej umożliwiają jak najszybsze podjęcie działań mających na celu jej usunięcie. W środowisku VMware vSphere zaleca się skonfigurowanie monitorowania hostów ESXi. Jedną z najbardziej przystępnych cenowo metod monitorowania hostów ESXi jest wykorzystanie wbudowanych funkcji oraz protokołu SNMP (Simple Network Management Protocol). W tym przypadku należy skonfigurować serwer dedykowany z oprogramowaniem do monitorowania. Ten wpis na blogu dotyczy konfiguracji protokołu SNMP w środowisku ESXi i wyjaśnia, jak włączyć protokół SNMP na hostach ESXi.
Przygotowanie środowiska
Oto jak włączyć protokół SNMP na serwerze ESXi:
- Włącz protokół Secure Shell (SSH)
- Skonfiguruj protokół SNMP
- Skonfiguruj zaporę sieciową ESXi
Wyjaśnię konfigurację protokołu SNMP na serwerze ESXi na przykładzie jednego ESXi 7.0 hosta oraz jednej maszyny z systemem Ubuntu Linux, na której zainstalowano oprogramowanie do monitorowania.
Adres IP hosta ESXi to 192.168.101.208.
Adres IP komputera z systemem Ubuntu Linux to 192.168.101.209.
Podczas konfigurowania monitorowania ESXi przez SNMP w swojej infrastrukturze należy użyć własnych adresów IP i innych wartości dla odpowiednich parametrów, aby dostosować konfigurację do własnych potrzeb.
Włączanie dostępu SSH na ESXi
Dostęp SSH na hoście ESXi jest potrzebny do zdalnego uruchamiania poleceń ESXCLI na hoście. Aby włączyć dostęp SSH do hosta ESXi, można użyć aplikacji VMware Host Client. Otwórz przeglądarkę internetową, wpisz adres IP hosta ESXi w pasku adresu, a następnie wprowadź dane uwierzytelniające, aby się zalogować.
W panelu „ Navigator ” przejdź do sekcji „ Host > Manage ” i kliknij kartę „ Services ”.
Kliknij prawym przyciskiem myszy pozycję „ TSM-SSH ”, a następnie w menu kontekstowym wybierz opcję „ Start.
” Na poniższym zrzucie ekranu widać uruchomioną usługę serwera SSH na hoście ESXi.
Teraz możesz połączyć się z hostem ESXi z komputera, na którym zainstalowano klienta SSH. Jeśli korzystasz z systemu Windows, możesz użyć programu PuTTY — darmowego i wygodnego klienta SSH. W systemie Linux uruchom klienta SSH z wiersza poleceń za pomocą polecenia:
ssh your_username@host_ip_address
Wprowadź adres IP swojego hosta ESXi oraz port TCP 22 (domyślny numer portu) w ustawieniach sesji klienta SSH, aby połączyć się z hostem ESXi przez SSH.
Konfiguracja protokołu SNMP w ESXi
Po nawiązaniu dostępu SSH do hosta ESXi można skonfigurować opcje protokołu SNMP w VMware ESXi. Na hostach ESXi protokół SNMP można skonfigurować wyłącznie w interfejs wiersza poleceń. Graficzny interfejs użytkownika (GUI) umożliwia jedynie uruchamianie, zatrzymywanie i ponowne uruchamianie usługi SNMP.
Uruchom polecenie w konsoli (terminalu) i sprawdź stan protokołu SNMP na hoście ESXi:
esxcli system snmp get
Protokół SNMP jest domyślnie wyłączony. Wynik działania dla wyłączonego protokołu SNMP na hoście ESXi pokazano na zrzucie ekranu. Większość parametrów jest pusta lub nie została skonfigurowana.
Konfiguracja parametrów agenta SNMP
Ustaw parametry SNMP dla agenta SNMP na hoście ESXi. Agent SNMP służy do wysyłania powiadomień (pułapek i komunikatów SNMP) do serwera do monitorowania oraz odbierania żądań GET, GETNEXT i GETBULK.
Ustaw nazwę społeczności („ public ” to domyślna nazwa społeczności). W tym przykładzie nazwa społeczności to „ nakivo ”. esxcli system snmp set --communities nakivo
Ustaw cel SNMP. Cel SNMP to serwer, na którym zainstalowano oprogramowanie do monitorowania, służące do obsługi pułapek SNMP i gromadzenia informacji o monitorowaniu. W moim przykładzie celem SNMP jest komputer z systemem Ubuntu Linux ( 192.168.101.209 ). UDP 161 to domyślny port używany dla protokołu SNMP, który jest zdefiniowany w mojej konfiguracji SNMP dla ESXi:
esxcli system snmp set --targets=192.168.101.209@161/nakivo
Określ lokalizację, na przykład położenie geograficzne, adres, centrum danych lub pomieszczenie, w którym znajduje się serwer:
esxcli system snmp set --syslocation "Server room"
Podaj dane kontaktowe. W tym parametrze można podać adres e-mail administratora systemu:
esxcli system snmp set --syscontact michaelbose@nakivo.com
Włącz protokół SNMP na ESXi:
esxcli system snmp set --enable true
Ponownie sprawdź stan protokołu SNMP na hoście ESXi:
esxcli system snmp get
Teraz widać, że parametry są skonfigurowane.
Identyfikator silnika (Engine ID) to unikalny identyfikator agenta SNMP (używany w protokole SNMP v3). Identyfikator silnika można ustawić za pomocą polecenia (opcjonalnie):
esxcli system snmp set -engineid 544a33209458
Status SNMP to działa teraz. Można również otworzyć VMware Host Client, przejść do Host > Manage > Servicesi sprawdzić status usługi snmpd .
Przetestuj bieżącą konfigurację SNMP.
esxcli system snmp test
Jeśli później edytujesz ustawienia SNMP, uruchom ponownie agenta SNMP za pomocą polecenia:
/etc/init.d/snmpd restart
Alternatywnie możesz ponownie uruchomić usługę SNMP ESXi w interfejsie graficznym VMware Host Client w zakładce Services . Kliknij prawym przyciskiem myszy usługę i wybierz opcję Restart z menu kontekstowego.
Jeśli chcesz zresetować ustawienia SNMP ESXi, użyj polecenia:
esxcli system snmp set -r
Polecenie wyłączające SNMP na hoście ESXi to:
esxcli system snmp set --enable false
Dostępność SNMP można sprawdzić z komputera z systemem Linux, jeśli ten komputer jest odbiorcą SNMP. W tym celu używamy systemu Ubuntu Linux.
Zainstaluj wymagany klient SNMP w systemie Ubuntu Linux, jeśli nie został on jeszcze zainstalowany:
sudo apt-get install snmp
Połącz się z hostem ESXi za pośrednictwem protokołu SNMP, aby sprawdzić parametry dostępne do monitorowania:
snmpwalk -v2c -c nakivo 192.168.101.208
W wynikach konsoli powinna pojawić się długa lista obiektów do monitorowania ESXi za pomocą protokołu SNMP. Obiekty te to bazy informacji zarządzania (MIB) oraz identyfikatory obiektów (OID), które stanowią elementy hierarchicznej struktury parametrów monitorowania.
MIB w protokole SNMP to zbiór informacji o obiektach (parametrach i ustawieniach) zorganizowany hierarchicznie. Istnieją MIB skalarne i tabelaryczne. MIB mogą być standardowe lub specyficzne dla danego dostawcy.
OID w protokole SNMP to jednoznacznie zidentyfikowany obiekt zarządzany w hierarchicznej strukturze MIB. Poszczególne poziomy drzewa są przypisywane przez różne organizacje. Dostawcy mogą definiować specjalne gałęzie w celu monitorowania parametrów swoich produktów.
Nazwa obiektu to unikalna wartość w całej bazie MIB, odpowiadająca odpowiedniemu identyfikatorowi OID. Na przykład nazwa obiektu dla identyfikatora OID 1.3.6.1.2.1.1.5 to sysName .
Konfiguracja zapory ESXi
Należy skonfigurować zaporę i włączyć dostęp SNMP z serwerów monitorujących do hosta ESXi. Można ustawić podsieć lub pojedynczy adres IP urządzeń, które mają dozwolony dostęp w sieci.
Uruchamiamy te trzy polecenia, aby zezwolić na dostęp z sieci 192.168.101.0/24 w celu monitorowania ESXi za pośrednictwem SNMP:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.101.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Wprowadź adres IP lub adres sieciowy zgodnie z konfiguracją sieci.
Mniej bezpieczną konfiguracją jest zezwolenie na dostęp z dowolnego urządzenia sieciowego:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
Konfiguracja SNMP w ESXi została zakończona. Teraz możesz skonfigurować oprogramowanie do monitorowania na serwerze monitorującym.
Konfiguracja SNMP v3
SNMP v3 to bezpieczniejsza wersja protokołu, zapewniająca uwierzytelnianie za pomocą klucza oraz szyfrowanie. Konfiguracja SNMP v3 jest bardziej skomplikowana i jest obsługiwana od wersji vSphere 5.1. Poniżej znajduje się przegląd sposobu włączenia SNMP v3 na hoście ESXi.
Ustaw protokół uwierzytelniania i opcje prywatności.
esxcli system snmp set -a SHA1 -x AES128
Gdzie:
SHA1 to algorytm szyfrowania kryptograficznego, kryptograficzna funkcja skrótu (Secure Hash Algorithm 1).
AES128 to metoda szyfrowania (Advanced Encryption Standard z 128-bitowym kluczem szyfrującym) wykorzystująca symetryczny szyfr blokowy.
Wygeneruj skróty za pomocą polecenia takiego jak:
esxcli system snmp hash –auth-hash authpass –priv-hash privhash –raw-secret
W moim przypadku polecenie brzmi:
esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret
Unikaj używania haseł podanych w tym przykładzie w środowiskach produkcyjnych. Używaj unikalnych haseł (hasło musi mieć co najmniej 7 znaków). Zapisz wygenerowane ciągi skrótów. W moim przypadku skróty są następujące.
Authhash: 831a798d1cda90ca1a3ab80d38f81a44c0851ada
Privhash: 38cf6f13d09a4651362338eac2c3d62b42514bc9
Użyj wygenerowanych skrótów i dodaj użytkownika. Obsługiwane jest dodawanie maksymalnie pięciu użytkowników.
esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv
Gdzie:
user to adres e-mail użytkownika
snmpuser to nazwa użytkownika (może mieć maksymalnie 32 znaki)
authhash to wartość skrótu uwierzytelniającego
privhash to wartość skrótu prywatności
Dodajemy user1 i używamy skrótów wygenerowanych w wynikach poprzedniego polecenia. esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv
Można utworzyć użytkownika bez ustawień zabezpieczeń (bez uwierzytelniania i prywatności) za pomocą polecenia:
esxcli system snmp set --user user2/-/-/none
Zdefiniuj docelowy adres SNMP:
esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap
Włącz protokół SNMP w ESXi:
esxcli system snmp set --enable true
Przetestuj ustawienia SNMP:
esxcli system snmp test
Można skorzystać z rozszerzonego polecenia, aby przetestować konfigurację SNMP VMware w ESXi:
esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r
Gdzie user1 to nazwa użytkownika SNMP, który został dodany do konfiguracji.
Jeśli test zakończy się pomyślnie, wyświetli się komunikat:
Użytkownik został poprawnie zweryfikowany dla podanego identyfikatora silnika i poziomu bezpieczeństwa: protokoły
Spróbuj połączyć się z hostem ESXi za pomocą SNMP v3 z serwera do monitorowania z systemem Linux (od strony docelowej).
To polecenie służy, jeśli nie ustawiono żadnych parametrów uwierzytelniania:
snmpwalk -v3 -u user1 192.168.101.208
Jeśli ustawiłeś ustawienia zabezpieczeń, zdefiniuj je w poleceniu:
snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208
Gdzie user1 to nazwa mojego użytkownika dodanego do konfiguracji SNMP ESXi.
Jeśli podczas testowania konfiguracji SNMP w ESXi pojawi się błąd „ Unknown user name ”, sprawdź, czy dodałeś użytkownika i czy w kolejnych poleceniach po dodaniu użytkownika zdefiniowałeś prawidłową nazwę użytkownika. Pamiętaj, że jeśli po skonfigurowaniu użytkowników zmienisz identyfikator silnika agenta, protokół prywatności lub protokół uwierzytelniania, użytkownicy ci staną się nieprawidłowi. W takim przypadku konieczne jest ponowne skonfigurowanie użytkowników.
Należy również zwrócić uwagę na ustawienia zabezpieczeń, ponieważ nieprawidłowa konfiguracja SNMP może stanowić zagrożenie i umożliwić złośliwemu hostowi uzyskanie informacji o hoście ESXi. Informacje te mogą zostać wykorzystane do wykrycia słabych punktów i zainicjowania cyberataku.
Konfiguracja SNMP dla wielu hostów ESXi
Skorzystanie z Profile hostów VMware może pomóc w włączeniu protokołu SNMP i bardziej racjonalnej konfiguracji wielu hostów ESXi, jeśli w środowisku vSphere znajduje się duża liczba hostów ESXi.
Aby włączyć protokół SNMP i skonfigurować wiele hostów ESXi, musisz posiadać subskrypcję VMware vSphere Enterprise Plus licencja umożliwiającą korzystanie z profili hostów VMware w kliencie VMware vSphere. Ustawienia SNMP VMware dla profili hostów ESXi znajdują się w Management > Host Profiles > your Profile > SNMP Agent Configuration. Możesz również skorzystać z vSphere PowerCLI w celu zautomatyzowania procesu konfiguracji dużej liczby hostów ESXi i ustawienia na nich konfiguracji SNMP.
Wnioski
Konfiguracja protokołu SNMP na hostach ESXi wymaga dostępu SSH do hostów ESXi, skonfigurowania agentów SNMP oraz zezwolenia na dostęp w zaporze sieciowej ESXi. Monitorowanie hostów ESXi pozwala na szybką reakcję w przypadku wykrycia jakichkolwiek problemów oraz poprawę ogólnej dostępności usług. Nie zapomnij wykonać kopię zapasową maszyn wirtualnych VMware vSphere, aby uniknąć utraty danych oraz móc je odzyskać i przywrócić obciążenia w razie awarii.
NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które zapewnia szeroki zestaw opcji tworzenia kopii zapasowych i odzyskiwania maszyn wirtualnych VMware vSphere oraz innych danych w centrum danych. Ponadto najnowsza wersja tego rozwiązania obsługuje monitorowanie ESXi w ramach monitorowania VMware vSphere.










