- 2 Wstępne przetwarzanie wartości pozycji
- Przegląd
- Konfiguracja
- Obsługiwane transformacje
- Wyrażenie regularne
- Zamień
- Przytnij
- Przycinanie z prawej strony
- Przycinanie z lewej
- XML XPath
- JSON Path
- CSV do JSON
- XML do JSON
- Wartość SNMP walk
- SNMP walk do JSON
- Pobierz wartość SNMP
- Niestandardowy mnożnik
- Prosta zmiana
- Zmiana na sekundę
- Wartość logiczna na dziesiętną
- Ósemkowy na dziesiętny
- Konwersja z systemu szesnastkowego na dziesiętny
- JavaScript
- W zakresie
- Dopasowuje wyrażenie regularne
- Nie pasuje do wyrażenia regularnego
- Sprawdź, czy w formacie JSON wystąpił błąd
- Sprawdź, czy w XML wystąpił błąd
- Sprawdź błąd za pomocą wyrażenia regularnego
- Sprawdź, czy wartość jest nieobsługiwana
- Odrzuć niezmienione
- Odrzucanie niezmienionych wartości z sygnałem heartbeat
- Wzorzec Prometheus
- Prometheus do JSON
- Obsługa makr
- Testowanie
2 Wstępne przetwarzanie wartości pozycji
Przegląd
Wstępne przetwarzanie umożliwia stosowanie przekształceń do odebranych wartości pozycji przed zapisaniem ich do bazy danych. Te przekształcenia/kroki wstępnego przetwarzania są wykonywane przez serwer Zabbix lub proxy (jeśli pozycje są monitorowane przez proxy).
Ta funkcja obsługuje różne przypadki użycia, takie jak:
- konwersja bajtów na bity (np. mnożenie wartości ruchu sieciowego przez „8”);
- obliczanie statystyk na sekundę dla wartości narastających przyrostowo;
- stosowanie wyrażeń regularnych do wyodrębniania lub modyfikowania wartości;
- wykonywanie własnych skryptów na wartościach;
- odrzucanie niezmienionych wartości w celu optymalizacji przechowywania w bazie danych.
Dla pozycji można skonfigurować jeden lub więcej kroków wstępnego przetwarzania. Kroki te są wykonywane w kolejności, w jakiej zostały skonfigurowane.
Jeśli krok wstępnego przetwarzania zakończy się niepowodzeniem, pozycja staje się nieobsługiwana.
Można tego uniknąć dzięki obsłudze błędów Custom on fail (dostępnej dla większości przekształceń), która pozwala odrzucać wartości lub ustawiać wartości niestandardowe.
W przypadku pozycji logów metadane logu (bez wartości) zawsze resetują stan nieobsługiwanej pozycji, ponownie czyniąc ją obsługiwaną.
Dzieje się tak nawet wtedy, gdy początkowy błąd wystąpił po odebraniu wartości logu od agent.
Wszystkie wartości przekazywane do wstępnego przetwarzania są początkowo traktowane jako ciągi znaków. Konwersja do żądanego typu wartości (zgodnie z definicją w konfiguracji pozycji) jest wykonywana na końcu potoku wstępnego przetwarzania. Jednak określone kroki wstępnego przetwarzania mogą wymuszać wcześniejsze konwersje, jeśli jest to wymagane. Szczegółowe informacje techniczne można znaleźć w sekcji Szczegóły wstępnego przetwarzania.
Aby upewnić się, że konfiguracja wstępnego przetwarzania działa zgodnie z oczekiwaniami, możesz ją przetestować.
Zobacz także: Przykłady wstępnego przetwarzania
Konfiguracja
Kroki przetwarzania wstępnego definiuje się na karcie Preprocessing w formularzu konfiguracji pozycji.

