12 Pozycje trapper

Przegląd

Pozycje trapper akceptują dane przychodzące zamiast je odpytywać. Jest to przydatne w przypadku wszelkich danych, które chcesz wysyłać do Zabbix.

Konfiguracja

Aby skonfigurować pozycję trapper:

  1. Przejdź do Data collectionHosts.
  2. Kliknij Items w wierszu hosta.
  3. Kliknij Create item.
  4. Wprowadź parametry pozycji w formularzu konfiguracji.

Wszystkie wymagane pola wejściowe są oznaczone czerwoną gwiazdką.

Pola wymagające podania określonych informacji dla pozycji trapper to:

Type Wybierz „Zabbix trapper”.
Key Wprowadź klucz, który będzie używany do rozpoznawania pozycji podczas wysyłania danych do serwera Zabbix.
Type of information Wybierz typ informacji, który będzie odpowiadał formatowi wysyłanych danych.
Allowed hosts Lista adresów IP rozdzielonych przecinkami (opcjonalnie w notacji CIDR) lub nazw DNS.

Jeśli parametr jest określony, połączenia przychodzące będą akceptowane tylko od hostów wymienionych tutaj.
Jeśli obsługa IPv6 jest włączona, wtedy „127.0.0.1”, „::127.0.0.1”, „::ffff:127.0.0.1” są traktowane jednakowo, a „::/0” pozwoli na dowolny adres IPv4 lub IPv6. „0.0.0.0/0” może być użyte do zezwolenia na dowolny adres IPv4.

Zwróć uwagę, że „adresy IPv6 zgodne z IPv4” (prefiks 0000::/96) są obsługiwane, ale ich użycie jest odradzane przez RFC4291.

Przykład: 127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST}

Obsługiwane są spacje, makra użytkownika oraz makra hosta {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN}.

Przed wysłaniem wartości może być konieczne odczekanie do 60 sekund po zapisaniu pozycji, aż serwer Zabbix uwzględni zmiany po aktualizacji pamięci podręcznej konfiguracji.

Wysyłanie danych

Wysyłanie danych do serwera lub proxy Zabbix jest możliwe przy użyciu narzędzia Zabbix sender lub protokołu Zabbix sender. Wysyłanie danych do serwera Zabbix jest również możliwe przy użyciu metody API history.push.

Zabbix sender

Aby wysłać dane do serwera lub proxy Zabbix przy użyciu narzędzia Zabbix sender, możesz uruchomić następujące polecenie, aby wysłać „wartość testową”:

zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"

Aby wysłać „wartość testową”, używane są następujące opcje polecenia:

  • -z — określa adres IP serwera Zabbix
  • -p — określa numer portu serwera Zabbix (domyślnie 10051)
  • -s — określa hosta (upewnij się, że używasz technicznej, a nie widocznej nazwy hosta)
  • -k — określa klucz pozycji skonfigurowanej w pozycji trapper
  • -o — określa wartość do wysłania

Proces Zabbix trapper nie rozwija makr użytych w kluczu pozycji podczas sprawdzania istnienia odpowiedniego klucza pozycji dla docelowego hosta.

Więcej informacji o komunikacji między Zabbix sender a serwerem lub proxy Zabbix można znaleźć w sekcji protokół Zabbix sender.

history.push

Aby wysłać dane do serwera Zabbix za pomocą metody API history.push, można wykonać następujące żądanie HTTP POST zawierające przykładowe wartości testowe:

curl --request POST \
  --url 'https://example.com/zabbix/api_jsonrpc.php' \
  --header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
  --header 'Content-Type: application/json-rpc' \
  --data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'

Jeśli żądanie jest poprawne, odpowiedź zwrócona przez API może wyglądać następująco:

{
    "jsonrpc": "2.0",
    "result": {
        "response": "success",
        "data": [
            {
                "itemid": "10600"
            },
            {
                "itemid": "10601",
                "error": "Item is disabled."
            },
            {
                "error": "No permissions to referred object or it does not exist."
            }
        ]
    },
    "id": 1
}

Błędy w danych odpowiedzi wskazują, że wysyłanie danych dla określonych pozycji nie przeszło walidacji przez serwer Zabbix. Może się tak zdarzyć z następujących powodów:

  • użytkownik wysyłający dane nie ma uprawnień read do hosta danej pozycji;
  • host jest wyłączony lub znajduje się w trybie maintenance bez zbierania danych;
  • pozycja nie istnieje lub nie została jeszcze uwzględniona w pamięci podręcznej konfiguracji serwera;
  • pozycja jest wyłączona lub jej typ jest inny niż Zabbix trapper lub HTTP agent (z włączonym trappingiem);
  • adres IP lub DNS użytkownika nie jest ustawiony na liście Allowed hosts pozycji;
  • inna pozycja ma wartość z duplikującym się znacznikiem czasu na poziomie nanosekund.

Brak błędów oznacza, że wysłane wartości zostały przyjęte do przetwarzania, które obejmuje preprocessing (jeśli występuje), przetwarzanie wyzwalaczy oraz zapis do bazy danych. Należy pamiętać, że przetwarzanie przyjętej wartości również może się nie powieść (na przykład podczas preprocessing), co spowoduje odrzucenie wartości.

Więcej informacji o pracy z Zabbix API można znaleźć w sekcji API.

Wyświetlanie danych

Po wysłaniu danych możesz przejść do MonitoringNajnowsze dane, aby zobaczyć wynik:

Jeśli zostanie wysłana pojedyncza wartość liczbowa, wykres danych pokaże poziomą linię po lewej i prawej stronie punktu czasowego tej wartości.