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. Tworząc inteligentne reguły korelacji, można w praktyce oszczędzić sobie tysięcy powtarzających się powiadomień i skupić się na rzeczywistych 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 logu 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 logu 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 z istniejącymi zdarzeniami problemów oraz co zrobić w przypadku dopasowania (zamknąć nowe zdarzenie, zamknąć dopasowane stare zdarzenia przez wygenerowanie odpowiednich zdarzeń OK). Jeśli problem zostanie zamknięty przez globalną korelację, zostanie to zgłoszone w kolumnie Info w Monitoring > Problems.
Konfigurowanie globalnych reguł 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 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). Preferuj Event tag pair do dopasowywania wartości środowiska uruchomieniowego (host:port, session id itp.) i w miarę możliwości 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ć reguły korelacji zdarzeń globalnie:
- Przejdź do Data collection > Event correlation
- Kliknij Create event correlation po prawej stronie (lub kliknij 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 spełniony jest jeden warunek 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 przez wielkie litery A, B, C, ...) i może zawierać spacje, tabulatory, nawiasy ( ), and (z uwzględnieniem wielkości liter), or (z uwzględnieniem wielkości liter), not (z uwzględnieniem wielkości liter). |
| Conditions | Lista warunków. Szczegóły konfiguracji warunku znajdują się poniżej. |
| Description | Opis reguły korelacji. |
| Operations | Zaznacz pole wyboru operacji, która ma zostać wykonana, gdy zdarzenie zostanie skorelowane. Dostępne są następujące operacje: Close old events - zamyka 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 - zamyka 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 zamknąć je. 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 i operacji Close old events, dopasuje wszystkie stare zdarzenia spełniające (brakujące) kryteria starego zdarzenia - w efekcie zamykając stare problemy. |
| Enabled | Jeśli zaznaczysz to pole wyboru, reguła korelacji zostanie włączona. |
Aby skonfigurować szczegóły nowego warunku, kliknij
w bloku Conditions.
Otworzy się okno podręczne, w którym można edytować szczegóły warunku.

| Parameter | Description |
|---|---|
| New condition | Wybierz warunek do korelowania zdarzeń. Uwaga że jeśli nie zostanie określony warunek starego zdarzenia, wszystkie stare zdarzenia mogą zostać dopasowane i zamknięte. Podobnie, jeśli nie zostanie określony warunek 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 będą zgodne. Nazwy tagów nie muszą być zgodne. Ta opcja jest przydatna do dopasowywania wartości w czasie działania, które mogą nie być znane w momencie konfiguracji (zobacz także Przykład). Old event tag value - określ nazwę tagu starego zdarzenia i wartość 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 znaków w wartości tagu starego zdarzenia does not contain - nie zawiera ciągu znaków w wartości tagu starego zdarzenia New event tag value - określ nazwę tagu nowego zdarzenia i wartość 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 znaków w wartości tagu nowego zdarzenia does not contain - nie zawiera ciągu znaków w wartości tagu nowego zdarzenia |
Ponieważ możliwa jest błędna konfiguracja, a podobne tagi zdarzeń mogą być tworzone dla problemów niepowiązanych, przejrzyj proszę przypadki opisane poniżej!
- Rzeczywiste tagi i wartości tagów stają się widoczne dopiero po wyzwoleniu wyzwalacza. Jeśli użyte wyrażenie regularne jest nieprawidłowe, zostaje ono po cichu zastąpione 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 problemowe, 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 nie zawiera konkretnych informacji, 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.