Globalna korelacja zdarzeń

Omówienie

Globalna korelacja zdarzeń umożliwia objęcie wszystkich metryk monitorowanych przez Zabbix i tworzenie korelacji.

Możliwe jest korelowanie zdarzeń tworzonych przez całkowicie różne wyzwalacze oraz stosowanie do nich tych samych operacji. Tworząc inteligentne reguły korelacji, można uniknąć tysięcy powtarzających się powiadomień i skupić się na przyczynach źródłowych problemu!

Globalna korelacja zdarzeń to zaawansowany mechanizm, który pozwala odejść od logiki problemów i ich rozwiązywania opartej na jednym wyzwalaczu. Dotychczas 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ń jest to możliwe.

Na przykład wyzwalacz dziennika 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żna oznaczyć wyzwalacz dziennika 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 zamknięcie starych zdarzeń.

W innym zastosowaniu globalna korelacja może identyfikować podobne wyzwalacze i stosować do nich tę samą operację. Co by było, gdyby można było otrzymywać tylko jeden raport o problemie dla każdego problemu z portem sieciowym? Nie ma potrzeby zgłaszania ich wszystkich. Jest to również możliwe dzięki globalnej korelacji zdarzeń.

Globalną korelację zdarzeń konfiguruje się w regułach korelacji. Reguła korelacji określa, w jaki sposób nowe zdarzenia problemów są dopasowywane do istniejących zdarzeń problemów oraz co należy zrobić w przypadku dopasowania (zamknąć nowe zdarzenie, zamknąć dopasowane stare zdarzenia, generując odpowiednie zdarzenia OK). Jeśli problem zostanie zamknięty przez globalną korelację, informacja o tym jest wyświetlana w kolumnie Info w sekcji Monitoring > Problems.

Konfigurowanie globalnych reguł korelacji jest dostępne tylko dla użytkowników na poziomie Super Admin.

Korelację zdarzeń należy konfigurować bardzo ostrożnie, ponieważ może ona negatywnie wpłynąć na wydajność przetwarzania zdarzeń lub, jeśli zostanie skonfigurowana nieprawidłowo, zamknąć więcej zdarzeń, niż zamierzano (w najgorszym przypadku mogą zostać zamknięte nawet wszystkie zdarzenia problemów).

Aby bezpiecznie skonfigurować globalne reguły korelacji, należy przestrzegać następujących ważnych wskazówek:

  • Ogranicz zakres korelacji. Zawsze ustawiaj unikatowy tag dla nowego zdarzenia, które jest dopasowywane do starych zdarzeń, i używaj warunku korelacji New event tag name.
  • Dodaj jawny warunek dotyczący starego zdarzenia podczas używania opcji 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) po wybraniu opcji Close old events; w przeciwnym razie reguła może dopasować i zamknąć niezwiązane istniejące zdarzenia problemów (w najgorszym przypadku wszystkie problemy). Preferuj opcję Event tag pair do dopasowywania wartości określanych w czasie działania (host:port, identyfikator sesji itp.) i, jeśli to możliwe, dodatkowo zawężaj dopasowanie według hosta lub grupy hostów.
  • Unikaj używania typowych nazw tagów, które mogą być później używane przez różne konfiguracje korelacji.
  • Ogranicz liczbę reguł korelacji do tych, których rzeczywiście potrzebujesz.

Zobacz także: znane problemy.

Konfiguracja

Aby skonfigurować globalnie reguły korelacji zdarzeń:

  1. Przejdź do Data collection > Event correlation.
  2. Kliknij Create event correlation po prawej stronie (lub nazwę korelacji, aby edytować istniejącą regułę).
  3. Wprowadź parametry reguły korelacji w formularzu.

correlation\_rule.png

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.