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: