- 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
- Szesnastkowy 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
- Sprawdzanie błędu za pomocą wyrażenia regularnego
- Sprawdź, czy wartość jest nieobsługiwana
- Odrzuć niezmienione
- Odrzucaj niezmienione 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 są definiowane na karcie Przetwarzanie wstępne formularza konfiguracji pozycja.

Kliknij Dodaj, aby wybrać obsługiwaną transformację.
Pole Typ informacji 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 Przetwarzanie wstępne. 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 | Dopasowuje wartość do wyrażenia regularnego i zastępuje ją wymaganym wynikiem. | Tekst |
| Zastąp | Wyszukuje ciąg znaków i zastępuje go innym ciągiem (lub niczym). | |
| Przytnij | Usuwa określone znaki z początku i końca wartości. | |
| Przytnij z prawej | Usuwa określone znaki z końca wartości. | |
| Przytnij z lewej | Usuwa określone znaki z początku wartości. | |
| XML XPath | Wyodrębnia wartość lub fragment z danych XML za pomocą funkcji XPath. | Dane strukturalne |
| JSON Path | Wyodrębnia wartość lub fragment z danych JSON za pomocą funkcji JSONPath. | |
| CSV do JSON | Konwertuje dane pliku CSV do formatu JSON. | |
| XML do JSON | Konwertuje dane w formacie XML do formatu JSON. | |
| Wartość SNMP walk | Wyodrębnia wartość według określonej nazwy OID/MIB i stosuje opcje formatowania. | SNMP |
| SNMP walk do JSON | Konwertuje wartości SNMP do formatu JSON. | |
| Wartość SNMP get | Stosuje opcje formatowania do wartości SNMP get. | |
| Niestandardowy mnożnik | Mnoży wartość przez określoną liczbę całkowitą lub zmiennoprzecinkową. | Arytmetyka |
| Prosta zmiana | Oblicza różnicę między bieżącą a poprzednią wartością. | Zmiana |
| Zmiana na sekundę | Oblicza szybkość zmiany wartości (różnicy między bieżącą a poprzednią wartością) na sekundę. | |
| Wartość logiczna na dziesiętną | Konwertuje wartość z formatu logicznego do dziesiętnego. | Systemy liczbowe |
| Ósemkowa na dziesiętną | Konwertuje wartość z formatu ósemkowego do dziesiętnego. | |
| Szesnastkowa na dziesiętną | Konwertuje wartość z formatu szesnastkowego do dziesiętnego. | |
| JavaScript | Wprowadza kod JavaScript. | Skrypty niestandardowe |
| W zakresie | Definiuje zakres, w którym powinna znajdować się wartość. | Walidacja |
| Pasuje do wyrażenia regularnego | Określa wyrażenie regularne, do którego wartość musi pasować. | |
| Nie pasuje do wyrażenia regularnego | Określa wyrażenie regularne, do którego wartość nie może pasować. | |
| Sprawdź błąd w JSON | Sprawdza komunikat o błędzie na poziomie aplikacji znajdujący się pod adresem JSONPath. | |
| Sprawdź błąd w XML | Sprawdza komunikat o błędzie na poziomie aplikacji znajdujący się pod adresem XPath. | |
| Sprawdź błąd za pomocą wyrażenia regularnego | Sprawdza komunikat o błędzie na poziomie aplikacji za pomocą wyrażenia regularnego. | |
| Sprawdź, czy wartość jest nieobsługiwana | Sprawdza, czy nie można było pobrać wartości pozycji. | |
| Odrzuć niezmienione | Odrzuca wartość, jeśli nie uległa zmianie. | Ograniczanie |
| Odrzuć niezmienione z sygnałem heartbeat | Odrzuca wartość, jeśli nie uległa zmianie w określonym czasie. | |
| Wzorzec Prometheus | Używa następującego zapytania do wyodrębnienia wymaganych danych z metryk Prometheus. | Prometheus |
| Prometheus do JSON | Konwertuje wymagane metryki Prometheus do formatu JSON. |
Jeśli dla wybranej transformacji włączono pole wyboru Niestandardowe działanie w przypadku błędu, można je zaznaczyć i określić niestandardowe opcje obsługi błędów: Odrzuć wartość (odrzuca wartość), Ustaw wartość na (ustawia określoną wartość) lub Ustaw błąd na (ustawia określony komunikat o błędzie).
Jeśli krok wstępnego przetwarzania zakończy się niepowodzeniem, pozycja nie otrzyma statusu nieobsługiwanej, gdy wybrano opcję Odrzuć wartość lub Ustaw wartość na.
Należy pamiętać, że w przypadku kroków wstępnego przetwarzania 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 wstępnego przetwarzania.
Jeśli serwer Zabbix lub proxy zostanie uruchomiony ponownie albo zostaną wprowadzone zmiany w krokach wstępnego przetwarzania, 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 ucieczki \N (gdzie N=1…9) jest zastępowana przez N-tą dopasowaną grupę. Sekwencja ucieczki \0 jest zastępowana dopasowanym tekstem.
Uwagi:
- Brak dopasowania wartości wejściowej spowoduje, że pozycja będzie nieobsługiwana;
- Wyrażenie regularne obsługuje wyodrębnianie maksymalnie 10 przechwyconych grup za pomocą sekwencji \N;
- Więcej informacji można znaleźć w sekcji wyrażenia regularne, w której przedstawiono przykłady.
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 dotyczące 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 przypadku ciągów bitów dłuższych niż 8 bajtów kolejne bajty zostaną zignorowane.
SNMP walk do JSON
Konwertuje 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 pobieranej wartości 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 przypadku ciągów 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 przekonwertować 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 z częścią 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 z typem informacji ustawionym na Numeric (unsigned), a wynikowa obliczona wartość jest w rzeczywistości liczbą zmiennoprzecinkową, obliczona wartość nadal zostanie zaakceptowana jako poprawna 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 mierzenia stale rosnącej wartości;
- Obliczana jako value-prev_value, gdzie value - bieżąca wartość; prev_value - poprzednio otrzymana wartość;
- Dla jednej pozycji dozwolona jest tylko jedna operacja zmiany („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óżnicy 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.
Ma to szczególne znaczenie 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ść. Pomaga to prawidłowo obsługiwać na przykład przepełnienie 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.
Szesnastkowy 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 obowiązywała przed tym krokiem 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 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:
- Błędy tych 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.
Sprawdzanie błędu 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 obowiązywała przed tym krokiem wstępnego przetwarzania.
Parametry:
- pattern - wyrażenie regularne;
- output - szablon formatowania danych wyjściowych.
Sekwencja ucieczki \N (gdzie N=1…9) jest zastępowana przez N-tą dopasowaną grupę.
Sekwencja ucieczki \0 jest zastępowana przez dopasowany tekst.
Uwagi:
- Te błędy usługi zewnętrznej 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łędów:
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 używane do dopasowania błędu.
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 niemożność 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. liczbowym); 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-tą 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.
Odrzucaj niezmienione 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.