Globalna korelacja zdarzeń
Omówienie
Globalna korelacja zdarzeń umożliwia odwoływanie się do wszystkich metryk monitorowanych przez Zabbix i tworzenie korelacji.
Możliwe jest korelowanie zdarzeń utworzonych przez całkowicie różne wyzwalacze i stosowanie do nich tych samych operacji. Tworząc inteligentne reguły korelacji, można w praktyce uchronić się przed tysiącami powtarzających się powiadomień i skupić się na przyczynach źródłowych problemu!
Globalna korelacja zdarzeń to potężny mechanizm, który pozwala uwolnić się od logiki problemów i rozwiązań opartej na jednym wyzwalaczu. Do tej pory pojedyncze zdarzenie problemu było tworzone przez jeden wyzwalacz i byliśmy zależni od tego samego wyzwalacza przy rozwiązywaniu problemu. Nie mogliśmy rozwiązać problemu utworzonego przez jeden wyzwalacz za pomocą innego wyzwalacza. Jednak dzięki korelacji zdarzeń opartej na tagowaniu zdarzeń możemy to zrobić.
Na przykład wyzwalacz logów może zgłaszać problemy aplikacji, podczas gdy wyzwalacz odpytywania może zgłaszać, że aplikacja działa. Korzystając z tagów zdarzeń, możesz oznaczyć wyzwalacz logów jako status:down, a wyzwalacz odpytywania jako status:up. Następnie w globalnej regule korelacji możesz powiązać te wyzwalacze i przypisać do tej korelacji odpowiednią operację, taką jak zamknięcie 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 jeden raport problemu dla problemu z portem sieciowym? Nie ma potrzeby zgłaszania wszystkich. To również jest możliwe dzięki globalnej korelacji zdarzeń.
Globalna korelacja zdarzeń jest konfigurowana w regułach korelacji. Reguła korelacji definiuje, w jaki sposób nowe zdarzenia problemów są parowane z istniejącymi zdarzeniami problemów oraz co zrobić w przypadku dopasowania (zamknąć nowe zdarzenie, zamknąć dopasowane stare zdarzenia poprzez wygenerowanie odpowiednich zdarzeń OK). Jeśli problem zostanie zamknięty przez globalną korelację, zostanie to zgłoszone w kolumnie Info w Monitoring > Problemy.
Konfigurowanie globalnych reguł korelacji jest dostępne wyłącznie dla użytkowników na poziomie Super Admin.
Korelacja zdarzeń musi być skonfigurowana bardzo ostrożnie, ponieważ może negatywnie wpłynąć na wydajność przetwarzania zdarzeń lub, w przypadku błędnej konfiguracji, zamknąć więcej zdarzeń, niż zamierzano (w najgorszym przypadku mogłyby zostać zamknięte nawet wszystkie zdarzenia problemów).
Aby skonfigurować globalną korelację bezpiecznie, przestrzegaj poniższych ważnych wskazówek:
- Ogranicz zakres korelacji. Zawsze ustawiaj unikalny tag dla nowego zdarzenia, które jest parowane 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) podczas wybierania 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 w czasie działania (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 ogólnych nazw tagów, które mogą być wykorzystywane przez różne konfiguracje korelacji.
- Ogranicz liczbę reguł korelacji do tych, które są naprawdę potrzebne.
Zobacz też: znane problemy.
Konfiguracja
Aby skonfigurować globalnie 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 obowiązkowe pola 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 i 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. Ostrzeżenie! 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 praktyce 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 tym 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 nieprawidłowa konfiguracja, a podobne tagi zdarzeń mogą być tworzone dla problemów niepowiązanych, przejrzyj 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 bez komunikatu 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 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 dziennika są długie, a pierwsze 255 znaków nie jest jednoznaczne, 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 skoreluje problemy, jeśli na wyzwalaczu istnieją wartości tagów host i port oraz są one takie same w zdarzeniu pierwotnym i nowym.
Operacja zamknie nowe zdarzenia problemów na tym samym porcie sieciowym, pozostawiając otwarte tylko pierwotne zdarzenie problemu.