Testy te wykorzystują do zbierania danych komunikację z agentem Zabbix.
Istnieją pasywne i aktywne testy agenta. Podczas konfigurowania pozycji można wybrać odpowiedni typ:
W tabelce przedstawione są szczegółowo klucze pozycji, których można używać w pozycjach agenta Zabbix.
Zobacz również:
** Parametry wymagane i opcjonalne **
Parametry bez ostrych nawiasów są wymagane. Parametry oznaczone ostrymi nawiasami < > są opcjonalne.
Klucz | ||||
---|---|---|---|---|
Opis | Zwracana wartość | Parametry | Komentarze | |
agent.hostname | ||||
Zwraca nazwę hosta agenta. | Ciąg znaków | Zwraca aktualną wartość nazwy hosta agenta z pliku konfiguracyjnego. | ||
agent.ping | ||||
Testuje dostępność agenta. | '1' jeżeli agent jest dostępny, w przeciwnym przypadku nic. | Należy użyć funkcji nodata(), żeby sprawdzić, czy host jest niedostępny. | ||
agent.version | ||||
Wersja agenta Zabbix. | Ciąg znaków | Przykład zwracanej wartości: 1.8.2 | ||
kernel.maxfiles | ||||
Maksymalna liczba otwartych plików obsługiwana przez system operacyjny. | Liczba całkowita. | |||
kernel.maxproc | ||||
Maksymalna liczba procesów obsługiwana przez system operacyjny. | Liczba całkowita. | |||
log[plik,<regexp>,<kodowanie>,<maxlinii>,<tryb>,<wyjście>] | ||||
Monitorowanie pliku logu. | Log. | plik - pełna ścieżka i nazwa pliku logu regexp - wyrażenie regularne opisujące wymagany wzorzec kodowanie - identyfikator strony kodowej maxlinii - maksymalna liczba nowych linii na sekundę, jaką agent będzie wysyłał do serwera lub proxy Zabbix. Parametr ten nadpisuje wartość 'MaxLinesPerSecond' z zabbix_agentd.conf tryb - możliwe wartości: all (domyślna), skip (pomija przetwarzanie starszych danych). Parametr tryb obsługiwany jest od wersji 2.0. wyjście - opcjonalny szablon formatowania wyjścia. Sekwencja \0 zamieniana jest na zgodny tekst, a sekwencje \N (gdzie N=1...9) zamieniane są na N-tą zgodną grupę (lub pusty ciąg, jeżeli N przekracza liczbę przechwyconych grup). Jeżeli <wyjście> jest puste - zwracana jest cała linia zawierająca zgodny tekst. Należy zauważyć, że wszystkie globalne typy wyrażeń regularnych z wyjątkiem 'Wynik jest PRAWDZIWY' zawsze zwracają całą linię i parametr <wyjście> jest ignorowany. Parametr wyjście obsługiwany jest od wersji 2.2. |
Pozycja musi być skonfigurowana jako test aktywny. Jeżeli nie będzie pliku lub uprawnienia nie pozwolą na dostęp, pozycja stanie się niewspierana. Przykłady: log[/var/log/syslog] log[/var/log/syslog,error] log[/home/zabbix/logs/logfile,,,100] Dodatkowe informacje można zobaczyć w monitorowaniu logów. |
|
logrt[wzorzec_pliku,<regexp>,<kodowanie>,<maxlinii>,<tryb>,<wyjście>] | ||||
Monitorowanie pliku logu z obsługą rotacji. | Log. | wzorzec_pliku - ścieżka absolutna do pliku i wyrażenie regularne opisujące wzorzec nazwy pliku regexp - wyrażenie regularne opisujące wymagany wzorzec zawartości kodowanie - identyfikator strony kodowej maxlinii - maksymalna liczba nowych linii na sekundę, jaką agent będzie wysyłał do serwera lub proxy Zabbix. Parametr ten nadpisuje wartość 'MaxLinesPerSecond' z zabbix_agentd.conf tryb - możliwe wartości: all (domyślna), skip (pomija przetwarzanie starszych danych). Parametr tryb obsługiwany jest od wersji 2.0. wyjście - opcjonalny szablon formatowania wyjścia. Sekwencja \0 zamieniana jest na zgodny tekst, a sekwencje \N (gdzie N=1...9) zamieniane są na N-tą zgodną grupę (lub pusty ciąg, jeżeli N przekracza liczbę przechwyconych grup). Jeżeli <wyjście> jest puste - zwracana jest cała linia zawierająca zgodny tekst. Należy zauważyć, że wszystkie globalne typy wyrażeń regularnych z wyjątkiem 'Wynik jest PRAWDZIWY' zawsze zwracają całą linię i parametr <wyjście> jest ignorowany. Parametr wyjście obsługiwany jest od wersji 2.2. |
Pozycja musi być skonfigurowana jako test aktywny. Rotacja logu opiera się o ostatni czas modyfikacji plików. Przykłady: logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] - zgodne będą pliki takie jak "logfile1" (nie będzie zgodny ".logfile1") logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] - będzie zbierał dane z plików takich jak "logfile_abc_1" lub "logfile__001". Dodatkowe informacje można zobaczyć w monitorowaniu logów. |
|
net.dns[<ip>,strefa,<typ>,<opóźnienie>,<licznik>] | ||||
Sprawdza, czy uruchomiona jest usługa DNS. | 0 - DNS nie działa (serwer nie odpowiada lub nie powiodło się rozwiązywanie DNS) 1 - DNS działa |
ip - adres IP serwera DNS (należy pozostawić puste dla domyślnego DNS, ignorowane pod Windows) strefa - strefa do testowania DNS typ - typ rekordu zapytania (domyślnie SOA) opóźnienie (ignorowane w Windows) - opóźnienie dla zapytania w sekundach (domyślnie 1 sekunda) licznik (ignorowany w Windows) - liczba prób dla zapytania (domyślnie 2) |
Przykładowy klucz: net.dns[8.8.8.8,zabbix.com,MX,2,1] Możliwe wartości dla typ to: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (z wyjątkiem Windows), HINFO, MINFO, TXT, SRV Typ rekordu SRV obsługiwany jest od wersji agenta Zabbix 1.8.6 (Unix) i 2.0.0 (Windows). Nazwy domen ze znakami narodowymi nie są obsługiwane, zamiast tego należy używać nazw kodowanych z użyciem IDNA. Nazwa przed Zabbix 2.0 (nadal obsługiwana): net.tcp.dns |
|
net.dns.record[<ip>,strefa,<typ>,<opóźnienie>,<licznik>] | ||||
Wykonuje zapytanie DNS. | Przy sukcesie zwraca ciąg znaków zawierający odpowiedni typ informacji. | ip - adres IP serwera DNS (należy pozostawić puste dla domyślnego DNS, ignorowane pod Windows) strefa - strefa do testowania DNS typ - typ rekordu zapytania (domyślnie SOA) opóźnienie (ignorowane w Windows) - opóźnienie dla zapytania w sekundach (domyślnie 1 sekunda) licznik (ignorowany w Windows) - liczba prób dla zapytania (domyślnie 2) |
Przykładowy klucz: net.dns.record[8.8.8.8,zabbix.com,MX,2,1] Możliwe wartości dla typ to: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (z wyjątkiem Windows), HINFO, MINFO, TXT, SRV Typ rekordu SRV obsługiwany jest od wersji agenta Zabbix 1.8.6 (Unix) i 2.0.0 (Windows). Nazwy domen ze znakami narodowymi nie są obsługiwane, zamiast tego należy używać nazw kodowanych z użyciem IDNA. Nazwa przed Zabbix 2.0 (nadal obsługiwana): net.tcp.dns.query |
|
net.if.collisions[if] | ||||
Kolizje poza-oknem. | Liczba kolizji. Liczba całkowita. |
if - interfejs | ||
net.if.discovery | ||||
Lista interfejsów sieciowych. Używana przy wykrywaniu niskopoziomowym. | Obiekt JSON | Wspierane od wersji agenta Zabbix 2.0. Na FreeBSD, OpenBSD i NetBSD wspierane od wersji agenta Zabbix 2.2. Niektóre wersje Windows (na przykład, Server 2008) mogą wymagać zainstalowanych ostatnich poprawek, żeby obsługiwały znaki spoza ASCII w nazwach interfejsów. |
||
net.if.in[if,<tryb>] | ||||
Statystyki ruchu przychodzącego na interfejsie sieciowym. | Liczba całkowita. | if - nazwa interfejsu sieciowego tryb - możliwe wartości: bytes - liczba bajtów (domyślne) packets - liczba pakietów errors - liczba błędów dropped - liczba pakietów odrzuconych |
Nazwy wielobajtowe interfejsów na Windows obsługiwane są od wersji agenta Zabbix 1.8.6. Przykładowe klucze: net.if.in[eth0,errors] net.if.in[eth0] Jeżeli chcemy otrzymać statystyki bajtów na sekundę można ustawić zachowywanie wartości jako Zmiana (prędkość na sekundę). |
|
net.if.out[if,<tryb>] | ||||
Statystyki ruchu wychodzącego na interfejsie sieciowym. | Liczba całkowita. | if - nazwa interfejsu sieciowego tryb - możliwe wartości: bytes - liczba bajtów (domyślne) packets - liczba pakietów errors - liczba błędów dropped - liczba pakietów odrzuconych |
Nazwy wielobajtowe interfejsów na Windows obsługiwane są od wersji agenta Zabbix 1.8.6. Przykładowe klucze: net.if.out[eth0,errors] net.if.out[eth0] Jeżeli chcemy otrzymać statystyki bajtów na sekundę można ustawić zachowywanie wartości jako Zmiana (prędkość na sekundę). |
|
net.if.total[if,<tryb>] | ||||
Statystyki sumaryczne ruchu przychodzącego i wychodzącego na interfejsie sieciowym. | Liczba całkowita. | if - nazwa interfejsu sieciowego tryb - możliwe wartości: bytes - liczba bajtów (domyślne) packets - liczba pakietów errors - liczba błędów dropped - liczba pakietów odrzuconych |
Przykładowe klucze: net.if.total[eth0,errors] net.if.total[eth0] Jeżeli chcemy otrzymać statystyki bajtów na sekundę można ustawić zachowywanie wartości jako Zmiana (prędkość na sekundę). Należy zauważyć, że odrzucone pakiety obsługiwane są tylko wtedy, gdy na naszej platformie działają zarówno net.if.in i net.if.out dla odrzucanych pakietów. |
|
net.tcp.listen[port] | ||||
Sprawdzenie, czy port TCP jest w stanie LISTEN (nasłuchu). | 0 - nie jest 1 - jest w stanie LISTEN |
port - numer portu TCP | Przykład: net.tcp.listen[80] Na Linux-ie obsługiwane od wersji agenta Zabbix 1.8.4 |
|
net.tcp.port[<ip>,port] | ||||
Sprawdzenie, czy jest możliwe utworzenie połączenia z portem TCP o podanym numerze. | 0 - nie można się połączyć 1 - można się połączyć |
ip - adres IP(domyślnie 127.0.0.1) port - numer portu |
Przykład: net.tcp.port[,80] może być używane do testowania dostępności serwera www działającego na porcie 80. Stare nazewnictwo: check_port[*] Do prostego testowania wydajności TCP należy użyć net.tcp.service.perf[tcp,<ip>,<port>] Należy zauważyć, że testy te mogą spowodować pojawienie się dodatkowych komunikatów w logach systemowych (sesje SMTP i SSH zwykle są logowane). |
|
net.tcp.service[usługa,<ip>,<port>] | ||||
Sprawdzenie, czy jest uruchomiona usługa i akceptuje połączenia TCP. | 0 - usługa nie działa 1 - usługa działa |
usługa - jedno z: ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet ip - adres IP (domyślnie 127.0.0.1) port - numer portu (domyślnie używany jest standardowy port usługi) |
Przykładowy klucz: net.tcp.service[ftp,,45] - może być użyty do testowania dostępności serwera FTP na porcie TCP 45. Należy zauważyć, że testy te mogą spowodować pojawienie się dodatkowych komunikatów w logach systemowych (sesje SMTP i SSH zwykle są logowane). Testowanie protokołów szyfrowanych (jak IMAP na porcie 993 lub POP na porcie 995) nie jest aktualnie obsługiwane. Obejściem na to może być użycie net.tcp.port. Testowanie LDAP i HTTPS przez agenta Windows nie jest aktualnie obsługiwane. Należy zauważyć, że test telnet sprawdza znak zachęty (':' na końcu). Stare nazewnictwo: check_service[*] Przed wersją Zabbix 1.8.3 należy używać service.ntp zamiast ntp. Usługi https i telnet obsługiwane są od Zabbix 2.0. |
|
net.tcp.service.perf[usługa,<ip>,<port>] | ||||
Sprawdzenie wydajności usługi. | 0 - usługa nie działa; sekundy - liczba sekund spędzonych na łączeniu się do usługi |
usługa - jedno z: ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet ip - adres IP (domyślnie 127.0.0.1) port - numer portu (domyślnie używany jest standardowy port usługi) |
Przykładowy klucz: net.tcp.service.perf[ssh] - może być użyte do testowania szybkości odpowiedzi z serwera SSH. Testowanie protokołów szyfrowanych (jak IMAP na porcie 993 lub POP na porcie 995) nie jest aktualnie obsługiwane. Obejściem na to może być użycie net.tcp.service.perf[tcp,<ip>,<port>]. Testowanie LDAP i HTTPS przez agenta Windows nie jest aktualnie obsługiwane. Należy zauważyć, że test telnet sprawdza znak zachęty (':' na końcu). Stare nazewnictwo: check_service_perf[*] Przed wersją Zabbix 1.8.3 należy używać service.ntp zamiast ntp. Usługi https i telnet obsługiwane są od Zabbix 2.0. |
|
net.udp.listen[port] | ||||
Sprawdzenie, czy port UDP jest w stanie LISTEN (nasłuchu). | 0 - nie jest 1 - jest w stanie LISTEN |
port - numer portu UDP | Przykład: net.udp.listen[68] Na Linux-ie obsługiwane od wersji agenta Zabbix 1.8.4 |
|
proc.mem[<nazwa>,<użytkownik>,<tryb>,<liniapoleceń>] | ||||
Pamięć używana przez proces określonego użytkownika. | Pamięć używana przez proces (w bajtach). | nazwa - nazwa procesu (domyślnie "all processes") użytkownik - nazwa użytkownika (domyślnie "all users") tryb - możliwe wartości: avg, max, min, sum (domyślne) liniapoleceń - filtr linii poleceń (wyrażenie regularne) |
Przykładowe klucze: proc.mem[,root] - pamięć używana przez wszystkie procesy uruchomione przez użytkownika "root" proc.mem[zabbix_server,zabbix] - pamięć używana przez wszystkie procesy zabbix_server uruchomione przez użytkownika zabbix proc.mem[,oracle,max,oracleZABBIX] - pamięć używana przez najbardziej pamięcio-żerny proces uruchomiony przez użytkownika oracle, zawierający w linii polecenia tekst oracleZABBIX |
|
proc.num[<nazwa>,<użytkownik>,<stan>,<liniapoleceń>] | ||||
Liczba procesów z określonym stanem uruchomionych przez pewnego użytkownika. | Liczba procesów. | nazwa - nazwa procesu (domyślnie "all processes") użytkownik - nazwa użytkownika (domyślnie "all users") stan - możliwe wartości: all (domyślne), run, sleep, zomb liniapoleceń - filtr linii poleceń (wyrażenie regularne) |
Przykładowe klucze: proc.num[,mysql] - liczba procesów uruchomionych przez użytkownika mysql proc.num[apache2,www-data] - liczba procesów apache2 uruchomionych przez użytkownika www-data proc.num[,oracle,sleep,oracleZABBIX] - liczba procesów w stanie sleep (uśpienia) uruchomionych przez użytkownika oracle, zawierających w linii polecenia tekst oracleZABBIX Na Windows, obsługiwane są jedynie parametry nazwa i użytkownik. |
|
sensor[urządzenie,czujnik,<tryb>] | ||||
Odczyt czujnika sprzętowego. | urządzenie - nazwa urządzenia czujnik - nazwa czujnika tryb - możliwe wartości: avg, max, min (jeżeli parametr ten jest pominięty, urządzenie i czujnik są traktowane dosłownie). |
Na Linux-ie 2.4, czyta /proc/sys/dev/sensors. Przykładowy klucz: sensor[w83781d-i2c-0-2d,temp1] Przed wersją Zabbix 1.8.4 używany był format klucza: sensor[temp1]. Na Linux-ie 2.6+,czyta /sys/class/hwmon. Można obejrzeć bardziej szczegółowy opis pozycji czujników na Linux-ie. Na OpenBSD, czyta hw.sensors MIB. Przykładowe klucze: sensor[cpu0,temp0] - temperatura jednego procesora sensor["cpu[0-2]$",temp,avg] - średnia temperatura trzech pierwszych procesorów Obsługiwane na OpenBSD od wersji Zabbix 1.8.4. |
||
system.boottime | ||||
Znacznik czasu uruchomienia systemu. | Liczba całkowita. | Zwracany jest znacznik czasu UNIX (data i czas, z dokładnością do sekundy). | ||
system.cpu.intr | ||||
Przerwania urządzeń. | Liczba całkowita. | |||
system.cpu.load[<cpu>,<tryb>] | ||||
Obciążenie CPU. | Obciążenie procesora. Liczba zmiennoprzecinkowa. |
cpu - możliwe wartości: all (domyślne), percpu (ogólne obciążenie dzielone przez liczbę włączonych CPU) tryb - możliwe wartości: avg1 (średnia z minuty, domyślne), avg5 (średnia z 5-ciu minut), avg15 (średnia z 15-tu minut) |
Przykładowy klucz: system.cpu.load[,avg5] Stare nazewnictwo: system.cpu.loadX Parametr percpu obsługiwany jest od wersji Zabbix 2.0.0. |
|
system.cpu.num[<typ>] | ||||
Liczba CPU. | Liczba dostępnych procesorów. | typ - możliwe wartości: online (domyślne), max |
Przykładowy klucz: system.cpu.num |
|
system.cpu.switches | ||||
Przełączenia kontekstu. | Licznik przełączeń. | Stare nazewnictwo: system[switches] | ||
system.cpu.util[<cpu>,<typ>,<tryb>] | ||||
Wykorzystanie CPU. | Procentowe wykorzystanie procesora. | cpu - numer CPU (domyślnie wszystkie CPU) typ - możliwe wartości: idle, nice, user (domyślne), system (domyślne dla Windows), iowait, interrupt, softirq, steal tryb - możliwe wartości: avg1 (średnia z jednej minuty, domyślne), avg5 (średnia z 5-ciu minut), avg15 (średnia z 15-tu minut) |
Przykładowy klucz: system.cpu.util[0,user,avg5] Stare nazewnictwo: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX |
|
system.hostname[<typ>] | ||||
Zwraca nazwę hosta. | Ciąg znaków | typ (Tylko dla Windows, w innych systemach nie musi być używane) - możliwe wartości: netbios (domyślne) lub host | W Windows wartość pobierana jest przez funkcje GetComputerName() (dla netbios) lub gethostname() (dla host) a w innych systemach przez polecenie "hostname". Parametr typ dla tej pozycji jest obsługiwany od wersji 1.8.6. Przykłady zwracanych wartości: na Linux-ie: system.hostname → linux-w7x1 system.hostname → www.zabbix.com na Windows: system.hostname → WIN-SERV2008-I6 system.hostname[host] → Win-Serv2008-I6LonG Zobacz również bardziej szczegółowy opis. |
|
system.hw.chassis[<info>] | ||||
Zwraca informacje o obudowie | Ciąg znaków | info - jedno z: full (domyślne), model, serial, type lub vendor | Przykład: system.hw.chassis[full] Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop] Klucz ten zależy od dostępności tabeli SMBIOS w pamięci. Wymagane są uprawnienia root-a ponieważ wartość jest pobierana poprzez odczyt pamięci. Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.hw.cpu[<cpu>,<info>] | ||||
Zwraca informacje o CPU | Ciąg znaków lub wartość numeryczna | cpu - numer CPU lub all (domyślne) info - jedno z: full (domyślne), curfreq, maxfreq, model lub vendor |
Przykład: system.hw.cpu[0,vendor] AuthenticAMD Pobiera informacje z /proc/cpuinfo i /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq. Jeżeli określono numer CPU oraz curfreq lub maxfreq, zwracana jest wartość numeryczna (Hz). Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.hw.devices[<typ>] | ||||
Tworzy listę urządzeń PCI lub USB | Wartość tekstowa | typ - pci (domyślne) lub usb | Przykład: system.hw.devices[pci] 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge [..] Zwraca wynik polecenia lspci lub lsusb (wykonywanego bez jakichkolwiek parametrów) Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.hw.macaddr[<interfejs>,<format>] | ||||
Tworzy listę adresów MAC | Ciąg znaków | interfejs - all (domyślne) lub wyrażenie regularne format - full (domyślne) lub short |
Przykład: system.hw.macaddr["eth0$",full] [eth0] 00:11:22:33:44:55 Tworzy listę adresów MAC interfejsów zgodnych z wyrażeniem regularnym interfejs ("all" tworzy listę dla wszystkich interfejsów). Jeżeli jako format podano short, nie są wyświetlane nazwy interfejsów i identyczne adresy MAC. Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.localtime[<typ>] | ||||
Czas systemowy. | Liczba całkowita lub wartość znakowa. | utc - (domyślne) czas od początku Epoki (00:00:00 UTC, 1 Styczeń, 1970), podany w sekundach. local - czas w formacie 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm' Parametry dla tej pozycji obsługiwane są od wersji 2.0. |
||
system.run[polecenie,<tryb>] | ||||
uruchamia określone polecenie na hoście. | Wynik tekstowy wykonania polecenia. | polecenie - polecenie do wykonania tryb - jeden z: wait (default, czekaj na zakończenie wykonania), nowait (nie czekaj) |
Może być zwrócone do 512KB danych, włączając otaczające białe znaki, które są ucinane. Żeby wynik polecenia został przetworzony prawidłowo, musi być tekstem. Przykład: system.run[ls -l /] - szczegółowa lista plików katalogu głównego. Uwaga: Żeby włączyć tę funkcjonalność, plik konfiguracji agenta musi mieć opcję EnableRemoteCommands=1. |
|
system.stat[zasób,<typ>] | ||||
Statystyki pamięci wirtualnej | Wartość liczbowa | ent - liczba procesorów jaką ma prawo uzyskać ta partycja (liczba zmiennoprzecinkowa) kthr,<typ> - informacja o stanie wątków jądra: r - średnia liczba uruchomionych wątków jądra (liczba zmiennoprzecinkowa) b - średnia liczba wątków jądra umieszczona w kolejce oczekiwania Menadżera Pamięci Wirtualnej (liczba zmiennoprzecinkowa) memory,<typ> - informacje o użyciu pamięci wirtualnej i rzeczywistej: avm - aktywne strony wirtualne (liczba całkowita) fre - rozmiar listy wolnych (liczba całkowita) page,<typ> - informacja o błędach stron i aktywności: fi - pliki zestronicowane na sekundę (liczba zmiennoprzecinkowa) fo - pliki odczytane ze stron na sekundę (liczba zmiennoprzecinkowa) pi - strony odczytane z przestrzeni stron (liczba zmiennoprzecinkowa) po - strony wczytane do przestrzeni stron (liczba zmiennoprzecinkowa) fr - strony zwolnione (zamiana stron) (liczba zmiennoprzecinkowa) sr - strony zeskanowane przy pomocy algorytmu wymiany stron (liczba zmiennoprzecinkowa) faults,<typ> - wskaźniki pułapek i przerwań: in - przerwania urządzenia (liczba zmiennoprzecinkowa) sy - wywołania systemowe (liczba zmiennoprzecinkowa) cs - przełączenia kontekstu wątków jądra (liczba zmiennoprzecinkowa) cpu,<typ> - procentowy podział zużycia czasu procesora: us - czas użytkownika (liczba zmiennoprzecinkowa) sy - czas systemowy (liczba zmiennoprzecinkowa) id - czas bezczynności (liczba zmiennoprzecinkowa) wa - czas bezczynności, podczas którego system posiada niezakończone zapytania do dysku/operacje I/O NFS (liczba zmiennoprzecinkowa) pc - liczba używanych fizycznych procesorów (liczba zmiennoprzecinkowa) ec - procent zużycia przydzielonej pojemności (liczba zmiennoprzecinkowa) lbusy - określa procent zużycia procesorów logicznych, występujący podczas wykonywania na poziomie użytkownika lub systemu (liczba zmiennoprzecinkowa) app - określa dostępne procesory fizyczne z puli współdzielonej (liczba zmiennoprzecinkowa) disk,<typ> - statystyki dysku: bps - określa ilość przesyłanych do dysku danych (odczytów lub zapisów) w bajtach na sekundę (liczba całkowita) tps - określa liczbę transferów na sekundę, wykonanych na fizyczny dysk/taśmę (liczba zmiennoprzecinkowa) Pozycja ta jest obsługiwana począwszy od wersji 1.8.1. |
||
system.sw.arch | ||||
Zwraca architekturę programową | Ciąg znaków | Przykład: system.sw.arch i686 Informacja pobierana jest z funkcji uname(). Obsługiwane od wersji agenta Zabbix 2.0. |
||
system.sw.os[<info>] | ||||
Zwraca informacje o systemie operacyjnym | Ciąg znaków | info - jedno z: full (domyślne), short lub name | Przykład: system.sw.os[short] Ubuntu 2.6.35-28.50-generic 2.6.35.11 Informacje pobierane są z (należy zauważyć, że nie wszystkie pliki dostępne są we wszystkich dystrybucjach): [full] - /proc/version [short] - /proc/version_signature [name] - /etc/issue.net Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.sw.packages[<pakiet>,<menadżer>,<format>] | ||||
Tworzy listę zainstalowanych pakietów | Wartość tekstowa | pakiet - all (domyślne) lub wyrażenie regularne menadżer - all (domyślne) lub menadżer pakietów format - full (domyślne) lub short |
Przykład: system.sw.packages[mini,dpkg,short] python-minimal, python2.6-minimal, ubuntu-minimal Tworzy listę (alfabetyczną) zainstalowanych pakietów, których nazwy są zgodne z wyrażeniem regularnym pakiet ("all" wybiera wszystkie). Obsługiwane menadżery pakietów: menadżer (wykonywane polecenie) dpkg (dpkg --get-selections) pkgtool (ls /var/log/packages) rpm (rpm -qa) pacman (pacman -Q) Jeżeli w format wpisano full, pakiety grupowane są według menadżerów pakietów (każdy menadżer w osobnej linii zaczynającej się jego nazwą w nawiasach kwadratowych). jeżeli w format wpisano short, pakiety nie są grupowane i są wypisane w jedenj linii. Obsługiwane od wersji 2.0 agenta Zabbix. |
|
system.swap.in[<urządzenie>,<typ>] | ||||
Statystyki wymiany (z urządzenia do pamięci). | Wartość liczbowa | urządzenie - urządzenie użyte do wymiany (domyślne to all) typ - możliwe wartości: count (liczba wymian), sectors (wymienione sektory), pages (wymienione strony). Szczegóły na temat wartości domyślnych można zobaczyć w opisie kluczy wspieranych przez platformę. |
Przykładowy klucz: system.swap.in[,pages] Źródłem informacji są: Linux 2.4: /proc/swaps, /proc/partitions, /proc/stat Linux 2.6: /proc/swaps, /proc/diskstats, /proc/vmstat |
|
system.swap.out[<urządzenie>,<typ>] | ||||
Statystyki wymiany (z pamięci do urządzenia). | Wartość liczbowa | urządzenie - urządzenie użyte do wymiany (domyślne to all) typ - możliwe wartości: count (liczba wymian), sectors (wymienione sektory), pages (wymienione strony). Szczegóły na temat wartości domyślnych można zobaczyć w opisie kluczy wspieranych przez platformę. |
Przykładowy klucz: system.swap.out[,pages] Źródłem informacji są: Linux 2.4: /proc/swaps, /proc/partitions, /proc/stat Linux 2.6: /proc/swaps, /proc/diskstats, /proc/vmstat |
|
system.swap.size[<urządzenie>,<typ>] | ||||
Rozmiar przestrzeni wymiany. | Liczba bajtów lub procentowo1. | urządzenie - urządzenie użyte do wymiany (domyślne to all) typ - możliwe wartości: free (wolna przestrzeń wymiany, domyślne), pfree (wolna przestrzeń wymiany, procentowo), pused (użyta przestrzeń wymiany, procentowo), total (ogólna przestrzeń wymiany), used (użyta przestrzeń wymiany) |
Przykładowy klucz: system.swap.size[,pfree] - wolna przestrzeń wymiany, procentowo Stare nazewnictwo: system.swap.free, system.swap.total |
|
system.uname | ||||
Zwraca szczegółowe informacje o hoście. | Ciąg znaków | Przykład zwracanych wartości: FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386 Począwszy od wersji Zabbix 2.2.0, wartość dla tej pozycji ustalana jest na podstawie wywołania systemowego uname(), we wcześniejszych wersjach ustalana była na podstawie wywołania polecenia Unix "uname -a". Dlatego, wartość tej pozycji może różnić się od wyniku "uname -a" i może nie zawierać dodatkowych informacji, które pokazuje "uname -a" bazując na innych źródłach. |
||
system.uptime | ||||
Czas działania systemu w sekundach. | Liczba sekund. | W konfiguracji pozycji, można użyć jednostek s lub uptime, żeby otrzymać sensowne wartości. | ||
system.users.num | ||||
Liczba zalogowanych użytkowników. | Liczba użytkowników. | Do otrzymania wartości po stronie agenta wykorzystywane jest polecenie who. | ||
vfs.dev.read[<urządzenie>,<typ>,<tryb>] | ||||
Statystyki odczytu dysku. | Liczba całkowita jeżeli typ to: sectors, operations, bytes Liczba zmiennoprzecinkowa jeżeli typ to: sps, ops, bps |
urządzenie - urządzenie dyskowe (domyślne to "all"2) typ - możliwe wartości: sectors, operations, bytes, sps, ops, bps (musi być określone, ponieważ wartość domyślna różni się w zależności od systemu operacyjnego). sps, ops, bps oznacza odpowiednio: sektory, operacje, bajty na sekundę tryb - możliwe wartości: avg1 (średnia z jednej minuty, domyślne), avg5 (średnia z pięciu minut), avg15 (średnia z 15-tu minut). Uwaga: Trzeci parametr obsługiwany jest jedynie wtedy, gdy typ to: sps, ops, bps. |
Wartości domyślne parametru 'typ' dla różnych systemów operacyjnych: FreeBSD - bps Linux - sps OpenBSD - operations Solaris - bytes Przykładowy klucz: vfs.dev.read[,operations] Stare nazewnictwo: io[*] Użycie parametrów typ: ops, bps i sps na obsługiwanych platformach zwykle ograniczone jest do 8-iu urządzeń (7 indywidualnych urządzeń i "all"). Począwszy od Zabbix 2.0.1 limit ten został zwiększony do 1024 (1023 indywidualnych urządzeń i "all"). Obsługuje LVM od Zabbix 1.8.6. Do Zabbix 1.8.6, można było używać wyłącznie nazw względnych (na przykład, sda), począwszy od 1.8.6 można używać opcjonalnie prefiksu /dev/ (na przykład, /dev/sda) |
|
vfs.dev.write[<urządzenie>,<typ>,<tryb>] | ||||
Statystyki zapisu dysku. | Liczba całkowita jeżeli typ to: sectors, operations, bytes Liczba zmiennoprzecinkowa jeżeli typ to: sps, ops, bps |
urządzenie - urządzenie dyskowe (domyślne to "all"2) typ - jedno z: sectors, operations, bytes, sps, ops, bps (musi być określone, ponieważ wartość domyślna różni się w zależności od systemu operacyjnego). sps, ops, bps oznacza odpowiednio: sektory, operacje, bajty na sekundę tryb - jedno z: avg1 (domyślne), avg5 (średnia z 5-ciu minut), avg15. Uwaga: Trzeci parametr obsługiwany jest jedynie wtedy, gdy typ to: sps, ops, bps. |
Wartości domyślne parametru 'typ' dla różnych systemów operacyjnych: FreeBSD - bps Linux - sps OpenBSD - operations Solaris - bytes Przykład: vfs.dev.write[,operations] Stare nazewnictwo: io[*] Użycie parametrów typ: ops, bps i sps na obsługiwanych platformach zwykle ograniczone jest do 8-iu urządzeń (7 indywidualnych urządzeń i "all"). Począwszy od Zabbix 2.0.1 limit ten został zwiększony do 1024 (1023 indywidualnych urządzeń i "all"). Obsługuje LVM od Zabbix 1.8.6. Do Zabbix 1.8.6, można było używać wyłącznie nazw względnych (na przykład, sda), począwszy od 1.8.6 można używać opcjonalnie prefiksu /dev/ (na przykład, /dev/sda) |
|
vfs.file.cksum[plik] | ||||
Oblicza sumę kontrolną | Suma kontrolna pliku, obliczona według algorytmu użytego w poleceniu UNIX cksum. | plik - pełna ścieżka do pliku | Przykład zwracanych wartości: 1938292000 Przykład: vfs.file.cksum[/etc/passwd] Stare nazewnictwo: cksum Ograniczenie rozmiaru pliku zależy od obsługi dużych plików. |
|
vfs.file.contents[plik,<kodowanie>] | ||||
Pobiera zawartość pliku | Zawartość lub pusty ciąg, jeżeli plik jest pusty lub zawiera jedynie znaki końca linii (LF/CR). | plik - pełna ścieżka do pliku | Przykład: vfs.file.contents[/etc/passwd] Pozycja jest ograniczona do plików nie dłuższych niż 64 KB. Obsługiwane od wersji agenta Zabbix 2.0. |
|
vfs.file.exists[plik] | ||||
Sprawdza, czy plik istnieje | 1 - istnieje zwykły plik lub link(symboliczny lub twardy) do zwykłego pliku. 0 - w przeciwnym przypadku |
plik - full path to file | Przykład: vfs.file.exists[/tmp/application.pid] Wartość zwracana zależy od makra S_ISREG POSIX. Ograniczenie rozmiaru pliku zależy od obsługi dużych plików. |
|
vfs.file.md5sum[plik] | ||||
Suma kontrolna MD5 pliku | Skrót MD5 pliku. | plik - pełna ścieżka do pliku | Przykład zwracanych wartości: b5052decb577e0fffd622d6ddc017e82 Przykład: vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf] Ograniczenie rozmiaru pliku (64 MB) dla tej pozycji zostało usunięte w wersji 1.8.6. Ograniczenie rozmiaru pliku zależy od obsługi dużych plików. |
|
vfs.file.regexp[plik,regexp,<kodowanie>,<linia startowa>,<linia końcowa>,<wyjście>] | ||||
Szuka ciągu w pliku. | Linia zawierająca zgodny ciąg, lub określona przez opcjonalny parametr <wyjście>. Pusty ciąg, jeżeli żadna linia nie jest zgodna z wyrażeniem regularnym. |
plik - pełna ścieżka do pliku regexp - wyrażenie regularne GNU kodowanie - Code Page identifier linia startowa - numer pierwszej linii do wyszukiwania. Domyślnie to pierwsza linia pliku. linia końcowa - numer ostatniej linii do wyszukiwania. Domyślnie to ostatnia linia pliku. wyjście - opcjonalny szablon formatowania wyjścia. Sekwencja \0 zamieniana jest na zgodny tekst, a sekwencje \N (gdzie N=1...9) zamieniane są na N-tą zgodną grupę (lub pusty ciąg, jeżeli N przekracza liczbę przechwyconych grup). Jeżeli <wyjście> pozostanie puste - zwracana jest cała linia zawierająca zgodny tekst. Parametry linia startowa, linia końcowa i wyjście obsługiwane są od wersji 2.2. |
Zwracana jest jedynie pierwsza zgodna linia. Przykłady: vfs.file.regexp[/etc/passwd,zabbix] vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1] vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1] - pobranie identyfikatora użytkownika zabbix |
|
vfs.file.regmatch[plik,regexp,<kodowanie>,<linia startowa>,<linia końcowa>] | ||||
Szuka ciągu w pliku | 0 - nie znaleziono wyrażenia 1 - znaleziono |
plik - pełna ścieżka do pliku regexp - wyrażenie regularne GNU kodowanie - identyfikator Strony kodowej linia startowa - numer pierwszej linii do wyszukiwania. Domyślnie to pierwsza linia pliku. linia końcowa - numer ostatniej linii do wyszukiwania. Domyślnie to ostatnia linia pliku. Parametry linia startowa i linia końcowa obsługiwane są od wersji 2.2. |
Przykład: vfs.file.regmatch[/var/log/app.log,error] | |
vfs.file.size[plik] | ||||
Rozmiar pliku | Rozmiar w bajtach. | plik - pełna ścieżka do pliku | Plik musi mieć prawa do odczytu dla użytkownika zabbix Przykład: vfs.file.size[/var/log/syslog] Ograniczenie rozmiaru pliku zależy od obsługi dużych plików. |
|
vfs.file.time[plik,<tryb>] | ||||
Informacje o czasie pliku. | Znacznik czasu Unix. | plik - pełna ścieżka do pliku tryb - jeden z: modify (domyślne, czas modyfikacji), access - ostatni czas dostępu, change - ostatni czas zmiany |
Przykład: vfs.file.time[/etc/passwd,modify] Ograniczenie rozmiaru pliku zależy od obsługi dużych plików. |
|
vfs.fs.discovery | ||||
Tworzy listę zamontowanych systemów plików. Używana przy wykrywaniu niskopoziomowym. | Obiekt JSON | Obsługiwane od wersji agenta Zabbix 2.0. | ||
vfs.fs.inode[fs,<tryb>] | ||||
Liczba inodes | Wartość liczbowa | fs - system plików tryb - jeden z: total (domyślne), free, used, pfree (free, procentowo), pused (used, procentowo) |
Przykład: vfs.fs.inode[/,pfree] Stare nazewnictwo: vfs.fs.inode.free[*], vfs.fs.inode.pfree[*], vfs.fs.inode.total[*] | |
vfs.fs.size[fs,<tryb>] | ||||
Przestrzeń dyskowa | Przestrzeń dyskowa w bajtach | fs - system plików tryb - jeden z: total (domyślne), free, used, pfree (free, procentowo), pused (used, procentowo) |
W przypadku zamontowanych wolumenów, zwracana jest przestrzeń dyskowa dla lokalnego systemu plików. Przykład: vfs.fs.size[/tmp,free] Stare nazewnictwo: vfs.fs.free[*], vfs.fs.total[*], vfs.fs.used[*], vfs.fs.pfree[*], vfs.fs.pused[*] | |
vm.memory.size[<tryb>] | ||||
Rozmiar pamięci | Rozmiar pamięci w bajtach lub procent ogólnej pamięci | tryb - jeden z: total (domyślne), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired, used, pused, available, pavailable | Stare nazewnictwo: vm.memory.buffers, vm.memory.cached, vm.memory.free, vm.memory.shared, vm.memory.total Pozycja vm.memory.size[] akceptuje trzy kategorie parametrów. Pierwsza kategoria zawiera jedynie total - ogólna ilość pamięci. Druga kategoria zawiera typy pamięci zależne od platformy: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired. Trzecia kategoria to przybliżona ilość pamięci użytej i dostępnej: used, pused, available, pavailable. Zobacz dokładny opis parametrów vm.memory.size. |
|
web.page.get[host,<ścieżka>,<port>] | ||||
Pobiera zawartość strony www | Źródło strony www jako tekst | host - nazwa hosta ścieżka - ścieżka do dokumentu HTML (domyślnie /) port - numer portu (domyślnie 80) |
Przy błędzie zwraca pusty ciąg. Przykład: web.page.get[www.zabbix.com,index.php,80] |
|
web.page.perf[host,<ścieżka>,<port>] | ||||
Pobiera czas ładowania całej strony www | Czas w sekundach | host - nazwa hosta ścieżka - ścieżka do dokumentu HTML (domyślnie /) port - numer portu (domyślnie 80) |
Przy błędzie zwraca 0. Przykład: web.page.perf[www.zabbix.com,index.php,80] |
|
web.page.regexp[host,<ścieżka>,<port>,<regexp>,<długość>,<wyjście>] | ||||
Szyka ciągu na stronie www. | Zgodny ciąg lub określony przez opcjonalny parametr <wyjście>. Pusty ciąg, jeżeli nie znaleziono zgodnych teskstów. |
host - nazwa hosta ścieżka - ścieżka do dokumentu HTML (domyślnie /) port - numer portu (domyślnie 80) regexp - wyrażenie regularne GNU length - maksymalna liczba zwracanych znaków output - opcjonalny szablon formatowania wyjścia. Sekwencja \0 zamieniana jest na zgodny tekst, a sekwencje \N (gdzie N=1...9) zamieniane są na N-tą zgodną grupę (lub pusty ciąg, jeżeli N przekracza liczbę przechwyconych grup). Jeżeli <wyjście> pozostanie puste - zwracana jest cała linia zawierająca zgodny tekst. Parametr wyjście obsługiwany jest od wersji 2.2. |
Przy błędzie zwraca pusty ciąg (brak zgodności). Przykład: web.page.regexp[www.zabbix.com,index.php,80,OK,2] |
[1] Klucz system.swap.size może zwracać niepoprawne wartości na zwirtualizowanych platformach Windows (VMware ESXi, VirtualBox). W takim przypadku należy użyć klucza perf_counter[\700(_Total)\702], żeby otrzymać poprawne procentowe użycie przestrzeni wymiany.
[2] Jeżeli w trzecim parametrze kluczy vfs.dev.* użyto wartości domyślnej "all", wtedy klucze zwracać będą statystyki sumaryczne, włączając w to: wszystkie urządzenia blokowe jak sda, sbd i ich partycje sda1, sda2, sdb3 ..., urządzenia złożone (macierze raid) bazujące na tych urządzeniach blokowych/partycjach oraz wolumeny logiczne (LVM) bazujące na tych urządzeniach blokowych/partycjach.
W takim przypadku zwracane wartości powinny być traktowane jako wartości względne (zmienne w czasie) a nie jako wartości absolutne.
Uwaga specyficzna dla Linux-a. Agent Zabbix musi mieć prawa do odczytu do systemu plików /proc. Poprawki jądra z www.grsecurity.org ograniczają prawa dostępu dla nieuprawionych użytkowników.