zabbix_agentd
Runs Zabbix monitoring agent daemon
TLDR
Start the agent with the default configuration file
Start the agent with a custom configuration file
Run the agent in foreground (it stays attached to the current terminal session)
Test the configuration file
Test a specific item with verbose output
Reload user parameters from the configuration file (runtime control)
Increase or decrease log level for all processes (runtime control)
Display help
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)


