1 Wykrywanie sieci
Przegląd
Zabbix oferuje funkcję automatycznego wykrywania sieci, która jest skuteczna i bardzo elastyczna.
Przy prawidłowo skonfigurowanym wykrywaniu sieci można:
- przyspieszyć wdrożenie Zabbix
- uprościć administrację
- używać Zabbix w szybko zmieniających się środowiskach bez nadmiernych nakładów administracyjnych
Wykrywanie sieci w Zabbix opiera się na następujących informacjach:
- zakresy adresów IP
- dostępność usług zewnętrznych (FTP, SSH, WEB, POP3, IMAP, TCP itp.)
- informacje otrzymane od Zabbix agent (obsługiwany jest tylko tryb nieszyfrowany)
- informacje otrzymane od agenta SNMP
Nie zapewnia ono:
- wykrywania topologii sieci
Wykrywanie sieci zasadniczo składa się z dwóch faz: wykrywania i działań.
Wykrywanie
Zabbix okresowo skanuje zakresy IP zdefiniowane w regułach wykrywania sieci. Częstotliwość sprawdzania można skonfigurować indywidualnie dla każdej reguły.
Każda reguła ma zdefiniowany zestaw kontroli usług do wykonania dla zakresu IP.
Reguły wykrywania są przetwarzane przez menedżera wykrywania. Menedżer wykrywania tworzy zadanie dla każdej reguły z listą zadań cząstkowych (kontroli sieciowych). Kontrole sieciowe są wykonywane równolegle przez dostępne procesy robocze wykrywania (ich liczba jest konfigurowalna w frontendzie dla każdej reguły). Tylko kontrole z tym samym adresem IP i portem są planowane sekwencyjnie, ponieważ niektóre urządzenia nie akceptują równoległych połączeń na tym samym porcie.
Rozmiar kolejki kontroli sieciowych jest ograniczony do 2000000 lub około 4 GB pamięci.
Jeśli kolejka się zapełni, reguła wykrywania zostanie pominięta, a w logu zostanie zapisany komunikat ostrzegawczy.
Możesz użyć wewnętrznej pozycji zabbix[discovery_queue], aby monitorować liczbę kontroli wykrywania w kolejce.
Kontrole wykrywania są przetwarzane niezależnie od innych kontroli. Jeśli jakiekolwiek kontrole nie znajdą usługi (lub zakończą się niepowodzeniem), pozostałe kontrole nadal będą przetwarzane.
Jeśli reguła wykrywania zostanie zmieniona podczas wykonywania, bieżące wykonanie wykrywania zostanie przerwane.
Każda kontrola usługi i hosta (IP) wykonywana przez moduł wykrywania sieci generuje zdarzenie wykrywania.
| Zdarzenie | Wynik kontroli usługi |
|---|---|
| Usługa wykryta | Usługa jest „up” po tym, jak była „down”, lub gdy została wykryta po raz pierwszy. |
| Usługa up | Usługa jest „up” po tym, jak była już „up”. |
| Usługa utracona | Usługa jest „down” po tym, jak była „up”. |
| Usługa down | Usługa jest „down” po tym, jak była już „down”. |
| Host wykryty | Co najmniej jedna usługa hosta jest „up” po tym, jak wszystkie usługi tego hosta były „down”, lub została wykryta usługa należąca do niezarejestrowanego hosta. |
| Host up | Co najmniej jedna usługa hosta jest „up” po tym, jak co najmniej jedna usługa była już „up”. |
| Host utracony | Wszystkie usługi hosta są „down” po tym, jak co najmniej jedna była „up”. |
| Host down | Wszystkie usługi hosta są „down” po tym, jak były już „down”. |
Akcje
Zdarzenia wykrywania mogą stanowić podstawę odpowiednich akcji, takich jak:
- Wysyłanie powiadomień
- Dodawanie/usuwanie hostów
- Włączanie/wyłączanie hostów
- Dodawanie hostów do grupy
- Usuwanie hostów z grupy
- Dodawanie tagów do hosta
- Usuwanie tagów z hosta
- Podłączanie szablonu do hostów/odłączanie szablonu od hostów
- Wykonywanie zdalnych skryptów
Akcje te można skonfigurować z uwzględnieniem typu urządzenia, adresu IP, statusu, czasu działania/przestoju itd. Pełne informacje na temat konfigurowania akcji dla zdarzeń opartych na wykrywaniu sieci można znaleźć na stronach operacji i warunków akcji.
Ponieważ akcje wykrywania sieci są oparte na zdarzeniach, będą uruchamiane zarówno wtedy, gdy wykryty host jest online, jak i wtedy, gdy jest offline. Zdecydowanie zaleca się dodanie warunku akcji Discovery status: up, aby uniknąć uruchamiania takich akcji jak Add host przy zdarzeniach Service Lost/Service Down. W przeciwnym razie, jeśli wykryty host zostanie usunięty ręcznie, nadal będzie generował zdarzenia Service Lost/Service Down i zostanie odtworzony podczas następnego cyklu wykrywania.
Podłączanie szablonów do wykrytego hosta zakończy się zbiorczym niepowodzeniem, jeśli którykolwiek z szablonów możliwych do podłączenia zawiera unikalną encję (np. klucz pozycji), która jest taka sama jak unikalna encja (np. klucz pozycji) już istniejąca na hoście lub w innym z szablonów możliwych do podłączenia.
Tworzenie hosta
Host jest dodawany, jeśli wybrano operację Add host. Host jest również dodawany, nawet jeśli brakuje operacji Add host, jeśli wybierzesz operacje skutkujące działaniami na hoście. Takimi operacjami są:
- włącz host
- wyłącz host
- dodaj host do grupy hostów
- podłącz szablon do hosta
Utworzone hosty są dodawane do grupy Discovered hosts (domyślnie, z możliwością konfiguracji w Administration > General > Other). Jeśli chcesz, aby hosty były dodawane do innej grupy, dodaj operację Remove from host groups (określając „Discovered hosts”) oraz operację Add to host groups (określając inną grupę hostów), ponieważ host musi należeć do grupy hostów.
Adres IP wykrytego urządzenia, wraz ze źródłem wykrywania (serwer Zabbix, proxy Zabbix lub grupa proxy) oraz typem interfejsu, jest używany jako kryterium wyszukiwania hosta w systemie. Jeśli host z tym samym adresem IP, typem interfejsu i źródłem wykrywania już istnieje, ten host będzie celem wykonywania operacji. Jeśli źródło wykrywania jest inne, wykryty obiekt jest traktowany jako inny host i może zostać utworzony nowy host.
Jeśli adres IP wykrytego hosta zostanie zmieniony lub interfejs zostanie usunięty, przy następnym wykryciu zostanie utworzony nowy host.
Nadawanie nazw hostom
Podczas dodawania hostów nazwa hosta jest wynikiem odwrotnego wyszukiwania DNS lub adresem IP, jeśli odwrotne wyszukiwanie się nie powiedzie. Wyszukiwanie jest wykonywane z serwera Zabbix lub proxy Zabbix, w zależności od tego, który z nich wykonuje wykrywanie. Jeśli wyszukiwanie nie powiedzie się na proxy, nie jest ponawiane na serwerze. Jeśli host o takiej nazwie już istnieje, do nazwy kolejnego hosta zostanie dodane _2, następnie _3 itd.
Możliwe jest również zastąpienie wyszukiwania DNS/IP i użycie zamiast tego wartości pozycji jako nazwy hosta, na przykład:
- Można wykryć wiele serwerów z uruchomionym agent Zabbix przy użyciu pozycji agenta Zabbix do wykrywania i automatycznie przypisać im odpowiednie nazwy na podstawie wartości tekstowej zwróconej przez tę pozycję
- Można wykryć wiele urządzeń sieciowych SNMP przy użyciu pozycji agenta SNMP do wykrywania i automatycznie przypisać im odpowiednie nazwy na podstawie wartości tekstowej zwróconej przez tę pozycję
Jeśli nazwa hosta została ustawiona przy użyciu wartości pozycji, nie jest aktualizowana podczas kolejnych kontroli wykrywania. Jeśli nie można ustawić nazwy hosta przy użyciu wartości pozycji, używana jest wartość domyślna (nazwa DNS).
Jeśli host z wykrytym adresem IP już istnieje, a źródło wykrywania (serwer Zabbix, proxy lub grupa proxy) nie uległo zmianie, nowy host nie jest tworzony. Jeśli źródło wykrywania jest inne, wykryta jednostka jest traktowana jako odrębna i może zostać utworzony nowy host. Jednak jeśli akcja wykrywania zawiera operacje (podłączenie szablonu, dodanie do grupy hostów itp.), są one wykonywane na istniejącym hoście dopasowanym według adresu IP, typu interfejsu i źródła wykrywania.
Usuwanie hostów
Hosty wykryte przez regułę wykrywania sieci są usuwane automatycznie z Monitoring > Discovery, jeśli wykryta jednostka nie znajduje się już w zakresie adresów IP tej reguły. Hosty są usuwane natychmiast.
Tworzenie interfejsów podczas dodawania hostów
Gdy hosty są dodawane w wyniku wykrywania sieci, ich interfejsy są tworzone zgodnie z następującymi zasadami:
- Wykryte usługi — na przykład, jeśli sprawdzenie SNMP zakończyło się powodzeniem, zostanie utworzony interfejs SNMP.
- Jeśli host odpowiedział zarówno na żądania agenta Zabbix, jak i SNMP, zostaną utworzone oba typy interfejsów.
- Jeśli kryteriami unikalności są dane zwrócone przez agenta Zabbix lub SNMP, pierwszy interfejs znaleziony dla hosta zostanie utworzony jako domyślny. Pozostałe adresy IP zostaną dodane jako dodatkowe interfejsy. Warunki akcji (takie jak IP hosta) nie mają wpływu na dodawanie interfejsów. Należy pamiętać, że będzie to działać, jeśli wszystkie interfejsy zostaną wykryte przez tę samą regułę wykrywania. Jeśli inna reguła wykrywania wykryje inny interfejs tego samego hosta, zostanie dodany dodatkowy host.
- Jeśli host odpowiadał tylko na sprawdzenia agenta, zostanie utworzony tylko z interfejsem agenta. Jeśli później zacznie odpowiadać na SNMP, zostaną dodane dodatkowe interfejsy SNMP.
- Jeśli początkowo zostały utworzone 3 oddzielne hosty, wykryte na podstawie kryteriów unikalności „IP”, a następnie reguła wykrywania zostanie zmodyfikowana tak, że hosty A, B i C będą miały identyczny wynik kryteriów unikalności, hosty B i C zostaną utworzone jako dodatkowe interfejsy dla A, pierwszego hosta. Poszczególne hosty B i C pozostaną. W Monitoring > Discovery dodane interfejsy będą wyświetlane w kolumnie „Discovered device”, czarną czcionką i z wcięciem, ale kolumna „Monitored host” będzie wyświetlać tylko A, pierwszego utworzonego hosta. „Uptime/Downtime” nie jest mierzone dla adresów IP, które są traktowane jako dodatkowe interfejsy.
Zmiana ustawienia proxy
Hosty wykryte przez różne proxy nie zawsze są traktowane jako różne hosty. Wykrywanie i sprawdzanie unikalności zależą od struktury grup proxy: gdy proxy uruchamia regułę wykrywania i tworzy host, ten host jest dodawany do nadrzędnej grupy proxy danego proxy, a nie przypisywany do samego proxy. Gdy Zabbix podczas wykrywania sprawdza unikalność adresu IP, sprawdza hosty monitorowane przez nadrzędną grupę proxy. Hosty monitorowane przez poszczególne proxy w tej grupie (w tym proxy, które uruchomiło wykrywanie) są pomijane podczas sprawdzania unikalności, co może skutkować zduplikowanymi hostami, jeśli wiele proxy monitoruje nakładające się podsieci.
Chociaż takie zachowanie pozwala na działanie wykrywania w nakładających się zakresach adresów IP używanych przez różne podsieci, zmiana proxy przypisanego do już monitorowanej podsieci jest bardziej skomplikowana, ponieważ zmiany proxy muszą zostać spójnie zastosowane do wykrytych hostów oraz do członkostwa w nadrzędnej grupie proxy, aby uniknąć duplikatów.
Na przykład kroki wymagane do zastąpienia proxy w regule wykrywania:
- wyłącz regułę wykrywania
- zsynchronizuj konfigurację proxy
- zastąp proxy w regule wykrywania
- zastąp proxy dla wszystkich hostów wykrytych przez tę regułę (upewnij się, że hosty w nadrzędnej grupie proxy oraz wszelkie hosty monitorowane przez poszczególne proxy w tej grupie zostały zaktualizowane, aby uniknąć duplikatów)
- włącz regułę wykrywania