Kliknij Add, aby wybrać obsługiwaną transformację.
Pole Type of information jest wyświetlane na dole karty, gdy zdefiniowano co najmniej jeden krok przetwarzania wstępnego. W razie potrzeby można zmienić typ informacji bez opuszczania karty Preprocessing. Szczegółowy opis parametrów znajduje się w sekcji Tworzenie pozycji.
Obsługiwane transformacje
Wszystkie obsługiwane transformacje wymieniono poniżej.
Kliknij nazwę transformacji, aby wyświetlić jej pełne szczegóły.
| Nazwa | Opis | Typ |
|---|---|---|
| Wyrażenie regularne | Dopasuj wartość do wyrażenia regularnego i zastąp ją wymaganym wynikiem. | Tekst |
| Zastąp | Znajdź wyszukiwany ciąg i zastąp go innym ciągiem (lub niczym). | |
| Przytnij | Usuń określone znaki z początku i końca wartości. | |
| Przytnij z prawej | Usuń określone znaki z końca wartości. | |
| Przytnij z lewej | Usuń określone znaki z początku wartości. | |
| XML XPath | Wyodrębnij wartość lub fragment z danych XML za pomocą funkcji XPath. | Dane strukturalne |
| JSON Path | Wyodrębnij wartość lub fragment z danych JSON za pomocą funkcji JSONPath. | |
| CSV do JSON | Przekonwertuj dane pliku CSV do formatu JSON. | |
| XML do JSON | Przekonwertuj dane w formacie XML do formatu JSON. | |
| Wartość SNMP walk | Wyodrębnij wartość według określonej nazwy OID/MIB i zastosuj opcje formatowania. | SNMP |
| SNMP walk do JSON | Przekonwertuj wartości SNMP do formatu JSON. | |
| Pobierz wartość SNMP | Zastosuj opcje formatowania do wartości pobranej za pomocą SNMP get. | |
| Niestandardowy mnożnik | Pomnóż wartość przez określoną liczbę całkowitą lub zmiennoprzecinkową. | Arytmetyka |
| Prosta zmiana | Oblicz różnicę między bieżącą a poprzednią wartością. | Zmiana |
| Zmiana na sekundę | Oblicz szybkość zmiany wartości (różnicę między bieżącą a poprzednią wartością) na sekundę. | |
| Wartość logiczna na dziesiętną | Przekonwertuj wartość z formatu logicznego do dziesiętnego. | Systemy liczbowe |
| Ósemkowa na dziesiętną | Przekonwertuj wartość z formatu ósemkowego do dziesiętnego. | |
| Szesnastkowa na dziesiętną | Przekonwertuj wartość z formatu szesnastkowego do dziesiętnego. | |
| JavaScript | Wprowadź kod JavaScript. | Skrypty niestandardowe |
| W zakresie | Zdefiniuj zakres, w którym powinna znajdować się wartość. | Walidacja |
| Pasuje do wyrażenia regularnego | Określ wyrażenie regularne, do którego musi pasować wartość. | |
| Nie pasuje do wyrażenia regularnego | Określ wyrażenie regularne, do którego wartość nie może pasować. | |
| Sprawdź błąd w JSON | Sprawdź komunikat o błędzie na poziomie aplikacji znajdujący się pod adresem JSONPath. | |
| Sprawdź błąd w XML | Sprawdź komunikat o błędzie na poziomie aplikacji znajdujący się pod adresem XPath. | |
| Sprawdź błąd za pomocą wyrażenia regularnego | Sprawdź komunikat o błędzie na poziomie aplikacji za pomocą wyrażenia regularnego. | |
| Sprawdź, czy wartość jest nieobsługiwana | Sprawdź, czy nie można było pobrać wartości pozycji. | |
| Odrzuć niezmienione | Odrzuć wartość, jeśli nie uległa zmianie. | Ograniczanie |
| Odrzuć niezmienione z sygnałem heartbeat | Odrzuć wartość, jeśli nie uległa zmianie w zdefiniowanym okresie. | |
| Wzorzec Prometheus | Użyj następującego zapytania, aby wyodrębnić wymagane dane z metryk Prometheus. | Prometheus |
| Prometheus do JSON | Przekonwertuj wymagane metryki Prometheus do formatu JSON. |
Jeśli dla wybranej transformacji włączono pole wyboru Niestandardowe działanie w przypadku błędu, możesz je zaznaczyć i określić niestandardowe opcje obsługi błędów: Odrzuć wartość (odrzuć wartość), Ustaw wartość na (ustaw określoną wartość) lub Ustaw błąd na (ustaw określony komunikat o błędzie).
Jeśli krok przetwarzania wstępnego zakończy się niepowodzeniem, pozycja nie stanie się nieobsługiwana, gdy wybrano opcję Odrzuć wartość lub Ustaw wartość na.
Należy pamiętać, że w przypadku kroków przetwarzania wstępnego Zmiana i Ograniczanie Zabbix musi zapamiętać ostatnią wartość, aby obliczyć lub porównać nową wartość zgodnie z wymaganiami.
Te poprzednie wartości są obsługiwane przez menedżera przetwarzania wstępnego.
Jeśli serwer Zabbix lub proxy zostanie uruchomiony ponownie albo zostaną wprowadzone zmiany w krokach przetwarzania wstępnego, ostatnia wartość odpowiedniej pozycji zostanie zresetowana, co skutkuje następującymi sytuacjami:
- w przypadku kroków Prosta zmiana i Zmiana na sekundę następna wartość zostanie zignorowana, ponieważ nie ma poprzedniej wartości, na podstawie której można obliczyć zmianę;
- w przypadku kroków Odrzuć niezmienione i Odrzuć niezmienione z sygnałem heartbeat następna wartość nigdy nie zostanie odrzucona, nawet jeśli zgodnie z regułami odrzucania powinna zostać odrzucona.
Wyrażenie regularne
Dopasuj wartość do wyrażenia regularnego i zastąp ją wymaganym wynikiem.
Parametry:
- pattern - wyrażenie regularne;
- output - szablon formatowania wyniku. Sekwencja escape \N (gdzie N=1…9) jest zastępowana przez N-tą dopasowaną grupę. Sekwencja escape \0 jest zastępowana przez dopasowany tekst.
Uwagi:
- Brak dopasowania wartości wejściowej spowoduje, że pozycja stanie się nieobsługiwana;
- Wyrażenie regularne obsługuje wyodrębnianie maksymalnie 10 przechwyconych grup za pomocą sekwencji \N;
- Więcej informacji i przykładów można znaleźć w sekcji wyrażenia regularne.
Zamień
Znajdź wyszukiwany ciąg i zastąp go innym ciągiem (lub niczym).
Parametry:
- wyszukiwany ciąg - ciąg do znalezienia i zastąpienia, z rozróżnianiem wielkości liter (wymagane);
- zamiennik - ciąg, którym zostanie zastąpiony wyszukiwany ciąg. Ciąg zamiennika może być również pusty, co w praktyce pozwala usunąć wyszukiwany ciąg po jego znalezieniu.
Uwagi:
- Wszystkie wystąpienia wyszukiwanego ciągu zostaną zastąpione;
- Możliwe jest użycie sekwencji ucieczki do wyszukiwania lub zastępowania znaków nowej linii, powrotu karetki, tabulatorów i spacji "\n \r \t \s"; ukośnik odwrotny można zapisać jako "\\", a sekwencje ucieczki można zapisać jako "\\n";
- Escapowanie znaków nowej linii, powrotu karetki i tabulatorów jest wykonywane automatycznie podczas wykrywania niskiego poziomu.
Przytnij
Usuń określone znaki z początku i końca wartości.
Przycinanie z prawej strony
Usuń określone znaki z końca wartości.
Przycinanie z lewej
Usuń określone znaki z początku wartości.
XML XPath
Wyodrębnianie wartości lub fragmentu danych XML za pomocą funkcji XPath.
Uwagi:
- Aby ta opcja działała, serwer Zabbix (lub proxy Zabbix) musi być skompilowany z obsługą libxml;
- Przestrzenie nazw nie są obsługiwane.
Przykłady:
number(/document/item/value) #wyodrębni „10” z <document><item><value>10</value></item></document>
number(/document/item/@attribute) #wyodrębni „10” z <document><item attribute="10"></item></document>
/document/item #wyodrębni „<item><value>10</value></item>” z <document><item><value>10</value></item></document>
JSON Path
Wyodrębnij wartość lub fragment z danych JSON za pomocą funkcji JSONPath.
CSV do JSON
Konwertuj dane pliku CSV do formatu JSON.
Więcej informacji znajduje się tutaj: Wstępne przetwarzanie CSV do JSON.
XML do JSON
Konwertuj dane w formacie XML do JSON.
Więcej informacji znajdziesz w sekcji: Reguły serializacji.
Wartość SNMP walk
Wyodrębnij wartość według określonego OID/nazwy MIB i zastosuj opcje formatowania:
- Bez zmian - zwróć ciąg szesnastkowy jako nieescapowany ciąg szesnastkowy (uwaga: wskazówki wyświetlania są nadal stosowane);
- UTF-8 z hex-STRING - przekonwertuj ciąg szesnastkowy na ciąg UTF-8;
- MAC z hex-STRING - zweryfikuj ciąg szesnastkowy jako adres MAC i zwróć prawidłowy ciąg adresu MAC (gdzie
' 'są zastępowane przez':'); - Liczba całkowita z BITS - przekonwertuj pierwsze 8 bajtów ciągu bitów wyrażonego jako sekwencja znaków szesnastkowych (np. "1A 2B 3C 4D") na 64-bitową liczbę całkowitą bez znaku. W ciągach bitów dłuższych niż 8 bajtów kolejne bajty zostaną zignorowane.
SNMP walk do JSON
Konwertowanie wartości SNMP do formatu JSON.
Określ nazwę pola w formacie JSON oraz odpowiadającą jej ścieżkę OID SNMP. Wartości pól zostaną uzupełnione wartościami ze wskazanej ścieżki OID SNMP.
Uwagi:
- Dostępne są podobne opcje formatowania wartości jak w kroku SNMP walk value;
- Możesz użyć tego kroku przetwarzania wstępnego do wykrywania OID SNMP.
Pobierz wartość SNMP
Zastosuj opcje formatowania do wartości pobranej za pomocą SNMP:
- UTF-8 z Hex-STRING - konwertuje ciąg szesnastkowy na ciąg UTF-8;
- MAC z Hex-STRING - sprawdza poprawność ciągu szesnastkowego jako adresu MAC i zwraca prawidłowy ciąg adresu MAC (gdzie
' 'są zastępowane przez':'); - Liczba całkowita z BITS - konwertuje pierwsze 8 bajtów ciągu bitów wyrażonego jako sekwencja znaków szesnastkowych (np. „1A 2B 3C 4D”) na 64-bitową liczbę całkowitą bez znaku. W ciągach bitów dłuższych niż 8 bajtów kolejne bajty zostaną zignorowane.
Niestandardowy mnożnik
Pomnóż wartość przez określoną liczbę całkowitą lub zmiennoprzecinkową.
Uwagi:
- Użyj tej opcji, aby konwertować wartości otrzymane w KB, MBps itp. na B, Bps.
W przeciwnym razie Zabbix nie będzie mógł poprawnie ustawić prefiksów (K, M, G itd.).
- Pamiętaj, że jeśli typ informacji pozycji to Numeric (unsigned), przychodzące wartości zawierające część ułamkową zostaną obcięte (tzn. „0.9” zmieni się w „0”) przed zastosowaniem niestandardowego mnożnika;
- Jeśli używasz niestandardowego mnożnika lub przechowujesz wartość jako Change per second dla pozycji, których typ informacji ustawiono na Numeric (unsigned), a wynikowa obliczona wartość jest w rzeczywistości liczbą zmiennoprzecinkową, zostanie ona zaakceptowana jako prawidłowa przez obcięcie części dziesiętnej i zapisanie wartości jako liczby całkowitej;
- Obsługiwane są: notacja naukowa, na przykład
1e+70; makra użytkownika i makra LLD; ciągi zawierające makra, na przykład{#MACRO}e+10,{$MACRO1}e+{$MACRO2}. Makra muszą zostać rozwinięte do liczby całkowitej lub zmiennoprzecinkowej.
Prosta zmiana
Oblicza różnicę między bieżącą a poprzednią wartością.
Uwagi:
- Ten krok może być przydatny do pomiaru stale rosnącej wartości;
- Obliczana jako value-prev_value, gdzie value - bieżąca wartość; prev_value - poprzednio otrzymana wartość;
- Dozwolona jest tylko jedna operacja zmiany na pozycję („Prosta zmiana” lub „Zmiana na sekundę”);
- Jeśli bieżąca wartość jest mniejsza niż poprzednia wartość, Zabbix odrzuca tę różnicę (niczego nie zapisuje) i czeka na kolejną wartość.
Zmiana na sekundę
Oblicza szybkość zmiany wartości (różnicę między bieżącą a poprzednią wartością) na sekundę.
Uwagi:
- Ten krok jest przydatny do obliczania szybkości zmian na sekundę stale rosnącej wartości;
- Ponieważ to obliczenie może generować liczby zmiennoprzecinkowe, zaleca się ustawienie opcji „Typ informacji” na Liczba (zmiennoprzecinkowa), nawet jeśli przychodzące wartości surowe są liczbami całkowitymi.
Jest to szczególnie istotne w przypadku małych liczb, dla których część dziesiętna ma znaczenie.
Jeśli wartości zmiennoprzecinkowe są duże i mogą przekroczyć długość pola „float”, przez co cała wartość może zostać utracona, zaleca się użycie opcji Liczba (bez znaku), aby obciąć tylko część dziesiętną.
- Obliczane jako (value-prev_value)/(time-prev_time), gdzie value - bieżąca wartość; prev_value - poprzednio otrzymana wartość; time - bieżący znacznik czasu; prev_time - znacznik czasu poprzedniej wartości;
- Dozwolona jest tylko jedna operacja zmiany na pozycję („Prosta zmiana” lub „Zmiana na sekundę”);
- Jeśli bieżąca wartość jest mniejsza od poprzedniej, Zabbix odrzuca tę różnicę (niczego nie zapisuje) i czeka na kolejną wartość. Umożliwia to prawidłową obsługę na przykład przepełnienia liczników SNMP 32-bitowych.
Wartość logiczna na dziesiętną
Konwertuje wartość z formatu logicznego na dziesiętny.
Uwagi:
- Reprezentacja tekstowa jest tłumaczona na wartość 0 lub 1. W związku z tym „TRUE” jest przechowywane jako 1, a „FALSE” jako 0. Wszystkie wartości są dopasowywane bez uwzględniania wielkości liter. Obecnie rozpoznawane wartości to dla TRUE: true, t, yes, y, on, up, running, enabled, available, ok, master; dla FALSE: false, f, no, n, off, down, unused, disabled, unavailable, err, slave. Ponadto każda niezerowa wartość liczbowa jest uznawana za TRUE, a zero za FALSE.
Ósemkowy na dziesiętny
Konwertuje wartość z formatu ósemkowego na dziesiętny.
Konwersja z systemu szesnastkowego na dziesiętny
Konwertuje wartość z formatu szesnastkowego na dziesiętny.
JavaScript
Wprowadź kod JavaScript w modalnym edytorze, który otwiera się po kliknięciu w polu parametru lub ikonie ołówka obok niego.
Nie używaj niezadeklarowanych przypisań w kodzie JavaScript przetwarzania wstępnego.
Użyj var, aby zadeklarować zmienne lokalne.
Uwagi:
- Dostępna długość kodu JavaScript zależy od używanej bazy danych;
- Więcej informacji można znaleźć tutaj: Przetwarzanie wstępne JavaScript.
W zakresie
Zdefiniuj zakres, w którym powinna znajdować się wartość, określając wartości minimalną/maksymalną (włącznie).
Uwagi:
- Akceptowane są wartości liczbowe (w tym dowolna liczba cyfr, opcjonalna część dziesiętna i opcjonalna część wykładnicza, wartości ujemne);
- Wartość minimalna powinna być mniejsza od maksymalnej;
- Musi istnieć co najmniej jedna wartość;
- Można używać makr użytkownika i makr wykrywania niskiego poziomu.
Dopasowuje wyrażenie regularne
Określ wyrażenie regularne, które musi pasować do wartości.
Nie pasuje do wyrażenia regularnego
Określ wyrażenie regularne, któremu wartość nie może odpowiadać.
Sprawdź, czy w formacie JSON wystąpił błąd
Sprawdź, czy w ścieżce JSONPath znajduje się komunikat o błędzie na poziomie aplikacji.
Zatrzymaj przetwarzanie, jeśli operacja zakończyła się powodzeniem, a komunikat nie jest pusty; w przeciwnym razie kontynuuj przetwarzanie z wartością, która znajdowała się przed tym krokiem wstępnego przetwarzania.
Uwagi:
- Te błędy usług zewnętrznych są zgłaszane użytkownikowi w niezmienionej postaci, bez dodawania informacji o kroku wstępnego przetwarzania;
- W przypadku niepowodzenia analizy nieprawidłowego formatu JSON nie zostanie zgłoszony żaden błąd.
Sprawdź, czy w XML wystąpił błąd
Sprawdź, czy w XPath znajduje się komunikat o błędzie na poziomie aplikacji.
Zatrzymaj przetwarzanie, jeśli operacja zakończyła się powodzeniem, a komunikat nie jest pusty; w przeciwnym razie kontynuuj przetwarzanie z wartością sprzed tego kroku przetwarzania wstępnego.
Uwagi:
- Te błędy usług zewnętrznych są zgłaszane użytkownikowi w niezmienionej postaci, bez dodawania informacji o kroku przetwarzania wstępnego;
- W przypadku niepowodzenia analizy nieprawidłowego XML nie zostanie zgłoszony żaden błąd.
Sprawdź błąd za pomocą wyrażenia regularnego
Sprawdź komunikat o błędzie na poziomie aplikacji za pomocą wyrażenia regularnego.
Zatrzymaj przetwarzanie, jeśli operacja zakończyła się powodzeniem, a komunikat nie jest pusty; w przeciwnym razie kontynuuj przetwarzanie z wartością, która była dostępna przed tym krokiem wstępnego przetwarzania.
Parametry:
- pattern - wyrażenie regularne;
- output - szablon formatowania danych wyjściowych.
Sekwencja specjalna \N (gdzie N=1…9) jest zastępowana przez N-tą dopasowaną grupę.
Sekwencja specjalna \0 jest zastępowana przez dopasowany tekst.
Uwagi:
- Te błędy usług zewnętrznych są zgłaszane użytkownikowi w niezmienionej postaci, bez dodawania informacji o kroku wstępnego przetwarzania.
Sprawdź, czy wartość jest nieobsługiwana
Sprawdź, czy nie można było pobrać wartości pozycji. Określ sposób przetwarzania błędu na podstawie analizy zwróconego komunikatu o błędzie.
Parametry:
- scope - wybierz zakres przetwarzania błędu:
any error - dowolny błąd;
error matches - tylko błąd pasujący do wyrażenia regularnego określonego w polu pattern;
error does not match - tylko błąd, który nie pasuje do wyrażenia regularnego określonego w polu pattern - pattern - wyrażenie regularne, do którego ma pasować błąd.
Jeśli w parametrze zakresu wybrano any error, to pole nie jest wyświetlane.
Jeśli pole jest wyświetlane, jego wypełnienie jest wymagane.
Uwagi:
- Zwykle brak wartości lub niepowodzenie jej pobrania powoduje, że pozycja staje się nieobsługiwana. Ten krok wstępnego przetwarzania umożliwia zmianę tego zachowania.
- Ten krok wstępnego przetwarzania sprawdza tylko, czy nie można było pobrać wartości pozycji. Nie sprawdza na przykład, czy typ pobranej wartości (np. ciąg znaków) jest zgodny z typem informacji pozycji (np. wartością numeryczną); szczegółowe informacje zawiera sekcja Przykłady wstępnego przetwarzania. W przypadku niezgodności typów pozycja może nadal stać się nieobsługiwana po wykonaniu wszystkich kroków wstępnego przetwarzania. Aby sprawdzić niezgodność typów, można na przykład użyć kroku wstępnego przetwarzania Custom multiplier; zobacz Przykłady wstępnego przetwarzania.
- Przechwytywanie grup wyrażenia regularnego jest obsługiwane w polach Set value to lub Set error to. Użyj \N (gdzie N=1…9), aby pobrać N. dopasowaną grupę; użyj \0, aby pobrać dopasowany tekst;
- Te kroki są zawsze wykonywane jako pierwsze kroki wstępnego przetwarzania i po zapisaniu zmian w pozycji są umieszczane nad wszystkimi pozostałymi krokami;
- Obsługiwanych jest wiele kroków Check for not supported value, wykonywanych w określonej kolejności. Krok any error zostanie automatycznie umieszczony jako ostatni krok w tej grupie.
Odrzuć niezmienione
Odrzuć wartość, jeśli nie uległa zmianie.
Uwagi:
- Jeśli wartość zostanie odrzucona, nie jest zapisywana w bazie danych, a serwer Zabbix nie ma wiedzy o tym, że ta wartość została odebrana.
Wyrażenia wyzwalaczy nie będą oceniane, w rezultacie nie zostaną utworzone/rozwiązane żadne problemy dla powiązanych wyzwalaczy.
Funkcje będą działać wyłącznie na podstawie danych, które są faktycznie zapisane w bazie danych.
Ponieważ trendy są tworzone na podstawie danych w bazie danych, jeśli przez godzinę nie zostanie zapisana żadna wartość, to dla tej godziny również nie będzie danych trendów.
- Dla jednej pozycji można określić tylko jedną opcję ograniczania.
Odrzucanie niezmienionych wartości z sygnałem heartbeat
Odrzucaj wartość, jeśli nie zmieniła się w określonym czasie (w sekundach).
Uwagi:
- Obsługiwane są dodatnie wartości całkowite określające liczbę sekund (minimum - 1 sekunda);
- Można używać sufiksów czasu (np.
30s,1m,2h,1d);
- Można używać makr użytkownika i makr wykrywania niskiego poziomu;
- Jeśli wartość zostanie odrzucona, nie zostanie zapisana w bazie danych, a serwer Zabbix nie będzie wiedział, że ta wartość została odebrana.
Wyrażenia wyzwalaczy nie będą obliczane, dlatego dla powiązanych wyzwalaczy nie zostaną utworzone ani rozwiązane żadne problemy.
Funkcje będą działać wyłącznie na podstawie danych faktycznie zapisanych w bazie danych.
Ponieważ trendy są tworzone na podstawie danych w bazie danych, jeśli przez godzinę nie zostanie zapisana żadna wartość, dla tej godziny nie będą również dostępne dane trendów.
- Dla jednej pozycji można określić tylko jedną opcję ograniczania.
Wzorzec Prometheus
Użyj następującego zapytania, aby wyodrębnić wymagane dane z metryk Prometheus.
Więcej informacji znajdziesz w sekcji Sprawdzanie Prometheus.
Prometheus do JSON
Konwertuje wymagane metryki Prometheus do formatu JSON.
Więcej informacji znajdziesz w sekcji Sprawdzanie Prometheus.
Obsługa makr
Makra użytkownika oraz makra użytkownika z kontekstem są obsługiwane w:
- parametrach kroku przetwarzania wstępnego, w tym w kodzie JavaScript;
- parametrach niestandardowej obsługi błędów (pola Ustaw wartość na i Ustaw błąd na).
Kontekst makra jest ignorowany, gdy makro jest zastępowane swoją wartością. Wartość makra jest wstawiana do kodu w postaci niezmienionej; nie ma możliwości dodania dodatkowego escapingu przed umieszczeniem wartości w kodzie JavaScript. Należy pamiętać, że w niektórych przypadkach może to powodować błędy JavaScript.
Testowanie
Zobacz testowanie preprocessing.