6 Tagowanie
Przegląd
Tagi składają się z nazwy tagu i wartości tagu.
Podczas tagowania encji można użyć tylko nazwy albo połączyć ją z wartością (na przykład mysql, jira, target:mysql, service:jira itd.).
Tagi można definiować dla różnych encji:
- Szablony
- Hosty
- Pozycje
- Scenariusze web
- Wyzwalacze
- Usługi
- Pozycje i wyzwalacze szablonu
- Prototypy hosta, pozycji i wyzwalacza
Zapoznaj się z oficjalnymi wytycznymi Zabbix dotyczącymi ogólnych zaleceń dotyczących definiowania tagów, a także ze szczegółowymi wskazówkami dla szablonów, pozycji, wyzwalaczy oraz reguł wykrywania niskiego poziomu.
Tagi mają wiele zastosowań, przede wszystkim do oznaczania zdarzeń. Gdy encje są otagowane, każde nowe zdarzenie związane z otagowaną encją odziedziczy jej tagi. Na przykład:
- w przypadku otagowanych szablonów - każdy problem hosta (utworzony przez wyzwalacze z szablonu) odziedziczy tagi szablonu;
- w przypadku otagowanych hostów - każdy problem hosta odziedziczy tagi hosta;
- w przypadku otagowanych pozycji/scenariuszy web - każdy problem pozycji/scenariusza web odziedziczy tagi pozycji/scenariusza web;
- w przypadku otagowanych wyzwalaczy - każdy problem utworzony przez wyzwalacz odziedziczy tagi wyzwalacza.
Zdarzenie problemu dziedziczy wszystkie tagi z całego łańcucha encji - szablonów, hostów, pozycji/scenariuszy web, wyzwalaczy.
Identyczne kombinacje tag:value (po rozwiązaniu makr) są scalane w jedną, co pozwala uniknąć duplikacji.
Niestandardowe tagi zdarzeń oferują większą elastyczność. Na przykład:
- korelację zdarzeń można skonfigurować na podstawie tagów zdarzeń;
- warunki akcji można skonfigurować na podstawie tagów zdarzeń;
- problemy pozycji można grupować na podstawie tagów zdarzeń;
- tagi problemów można wykorzystać do mapowania problemów na usługi.
Encje mogą być otagowane tą samą nazwą tagu, ale z różnymi wartościami tagu (na przykład component:memory i component:storage).
Podobnie encja może mieć tag bez wartości oraz ten sam tag z wartością (na przykład database i database:postgresql).
Takie tagi nie są uznawane za duplikaty.
Przypadki użycia
Oto kilka typowych przypadków użycia tagowania:
-
Oznaczanie zdarzeń wyzwalacza:
- Zdefiniuj tag wyzwalacza (na przykład
scope:performance). - Problemy utworzone przez ten wyzwalacz będą miały tag wyzwalacza.
- Zdefiniuj tag wyzwalacza (na przykład
-
Oznaczanie problemów odziedziczonych z szablonu:
- Zdefiniuj tag szablonu (na przykład
target:mysql). - Problemy utworzone przez wyzwalacze z tego szablonu będą miały tag szablonu.
- Zdefiniuj tag szablonu (na przykład
-
Oznaczanie problemów hosta:
- Zdefiniuj tag hosta (na przykład
service:jira). - Problemy utworzone przez wyzwalacze z tego hosta będą miały tag hosta.
- Zdefiniuj tag hosta (na przykład
-
Filtrowanie powiązanych pozycji:
- Zdefiniuj tag pozycji (na przykład
component:cpu). - W Monitoring → Latest data pozycje można filtrować według tagu
component:cpu.
- Zdefiniuj tag pozycji (na przykład
-
Używanie informacji wyodrębnionych z wartości pozycji jako wartości tagu:
- Zdefiniuj tag z makrem jako wartością tagu (na przykład
tag-name:{{ITEM.VALUE<N>}.regsub()}). - W Monitoring → Problems problemy będą miały wartość tagu rozwiązaną do danych wyodrębnionych z wartości pozycji.
- Zdefiniuj tag z makrem jako wartością tagu (na przykład
-
Identyfikowanie problemów w pliku dziennika i zamykanie ich osobno:
- Zdefiniuj tag wyzwalacza dla wyzwalacza pozycji monitorującej logi, który wyodrębni wartości z wartości pozycji za pomocą makra (na przykład
service:{{ITEM.VALUE<N>}.regsub()}). - W konfiguracji wyzwalacza skonfiguruj korelację zdarzeń:
- ustaw PROBLEM event generation mode na "Multiple";
- ustaw OK event closes na "All problems if tag values match";
- ustaw tag do dopasowania.
- Problemy utworzone przez wyzwalacz pozycji logów będą miały tag wyzwalacza i będą zamykane indywidualnie.
- Zdefiniuj tag wyzwalacza dla wyzwalacza pozycji monitorującej logi, który wyodrębni wartości z wartości pozycji za pomocą makra (na przykład
-
Filtrowanie powiadomień:
- Zdefiniuj tagi wyzwalacza (na przykład
scope:securitydla trigger1 iscope:availabilitydla trigger2). - Użyj filtrowania tagów w warunkach akcji, aby otrzymywać powiadomienia tylko o zdarzeniach zgodnych z danymi tagów.
- Zdefiniuj tagi wyzwalacza (na przykład
-
Identyfikowanie problemów w powiadomieniach:
- Zdefiniuj tagi wyzwalacza.
- Użyj makra {EVENT.TAGS} w powiadomieniu o problemie.
- Powiadomienie o problemie będzie zawierać tagi wyzwalacza, co ułatwi identyfikację, do której aplikacji/usługi należy powiadomienie.
-
Uproszczenie zadań konfiguracyjnych przez użycie tagów szablonu:
- Zdefiniuj tag wyzwalacza szablonu.
- Wyzwalacze utworzone z tego wyzwalacza szablonu będą miały jego tag.
-
Tworzenie wyzwalaczy z tagami z niskopoziomowego wykrywania (LLD):
- Zdefiniuj tag prototypu wyzwalacza z makrem LLD w nazwie lub wartości tagu (na przykład
scope:{#FSNAME}). - Wyzwalacze utworzone z prototypu wyzwalacza będą miały jego tag.
- Zdefiniuj tag prototypu wyzwalacza z makrem LLD w nazwie lub wartości tagu (na przykład
-
Dopasowywanie usług za pomocą tagów usług:
- Zdefiniuj tagi usług.
- Skonfiguruj akcje usług dla usług z pasującymi tagami.
- Dodatkowo użyj tagów usług do powiązania usługi z SLA na potrzeby obliczeń SLA.
-
Łączenie usług z problemami za pomocą tagów problemów usług:
- Zdefiniuj tag problemu w konfiguracji usługi (na przykład
target:mysql). - Problemy z pasującym tagiem zostaną automatycznie skorelowane z usługą, a stan usługi zmieni się zgodnie ze skonfigurowanymi regułami obliczania stanu usługi.
- Zdefiniuj tag problemu w konfiguracji usługi (na przykład
-
Wstrzymywanie problemów, gdy host jest w trybie konserwacji:
- Zdefiniuj tagi w konfiguracji okresu konserwacji.
- Problemy z zdefiniowanymi tagami zostaną wstrzymane.
-
Przyznawanie dostępu grupom użytkowników:
- Zdefiniuj tagi w konfiguracji grupy użytkowników.
- Użytkownicy w grupie użytkowników będą mogli wyświetlać tylko problemy z zdefiniowanymi tagami.
Konfiguracja
Tagi można zdefiniować w dedykowanej karcie, na przykład w konfiguracji wyzwalacza:

Obsługa makr
Wbudowane i makra użytkownika w tagach są rozwijane w momencie wystąpienia zdarzenia. Do czasu wystąpienia zdarzenia makra te będą wyświetlane w Zabbix frontend jako nierozwinięte.
Makra niskopoziomowego wykrywania są rozwijane podczas procesu wykrywania.
Następujące makra mogą być używane w nazwach i wartościach tagów wyzwalacza:
- wbudowane makra {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} oraz {HOST.ID}
- wbudowane makra {INVENTORY.*} (do odwoływania się do wartości inwentarza hosta z jednego lub kilku hostów w wyrażeniu wyzwalacza)
- makra użytkownika oraz makra użytkownika z kontekstem (kontekst może zawierać makra niskopoziomowego wykrywania)
- makra niskopoziomowego wykrywania (tylko w tagach prototypu wyzwalacza)
Następujące makra mogą być używane w nazwach i wartościach tagów szablonu, hosta oraz pozycji/scenariusza WWW:
- wbudowane makra {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} oraz {HOST.ID}
- wbudowane makra {INVENTORY.*}
- makra użytkownika
- makra niskopoziomowego wykrywania (tylko w tagach prototypu hosta i pozycji)
Następujące makra mogą być używane w powiadomieniach opartych na wyzwalaczach:
- wbudowane makra {EVENT.TAGS} oraz {EVENT.RECOVERY.TAGS} (te makra zostaną rozwinięte do listy tagów zdarzenia lub tagów zdarzenia odzyskania rozdzielonej przecinkami)
- wbudowane makra {EVENT.TAGSJSON} oraz {EVENT.RECOVERY.TAGSJSON} (te makra zostaną rozwinięte do tablicy JSON zawierającej obiekty tagów zdarzenia lub obiekty tagów zdarzenia odzyskania)
Wyodrębnianie podciągu w tagach wyzwalacza
Wyodrębnianie podciągu jest obsługiwane podczas wypełniania nazwy tagu lub wartości tagu przy użyciu makra funkcji. Funkcja stosuje wyrażenie regularne do wartości uzyskanej przez obsługiwane makro. Na przykład:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
Jeśli nazwa tagu lub jego wartość przekroczy 255 znaków po rozwinięciu makr, zostanie skrócona do 255 znaków.
Zobacz także: Używanie funkcji makr w makrach niskopoziomowego wykrywania do tagowania zdarzeń.
Wyświetlanie tagów zdarzeń
Tagi, jeśli są zdefiniowane, można wyświetlać wraz z nowymi zdarzeniami w:
- Monitoring → Problemy
- Monitoring → Problemy → Szczegóły zdarzenia
- Pulpity → Widżet Problemy
Kolejność i liczba wyświetlanych tagów są określane przez opcje filtrowania Priorytet wyświetlania tagów oraz Pokaż tagi w Monitoring → Problemy lub w widżecie pulpitu Problemy. Należy pamiętać, że można wyświetlić maksymalnie trzy tagi; jeśli tagów jest więcej, najechanie kursorem na trzy kropki spowoduje wyświetlenie wszystkich tagów w oknie podręcznym.
