Table of Contents

16 Agent vs agent 2 comparison

This section describes the differences between the Zabbix agent and the Zabbix agent 2.

Parameter Zabbix agent Zabbix agent 2
Programming language C Go with some parts in C
Daemonization yes by systemd only (yes on Windows)
Supported extensions Custom loadable modules in C. Custom plugins in Go.
Requirements
Supported platforms Linux, IBM AIX, FreeBSD, NetBSD, OpenBSD, HP-UX, Mac OS X, Solaris: 9, 10, 11, Windows: all desktop and server versions since XP Linux, Windows: all desktop and server versions, on which an up-to-date supported Go version can be installed.
Supported crypto libraries GnuTLS 3.1.18 and newer
OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1, 3.0.x
LibreSSL - tested with versions 2.7.4, 2.8.2 (certain limitations apply, see the Encryption page for details).
Linux: OpenSSL 1.0.1 and later.
MS Windows: OpenSSL 1.1.1 or later.
The OpenSSL library must have PSK support enabled. LibreSSL is not supported.
Monitoring processes
Processes A separate active check process for each server/proxy record. Single process with automatically created threads.
The maximum number of threads is determined by the GOMAXPROCS environment variable.
Metrics UNIX: see a list of supported items.

Windows: see a list of additional Windows-specific items.
UNIX: All metrics supported by Zabbix agent.
Additionally, the agent 2 provides Zabbix-native monitoring solution for: Docker, Memcached, MySQL, PostgreSQL, Redis, systemd, and other monitoring targets - see a full list of agent 2 specific items.

Windows: All metrics supported by Zabbix agent, and also net.tcp.service* checks of HTTPS, LDAP.
Additionally, the agent 2 provides Zabbix-native monitoring solution for: PostgreSQL, Redis.
Concurrency Active checks for single server are executed sequentially. Checks from different plugins or multiple checks within one plugin can be executed concurrently.
Third-party traps no yes
Additional features
Persistent storage no yes
Persistent files for log*[] metrics yes (only on Unix) no
Log data upload Can be performed during log gathering to free the buffer. Log gathering is stopped when the buffer is full, therefore the BufferSize parameter must be at least MaxLinesPerSecond x 2.
Changes user at runtime yes (Unix-like systems only) no (controlled by systemd)
User-configurable ciphersuites yes no

See also:

To toggle search highlight, press Ctrl+Alt+H
Have an improvement suggestion for this page? Select the text that could be improved and press Ctrl+Enter to send it to the editors.