This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

3 Agent

Overview

Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications (hard drives, memory, processor statistics etc).

The agent gathers operational information locally and reports data to Zabbix server for further processing. In case of failures (such as a hard disk running full or a crashed service process), Zabbix server can actively alert the administrators of the particular machine that reported the failure.

Zabbix agents are extremely efficient because of use of native system calls for gathering statistical information.

Passive and active checks

Zabbix agents can perform passive and active checks.

In a passive check the agent responds to a data request. Zabbix server (or proxy) asks for data, for example, CPU load, and Zabbix agent sends back the result.

Active checks require more complex processing. The agent must first retrieve a list of items from Zabbix server for independent processing. Then it will periodically send new values to the server.

Whether to perform passive or active checks is configured by selecting the respective monitoring item type. Zabbix agent processes items of type 'Zabbix agent' or 'Zabbix agent (active)'.

Supported platforms

Zabbix agent is supported for:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris: 8, 9, 10, 11
  • Windows: all desktop and server versions since 2000
Installation

See installation instructions for Zabbix agent.

In general, 32bit Zabbix agents will work on 64bit systems, but may fail in some cases.

Running agent processes

Zabbix agent is run on the host being monitored.

Zabbix agent on UNIX runs as a daemon process. To start the agent (standalone daemon), execute:

shell> cd sbin
       shell> ./zabbix_agentd

Zabbix agent on Windows runs as a Windows service. You can run a single instance of Zabbix agent or multiple instances of the agent on a host. A single instance can use the default configuration file or a configuration file specified in the command line. In case of multiple instances each agent instance must have its own configuration file (one of the instances can use the default configuration file).

The following command line parameters can be used with Zabbix agent:

Parameter Description
UNIX and Windows agent
-c --config <config-file> Absolute path to the configuration file.
You may use this option to specify a configuration file that is not the default one.
On UNIX, default is /usr/local/etc/zabbix_agentd.conf or as set by compile-time variables --sysconfdir or --prefix
On Windows, default is c:\zabbix_agentd.conf
-p --print Print known items and exit.
Note: To return user parameter results as well, you must specify the configuration file (if it is not in the default location).
-t --test <item key> Test specified item and exit.
Note: To return user parameter results as well, you must specify the configuration file (if it is not in the default location).
-h --help Display help information
-V --version Display version number
Windows agent only
-m --multiple-agents Use multiple agent instances (with -i,-d,-s,-x functions).
To distinguish service names of instances, each service name will include the Hostname value from the specified configuration file.
Windows agent only (functions)
-i --install Install Zabbix Windows agent as service
-d --uninstall Uninstall Zabbix Windows agent service
-s --start Start Zabbix Windows agent service
-x --stop Stop Zabbix Windows agent service

See more details on installing and running Zabbix agent on Windows.

Specific examples of using command line parameters:

  • printing all built-in agent items with values
  • testing a user parameter with "mysql.ping" key defined in the specified configuration file
  • installing a "Zabbix Agent" service for Windows using the default path to configuration file c:\zabbix_agentd.conf
  • installing a "Zabbix Agent [Hostname]" service for Windows using the configuration file zabbix_agentd.conf located in the same folder as agent executable and make the service name unique by extending it by Hostname value from the config file
shell> zabbix_agentd --print
       shell> zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
       shell> zabbix_agentd.exe -i
       shell> zabbix_agentd.exe -i -m -c zabbix_agentd.conf
Process user

Zabbix agent on UNIX is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run agent as any non-root user without any issues.

If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be present on your system. You can only run agent as 'root' if you modify the 'AllowRoot' parameter in the agent configuration file accordingly.

Locale

Note that the agent requires a UTF-8 locale so that some textual agent items can return the expected content. Most modern Unix-like systems have a UTF-8 locale as default, however, there are some systems where that may need to be set specifically.

Configuration file

For details on configuring Zabbix agent see the configuration file options for zabbix_agentd or Windows agent.