Flexible parameter is parameter which accepts argument.
For example, diskfree[*] is flexible parameter. * is any string that will be passed as argument of the parameter. diskfree[/], diskfree[/opt] - correct definitions.
Simple checks does not require any agent running on a host being monitored. ZABBIX server will make direct
connections to get status of the service. ZABBIX will use host name or IP address defined in the host details.
| Key | Description | Return value | Comments |
| icmpping | Checks if server accessible by ICMP ping | 0 - ICMP ping fails
1 - ICMP ping successful | One of zabbix_suckerd processes performs ICMP pings once per PingerFrequency seconds. |
| icmppingsec | Return ICMP ping response time | Number of seconds
Example:
0.02 | |
| ftp | Checks if FTP server is running and accepting connections | 0 - FTP server is down
1 - FTP server is running | |
| http | Checks if HTTP (WEB) server is running and accepting connections | 0 - HTTP server is down
1 - HTTP server is running | |
| imap | Checks if IMAP server is running and accepting connections | 0 - IMAP server is down
1 - IMAP server is running | |
| nntp | Checks if NNTP server is running and accepting connections | 0 - NNTP server is down
1 - NNTP server is running | |
| pop | Checks if POP server is running and accepting connections | 0 - POP server is down
1 - POP server is running | |
| smtp | Checks if SMTP server is running and accepting connections | 0 - SMTP server is down
1 - SMTP server is running | |
| ssh | Checks if SSH server is running and accepting connections | 0 - SSH server is down
1 - SSH server is running | |
| tcp,port | Checks if TCP service is running and accepting connections on port | 0 - the serivce on the port is down
1 - the service is running | |
| ftp_perf | Checks if FTP server is running and accepting connections | 0 - FTP server is down
Otherwise, number of milliseconds spent connecting to FTP server | |
| http_perf | Checks if HTTP (WEB) server is running and accepting connections | 0 - HTTP server is down
Otherwise, number of milliseconds spent connecting to HTTP server | |
| imap_perf | Checks if IMAP server is running and accepting connections | 0 - IMAP server is down
Otherwise, number of milliseconds spent connecting to IMAP server | |
| nntp_perf | Checks if NNTP server is running and accepting connections | 0 - NNTP server is down
Otherwise, number of milliseconds spent connecting to NNTP server | |
| pop_perf | Checks if POP server is running and accepting connections | 0 - POP server is down
Otherwise, number of milliseconds spent connecting to POP server | |
| smtp_perf | Checks if SMTP server is running and accepting connections | 0 - SMTP server is down
Otherwise, number of milliseconds spent connecting to SMTP server | |
| ssh_perf | Checks if SSH server is running and accepting connections | 0 - SSH server is down
Otherwise, number of milliseconds spent connecting to SSH server | |
Internal checks allow to control internals of ZABBIX. Internal checks are calculated by zabbix_suckerd.
| Key | Description | Return value | Comments |
| check_port[ip,port] | Check, if it is possible to make TCP connection to port number <port>. | 0 - cannot connect
1 - can connect | IP address is optional. If IP address is missing, 127.0.0.1 is used.
Example:
check_port[80] can be used to test availability of WEB server |
| check_service[ftp,ip,port] | Check if FTP server is running and accepting connections. | 0 - FTP server is down
1 - FTP server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "21" is used. IP address cannot be specified without port number.
Example:
check_service[ftp,45] can be used to test availability of FTP server on TCP port 45. |
| check_service[http,ip,port] | Check if HTTP (WEB) server is running and accepting connections. | 0 - HTTP server is down
1 - HTTP server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "80" is used. IP address cannot be specified without port number.
Example:
check_service[http] can be used to test availability of HTTP server on TCP port 80. |
| check_service[imap,ip,port] | Check if IMAP server is running and accepting connections. | 0 - IMAP server is down
1 - IMAP server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "143" is used. IP address cannot be specified without port number. |
| check_service[nntp,ip,port] | Check if NNTP server is running and accepting connections. | 0 - NNTP server is down
1 - NNTP server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "119" is used. IP address cannot be specified without port number. |
| check_service[pop,ip,port] | Check if POP3 server is running and accepting connections. | 0 - POP3 server is down
1 - POP3 server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "110" is used. IP address cannot be specified without port number. |
| check_service[smtp,ip,port] | Check if SMTP (email) server is running and accepting connections. | 0 - SMTP server is down
1 - SMTP server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "25" is used. IP address cannot be specified without port number. |
| check_service[ssh,ip,port] | Check if SSH server is running and accepting connections. | 0 - SSH server is down
1 - SSH server is running | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "22" is used. IP address cannot be specified without port number. |
| check_service_perf[ftp,ip,port] | Check performance of FTP server. | 0 - FTP server is down
<sec> - number of seconds spent on connection to the FTP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "21" is used. IP address cannot be specified without port number.
Example:
check_service[ftp] can be used to test performance of FTP server.
Return value: 0.0234 |
| check_service_perf[http,ip,port] | Check performance of HTTP (WEB) server. | 0 - HTTP server is down
<sec> - number of seconds spent on connection to the HTTP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "80" is used. IP address cannot be specified without port number. |
| check_service_perf[imap,ip,port] | Check performance of IMAP server. | 0 - IMAP server is down
<sec> - number of seconds spent on connection to the IMAP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "143" is used. IP address cannot be specified without port number. |
| check_service_perf[nntp,ip,port] | Check performance of NNTP server. | 0 - NNTP server is down
<sec> - number of seconds spent on connection to the NNTP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "119" is used. IP address cannot be specified without port number. |
| check_service_perf[pop,ip,port] | Check performance of POP server. | 0 - POP server is down
<sec> - number of seconds spent on connection to the POP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "110" is used. IP address cannot be specified without port number. |
| check_service_perf[smtp,ip,port] | Check performance of SMTP (email) server. | 0 - SMTP server is down
<sec> - number of seconds spent on connection to the SMTP server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "25" is used. IP address cannot be specified without port number. |
| check_service_perf[ssh,ip,port] | Check performance of SSH server. | 0 - SSH server is down
<sec> - number of seconds spent on connection to the SSH server | IP address and port number is optional. If IP address is missing 127.0.0.1 is used. If port number is missing, "22" is used. IP address cannot be specified without port number. |
| cksum[*] | Calculate check sum of a given file. | Check sum of the file calculate by standard algorithm used by UNIX utility cksum |
Example:
cksum[/etc/passwd] |
| diskfree[*] | Calculate free (unused) disk space for a given volume. | Unused disk space in Kb |
In case of mounted volume, unused disk space for local file system is returned.
Example:
diskfree[/tmp] |
| disktotal[*] | Calculate total disk space for a given volume. | Disk space in Kb |
In case of mounted volume, total disk space for local file system is returned.
Example:
disktotal[/] |
| diskused[*] | Calculate used disk space for a given volume. | Disk space in Kb |
In case of mounted volume, used disk space for local file system is returned.
Example:
disktotal[/] |
| disk_read_ops1[*] | Average number of disk reads within last minute for a disk device. |
Number of disk reads |
Example:
disk_read_ops1[hda0] |
| disk_read_ops5[*] | Average number of disk reads within last 5 minutes for a disk device. | Number of disk reads |
Example:
disk_read_ops5[hda1] |
| disk_read_ops15[*] | Average number of disk reads within last 15 minutes for a disk device. | Number of disk reads |
Example:
disk_read_ops15[sda0] |
| disk_write_ops1[*] | Average number of disk writes within last minute for a disk device. | Number of disk writes |
Example:
disk_write_ops1[hda0] |
| disk_write_ops5[*] | Average number of disk writes within last 5 minutes for a disk device. | Number of disk writes |
Example:
disk_write_ops5[hda1] |
| disk_write_ops15[*] | Average number of disk writes within last 15 minutes for a disk device. | Number of disk writes |
Example:
disk_write_ops15[sda0] |
| disk_read_blks1[*] | Average number of disk read blocks within last minute for a disk device. | Number of read blocks |
Example:
disk_read_blks1[hda0] |
| disk_read_blks5[*] | Average number of disk read blocks within last 5 minutes for a disk device. | Number of read blocks |
Example:
disk_read_blks5[hda1] |
| disk_read_blks15[*] | Average number of disk read blocks within last 15 minutes for a disk device. | Number of read blocks |
Example:
disk_read_blks15[sda0] |
| disk_write_blks1[*] | Average number of disk written blocks within last minute for a disk device. | Number of written blocks |
Example:
disk_write_blks1[hda0] |
| disk_write_blks5[*] | Average number of disk written blocks within last 5 minutes for a disk device. | Number of written blocks |
Example:
disk_write_blks5[hda1] |
| disk_write_blks15[*] | Average number of disk written blocks within last 15 minutes for a disk device. | Number of written blocks |
Example:
disk_write_blks15[sda0] |
| filesize[*] | Size of a given file. | Size in bytes. |
File must have read permissions for user zabbix.
Example:
filesize[/var/log/syslog] |
| inodefree[*] | Number of unused inodes for a given volume. | Number of unused inodes |
Example:
inodefree[/] |
| inodetotal[*] | Total number of inodes for a given volume. | Total number of inodes |
Example:
inodetotal[/var] |
| kern[maxfiles] | Maximum number of opened file supported by OS. | Number of files | |
| kern[maxproc] | Maximum number of processes supported by OS. | Number of processes | |
| memory[buffers] | Amount of memory used for kernel buffers. | Amount of memory in bytes | |
| memory[cached] | Amount of cached memory. | Amount of memory in bytes | |
| memory[free] | Amount of unused physical memory. | Amount of memory in bytes | |
| memory[shared] | Amount of used physical memory. | Amount of memory in bytes | |
| memory[total] | Total amount of physical memory. | Amount of memory in bytes | |
| netloadin1[*] | Average number of bytes received by an interface. Average for last minute. | Number of bytes |
Example:
netloadin1[eth0] |
| netloadin5[*] | Average number of bytes received by an interface. Average for last 5 minute. | Number of bytes |
Example:
netloadin5[ppp0] |
| netloadin15[*] | Average number of bytes received by an interface. Average for last 15 minute. | Number of bytes |
Example:
netloadin15[eth0] |
| netloadout1[*] | Average number of bytes sent by an interface. Average for last minute. | Number of bytes |
Example:
netloadout1[eth0] |
| netloadout5[*] | Average number of bytes sent by an interface. Average for last 5 minute. | Number of bytes |
Example:
netloadout5[ppp0] |
| netloadout15[*] | Average number of bytes sent by an interface. Average for last 15 minute. | Number of bytes |
Example:
netloadout15[eth0] |
| ping | Always return 1. | 1 | Can be used as a TCP ping. |
| proc_cnt[*] | Number of processes called * running. | Number of processes | Example:
proc_cnt[inetd] |
| sensor[temp1] | Value returned by the first temperature sensor. | Temperature of main-board (in C or F). lm_sensors must be installed. |
Example:
24.5 |
| sensor[temp2] | Value returned by the second temperature sensor. | Temperature of CPU 1of2 (in C or F). lm_sensors must be installed. |
Example:
88.1 |
| sensor[temp3] | Value returned by the third temperature sensor. | Temperature of CPU 2of2 (in C or F). lm_sensors must be installed. | Example:
33.7 |
| status | Host status. | 0 - normal
2 - unreachable | This parameter is calculated internally by zabbix_suckerd. ZABBIX does not connect to an agent in order to calculate value of the "status". The parameter makes sense only in case if the host has at least one parameter for monitoring. |
| swap[free] | Free swap space. | Number of bytes | |
| system[hostname] | Return host name. | String value | Example of returned value: www.sf.net |
| swap[total] | Total swap space. | Number of bytes | |
| system[proccount] | Number of started processes | Number of processes | |
| system[procload] | Load average for last 1 minute | Load average | Note that this is not percentage. |
| system[procload5] | Load average for last 5 minute | Load average | Note that this is not percentage. |
| system[procrunning] | Number of running processes | Number of processes | |
| system[uname] | Returns detailed host information | String value | Example of returned value: FreeBSD localhost 4.4-RELEASE FreeBSD 4.4-RELEASE #0: Tue Sep 18 11:57:08 PDT 2001 murray@builder.FreeBSD.org:/usr/src/sys/compile/GENERIC i386 |
| system[uptime] | System's uptime in seconds | Number of seconds | |
| system[users] | Number of users connected | Number of users | Command who is used on agent side. |
| tcp_count | Number of established TCP connections | Number of TCP connections | |
| agent.version | Version of zabbix_agent(d) running on monitored host | String value | Example of returned value: 1.0beta10 |
| version[history] | Returns number of records stored in table HISTORY | Number of records | Internal check. No connections to any agent required. |
| version[items] | Returns number of records stored in table ITEMS | Number of records | Internal check. No connections to any agent required. |
| version[items_unsupported] | Returns number of unsupported items | Number of unsupported items | Internal check. No connections to any agent required. |
| version[queue] | Returns length of the queue of ITEMS ready for immediate request of latest information. | Length of the queue | This value is good indicator of the performance of ZABBIX server. Ideally this value should be close to zero. |
This section contains description of parameter supported by ZABBIX WIN32 agent only.
| Key | Description | Return value | Comments |
| agent[avg_collector_time] | Average time spent by collector thread on each sample processing for last minute. | Time in milliseconds | |
| agent[max_collector_time] | Maximum time spent by collector thread on each sample processing for last minute. | Time in milliseconds | |
| agent[accepted_requests] | Total number of requests accepted by agent for processing. | Number of requests | |
| agent[rejected_requests] | Total number of requests rejected by agent for processing. | Number of requests | |
| agent[timed_out_requests] | Total number of requests timed out in processing. | Number of requests | |
| agent[accept_errors] | Total number of accept() system call errors. | Number of system calls | |
| agent[processed_requests] | Total number of requests successfully processed by agent. | Number of requests | |
| agent[failed_requests] | Total number of requests with errors in processing. | Number of requests | These requests generated ZBX_ERROR return code |
| agent[unsupported_requests] | Total number of requests for unsupported parameters. | Number of requests | These requests generated ZBX_UNSUPPORTED return code |
| cpu_util | Average CPU(s) utilisation for last minute. | Processor load in percents | |
| cpu_util5 | Average CPU(s) utilisation for last 5 minute. | Processor load in percents | |
| cpu_util15 | Average CPU(s) utilisation for last 15 minute. | Processor load in percents | |
| cpu_util[*] | Average CPU(s) utilisation for last minute, where parameter is zero-based CPU number. | Processor load in percents |
Example:
cpu_util[0] |
| cpu_util5[*] | Average CPU(s) utilisation for last 5 minutes, where parameter is zero-based CPU number. | Processor load in percents |
Example:
cpu_util5[1] |
| cpu_util15[*] | Average CPU(s) utilisation for last 15 minutes, where parameter is zero-based CPU number. | Processor load in percents |
Example:
cpu_util15[0] |
| md5_hash[*] | MD5 hash of specified file. | String value | Agent will return ZBX_UNSUPPORTED if the file is larger than 64MB.
Example:
md5_hash[c:\autoexec.bat] |
| perf_counter[*] | Value of any performance counter, where parameter is the counter path. | Value of the counter |
Performance Monitor can be used to obtain list of available counters. Note that this parameter will return correct value only for counters
that require just one sample (like \System\Threads). It will not work as expected for counters that require more that
one sample - like CPU utilisation. |
| service_state[*] | State of service. Parameter is service name. |
0 - running
1 - paused
2 - start pending
3 - pause pending
4 - continue pending
5 - stop pending
6 - stopped
7 - unknown
255 - SCM communication error |
Parameter must be real service name as it seen in service properties under "Name:", not service display name! |
| proc_info[<process>:<attribute>:<type>] | Different information about specific process(es). |
<process> - process name (same as in proc_cnt[] parameter)
<attribute> - requested process attribute. |
The following attributes are currenty supported:
vmsize - Size of process virtual memory in Kbytes
wkset - Size of process working set (amount of physical memory used by process) in Kbytes
pf - Number of page faults
ktime - Process kernel time in milliseconds
utime - Process user time in milliseconds
io_read_b - Number of bytes read by process during I/O operations
io_read_op - Number of read operation performed by process
io_write_b - Number of bytes written by process during I/O operations
io_write_op - Number of write operation performed by process
io_other_b - Number of bytes transferred by process during operations other than read and write operations
io_other_op - Number of I/O operations performed by process, other than read and write operations
gdiobj - Number of GDI objects used by process
userobj - Number of USER objects used by process
<type> - representation type (meaningful when more than one process with the same name exists). Valid values are:
min - minimal value among all processes named <process>
max - maximal value among all processes named <process>
avg - average value for all processes named <process>
sum - sum of values for all processes named <process>
Examples:
1. In order to get the amount of physical memory taken by all Internet Explorer processes, use the following parameter:
proc_info[iexplore.exe:wkset:sum]
2. In order to get the average number of page faults for Internet Explorer processes, use the following parameter:
proc_info[iexplore.exe:pf:avg]
Note: All io_xxx,gdiobj and userobj attributes available only on Windows 2000 and later versions of Windows, not on Windows NT 4.0.
|
ZABBIX must be configured with SNMP support in order to be able to retrieve data provided
by SNMP agents.
The following steps have to be performed in order to add monitoring of SNMP parameters:
This will give you a list of SNMP strings and their last value. If it doesn't then it is
possible that the SNMP 'community' is different to the standard public in which case you
will need to find out what it is. You would then go through the list until you find the
string you want to monitor, e.g. you wanted to monitor the bytes coming in to your switch on
port 3 you would use:
where the last number in the string is the port number you are looking to monitor. This
should give you something like the following:
again the last number in the OID is the port number.
3COM seem to use port numbers in the hundreds, e.g. port 1=port 101, port 3=port 103,
but Cisco use regular numbers, e.g. port 3=3
So, now go back to ZABBIX and click on Items, selecting the SNMP host you created earlier.
Depending on whether you used a template or not when creating your host you will have either
a list of SNMP items associated with your host or just a new item box. We will work on the
assumption that you are going to create the item yourself using the information you have
just gathered using snmpwalk and snmpget, so enter a plain English description in the
'Description' field of the new item box. Make sure the 'Host' field has your switch/router
in it and change the 'Type' field to "SNMPv1 agent" (I had difficulty with SNMPv2 agent so I
don't use it). Enter the community (usually public) and enter the numeric OID that you
retrieved earlier in to the 'SNMP OID' field being sure to include the leading dot, i.e.
.1.3.6.1.2.1.2.2.1.10.3
Enter the 'SNMP port' as 161 and the 'Key' as something meaningful, e.g. SNMP-InOctets-Bps.
Choose the Multiplier if you want one and enter an 'update interval' and 'keep history' if
you want it to be different from the default. Set the 'Status' to MONITORED, the 'Type of
information' to NUMERIC and the 'Store value' to DELTA (important otherwise you will get
cumulative values from the SNMP device instead of the latest change).
Now ADD the item and go back to the hosts area of Zabbix. From here set the SNMP device to
be MONITORED and check in LATEST VALUES for your SNMP data!
Note that OID can be given in either numeric or string form. However, in some cases, string OID must be converted
to numeric representation. Utility snmpget may be used for this purpose:
Parameters netload*, disk_read* and disk_write* are supported by zabbix_agentd only. Inetd version of the agent does not support them.