Table of Contents

18 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 since XP.
Supported crypto libraries GnuTLS 3.1.18 and newer
OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1
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 is supported since Zabbix 4.4.8.
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.
Scheduled/flexible intervals Supported for passive checks only. Supported for passive and active checks.
Third party traps no yes
Additional features
Persistent storage no yes
Persistent files for log*[] metrics yes (only on Unix) no
Timeout settings Defined on an agent level only. Plugin timeout can override the timeout defined on an agent level.
Changes user at runtime yes (Unix-like systems only) no (controlled by systemd)
User-configurable ciphersuites yes no

See also: