2 Globalna korelacja zdarzeń
Przegląd
Globalna korelacja zdarzeń pozwala objąć wszystkie metryki monitorowane przez Zabbix i tworzyć korelacje.
Możliwe jest korelowanie zdarzeń utworzonych przez całkowicie różne wyzwalacze i stosowanie do nich wszystkich tych samych operacji. Dzięki tworzeniu inteligentnych reguł korelacji można w praktyce uwolnić się od tysięcy powtarzalnych powiadomień i skupić się na źródłowych przyczynach problemu!
Globalna korelacja zdarzeń to potężny mechanizm, który pozwala uniezależnić się od logiki problemów i ich rozwiązywania opartej na pojedynczym wyzwalaczu. Dotychczas pojedyncze zdarzenie problemu było tworzone przez jeden wyzwalacz i od tego samego wyzwalacza zależało rozwiązanie problemu. Nie mogliśmy rozwiązać problemu utworzonego przez jeden wyzwalacz za pomocą innego wyzwalacza. Jednak dzięki korelacji zdarzeń opartej na tagowaniu zdarzeń jest to możliwe.
Na przykład wyzwalacz logów może zgłaszać problemy aplikacji, podczas gdy wyzwalacz odpytywania może zgłaszać, że aplikacja działa i jest dostępna. Korzystając z tagów zdarzeń, można oznaczyć wyzwalacz logów tagiem status:down, a wyzwalacz odpytywania tagiem status:up. Następnie w globalnej regule korelacji można powiązać te wyzwalacze i przypisać do tej korelacji odpowiednią operację, taką jak zamykanie starych zdarzeń.
W innym zastosowaniu globalna korelacja może identyfikować podobne wyzwalacze i stosować do nich tę samą operację. Co, jeśli moglibyśmy otrzymywać tylko jedno zgłoszenie problemu dla problemu z portem sieciowym? Nie ma potrzeby zgłaszać ich wszystkich. To również jest możliwe dzięki globalnej korelacji zdarzeń.
Globalna korelacja zdarzeń jest konfigurowana w regułach korelacji. Reguła korelacji określa, w jaki sposób nowe zdarzenia problemów są łączone w pary z istniejącymi zdarzeniami problemów oraz co należy zrobić w przypadku dopasowania (zamknąć nowe zdarzenie, zamknąć dopasowane stare zdarzenia przez wygenerowanie odpowiadających im zdarzeń OK). Jeśli problem zostanie zamknięty przez globalną korelację, zostanie to zgłoszone w kolumnie Info w Monitoring > Problems.
Konfigurowanie globalnej korelacji jest dostępne wyłącznie dla użytkowników na poziomie Super Admin.
Korelację zdarzeń należy konfigurować bardzo ostrożnie, ponieważ może ona negatywnie wpływać na wydajność przetwarzania zdarzeń lub — w przypadku błędnej konfiguracji — zamknąć więcej zdarzeń, niż zamierzano (w najgorszym przypadku mogą zostać zamknięte nawet wszystkie zdarzenia problemów).
Aby bezpiecznie skonfigurować globalną korelację, należy przestrzegać następujących ważnych wskazówek:
- Ogranicz zakres korelacji. Zawsze ustawiaj unikalny tag dla nowego zdarzenia, które jest łączone w parę ze starymi zdarzeniami, i używaj warunku korelacji New event tag name.
- Dodaj jawny warunek starego zdarzenia podczas używania Close old events. Zawsze dodawaj co najmniej jeden warunek Old event (na przykład Old event tag name, Old event tag value lub Event tag pair) przy wyborze Close old events — w przeciwnym razie reguła może dopasować i zamknąć niepowiązane istniejące zdarzenia problemów (w najgorszym przypadku wszystkie problemy). Do dopasowywania wartości środowiska uruchomieniowego (host:port, session id itp.) preferuj Event tag pair, a jeśli to możliwe, dodatkowo zawężaj dopasowanie według hosta lub grupy hostów.
- Unikaj używania popularnych nazw tagów, które mogą zostać użyte przez różne konfiguracje korelacji.
- Ogranicz liczbę reguł korelacji do tych, których naprawdę potrzebujesz.
Zobacz także: znane problemy.
Konfiguracja
Aby skonfigurować globalne reguły korelacji zdarzeń:
- Przejdź do Data collection > Event correlation
- Kliknij Create event correlation po prawej stronie (lub nazwę korelacji, aby edytować istniejącą regułę)
- Wprowadź parametry reguły korelacji w formularzu

Wszystkie wymagane pola wejściowe są oznaczone czerwoną gwiazdką.
| Parameter | Description |
|---|---|
| Name | Unikalna nazwa reguły korelacji. |
| Type of calculation | Dostępne są następujące opcje obliczania warunków: And - wszystkie warunki muszą być spełnione Or - wystarczy, że jeden warunek jest spełniony And/Or - AND dla różnych typów warunków oraz OR dla tego samego typu warunku Custom expression - zdefiniowana przez użytkownika formuła obliczeniowa do oceny warunków akcji. Musi zawierać wszystkie warunki (reprezentowane jako wielkie litery A, B, C, ...) i może zawierać spacje, tabulatory, nawiasy ( ), and (z rozróżnianiem wielkości liter), or (z rozróżnianiem wielkości liter), not (z rozróżnianiem wielkości liter). |
| Conditions | Lista warunków. Szczegóły dotyczące konfiguracji warunku znajdują się poniżej. |
| Description | Opis reguły korelacji. |
| Operations | Zaznacz pole wyboru operacji, która ma zostać wykonana po skorelowaniu zdarzenia. Dostępne są następujące operacje: Close old events - zamknij stare zdarzenia, gdy wystąpi nowe zdarzenie. Zawsze dodawaj warunek oparty na starym zdarzeniu podczas używania operacji Close old events, w przeciwnym razie wszystkie istniejące problemy mogą zostać zamknięte. Close new event - zamknij nowe zdarzenie, gdy wystąpi. Warning! Nie pozostawiaj pustych warunków starego/nowego zdarzenia podczas używania Close old events/Close new event. Jeśli wybierzesz operację Close old events bez dodania warunku pasującego do starego zdarzenia, Zabbix może dopasować wszystkie istniejące stare zdarzenia i je zamknąć. Zawsze dodawaj jawny warunek starego zdarzenia (na przykład Old event tag name lub Event tag pair) podczas używania Close old events. Na przykład reguła, która używa tylko New event condition oraz operacji Close old events, dopasuje wszystkie stare zdarzenia spełniające kryteria starego zdarzenia (których brak) — skutecznie zamykając stare problemy. |
| Enabled | Jeśli zaznaczysz to pole wyboru, reguła korelacji będzie włączona. |
Aby skonfigurować szczegóły nowego warunku, kliknij
w bloku Conditions.
Otworzy się wyskakujące okno, w którym można edytować szczegóły warunku.

| Parameter | Description |
|---|---|
| New condition | Wybierz warunek do korelacji zdarzeń. Uwaga: jeśli nie określono warunku starego zdarzenia, wszystkie stare zdarzenia mogą zostać dopasowane i zamknięte. Podobnie, jeśli nie określono warunku nowego zdarzenia, wszystkie nowe zdarzenia mogą zostać dopasowane i zamknięte. Dostępne są następujące warunki: Old event tag name - określ nazwę tagu starego zdarzenia do dopasowania. New event tag name - określ nazwę tagu nowego zdarzenia do dopasowania. New event host group - określ grupę hostów nowego zdarzenia do dopasowania. Event tag pair - określ nazwę tagu nowego zdarzenia i nazwę tagu starego zdarzenia do dopasowania. W takim przypadku dopasowanie nastąpi, jeśli wartości tagów w obu zdarzeniach są zgodne. Nazwy tagów nie muszą być zgodne. Ta opcja jest przydatna do dopasowywania wartości czasu działania, które mogą nie być znane w momencie konfiguracji (zobacz także Przykład). Old event tag value - określ nazwę i wartość tagu starego zdarzenia do dopasowania, używając następujących operatorów: equals - ma wartość tagu starego zdarzenia does not equal - nie ma wartości tagu starego zdarzenia contains - zawiera ciąg w wartości tagu starego zdarzenia does not contain - nie zawiera ciągu w wartości tagu starego zdarzenia New event tag value - określ nazwę i wartość tagu nowego zdarzenia do dopasowania, używając następujących operatorów: equals - ma wartość tagu nowego zdarzenia does not equal - nie ma wartości tagu nowego zdarzenia contains - zawiera ciąg w wartości tagu nowego zdarzenia does not contain - nie zawiera ciągu w wartości tagu nowego zdarzenia |
Ponieważ możliwa jest błędna konfiguracja, gdy podobne tagi zdarzeń mogą być tworzone dla niepowiązanych problemów, zapoznaj się z przypadkami opisanymi poniżej!
- Rzeczywiste tagi i wartości tagów stają się widoczne dopiero po uruchomieniu wyzwalacza. Jeśli użyte wyrażenie regularne jest nieprawidłowe, jest ono po cichu zastępowane ciągiem *UNKNOWN*. Jeśli początkowe zdarzenie problemu z wartością tagu *UNKNOWN* zostanie pominięte, mogą pojawić się kolejne zdarzenia OK z tą samą wartością tagu *UNKNOWN*, które mogą zamknąć zdarzenia problemów, których nie powinny były zamknąć.
- Jeśli użytkownik używa makra {ITEM.VALUE} bez funkcji makr jako wartości tagu, obowiązuje ograniczenie do 255 znaków. Gdy komunikaty logów są długie, a pierwsze 255 znaków jest niespecyficzne, może to również skutkować podobnymi tagami zdarzeń dla niepowiązanych problemów.
Przykład
Zatrzymaj powtarzające się zdarzenia problemów z tego samego portu sieciowego.

Ta globalna reguła korelacji będzie korelować problemy, jeśli wartości tagów host i port istnieją w wyzwalaczu i są takie same w oryginalnym oraz nowym zdarzeniu.
Operacja zamknie nowe zdarzenia problemów na tym samym porcie sieciowym, pozostawiając otwarty tylko oryginalny problem.