LinuxCommandLibrary

zabbix_agentd

Runs Zabbix monitoring agent daemon

TLDR

Start the agent with the default configuration file

$ zabbix_agentd
copy

Start the agent with a custom configuration file
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf]
copy

Run the agent in foreground (it stays attached to the current terminal session)
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf] [[-f|--foreground]]
copy

Test the configuration file
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf] [[-T|--test-config]]
copy

Test a specific item with verbose output
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf] [[-t|--test]] [item_key] [[-v|--verbose]]
copy

Reload user parameters from the configuration file (runtime control)
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf] [[-R|--runtime-control]] userparameter_reload
copy

Increase or decrease log level for all processes (runtime control)
$ zabbix_agentd [[-c|--config]] [path/to/zabbix_agentd.conf] [[-R|--runtime-control]] log_level_[increase|decrease]
copy

Display help
$ zabbix_agentd [[-h|--help]]
copy

SYNOPSIS

zabbix_agentd [-V] [-h] [-c config-file] [-p pid-file] [-f] [-t item-key] [-R runtime-command] [-z PSKs]

PARAMETERS

-c file, --config=file
    Path to configuration file (default: /etc/zabbix/zabbix_agentd.conf)

-p file, --pidfile=file
    Name of PID file (default: /run/zabbix/zabbix_agentd.pid)

-f, --foreground
    Run in foreground instead of daemonizing

-h, --help
    Display help message and exit

-V, --version
    Print version information and exit

-t item-key, --test=item-key
    Test configuration and retrieve data for specific item

-R command, --runtime-control=command
    Execute runtime control command (e.g., zabbix[reload])

-z file
    Path to PSK definitions file for TLS encryption

-d
    Enable daemon mode (foreground by default for testing)

DESCRIPTION

zabbix_agentd is the core daemon of the Zabbix agent, an open-source tool for monitoring IT infrastructure. It runs on monitored hosts, collecting metrics like CPU, memory, disk, network, and custom data via user parameters or plugins. Data is sent to a Zabbix server either passively (server polls agent on TCP port 10050) or actively (agent pushes to server on 10051).

Configured through a file (default: /etc/zabbix/zabbix_agentd.conf), it defines Server IPs, Hostname, ListenPort, TLS settings, and more. Supports secure execution with SafeUser/SafeGroup, loadable modules (e.g., MQTT), and value maps. Lightweight and multi-process architecture handles high loads.

For testing, use -t to simulate item checks. Runtime controls (-R) allow reloading config or forcing actions without restart. Managed via systemd or init scripts. Essential for Zabbix setups, it ensures secure, real-time monitoring across Linux/Unix systems.

CAVEATS

Requires root or setuid privileges for full functionality. Firewall must allow inbound TCP/10050. Config file must have strict permissions (640, owned by zabbix:zabbix) to prevent unauthorized access. Not for interactive use; use service/systemctl for production.

KEY CONFIG OPTIONS

Server/ServerActive: Zabbix server IPs.
Hostname: Identifies host.
ListenPort: 10050 (passive).
EnableRemoteCommands: 1 for remote exec.
TLS* for encryption.

MODES

Passive: Server initiates.
Active: Agent initiates via StartAgents=1.
Multiple agents: Use different ports/configs.

HISTORY

Developed as part of Zabbix (first release 1.0 in 2004 by Alexei Vladishev). Agent active checks added in 2.0 (2012), TLS/PSK in 3.0 (2016), native plugins in 5.0 (2020). Evolved for scalability, security in enterprise monitoring.

SEE ALSO

zabbix_server(8), zabbix_sender(1), zabbix_get(1), systemctl(1)

Copied to clipboard