16.02.2026

Active vs Passive Zabbix Agent Checks: Push vs Pull, Ports, and Best-Practice Configuration

Zabbix agent checks can work in two different modes — passive and active — and choosing the right one affects everything from firewall rules to monitoring reliability. The key difference is the connection direction: in passive mode, the Zabbix server/proxy polls the agent, while in active mode, the agent connects to the server/proxy and sends results back. In this article, we’ll break down how each mode works, when to use them (especially with NAT and restricted networks), and what to configure in the agent and in the Zabbix UI to avoid the most common setup mistakes.

Check types

Passive Zabbix agent checks (pull)
Passive checks are initiated by the Zabbix server or proxy. The server connects to the agent, requests a specific metric (CPU load, free disk, etc.), and the agent returns the value. This mode is straightforward, but it requires network reachability from server/proxy to the agent (inbound access to the agent).

Active Zabbix agent checks (push)
Active checks are initiated by the Zabbix agent. The agent connects to the Zabbix server/proxy, retrieves the list of active items, executes them locally, and periodically sends results back. Active checks are often preferred when hosts are behind NAT/firewalls (because the connection is outbound from the host) and can reduce server-side polling overhead at scale.

Configuring checks

To configure the Zabbix Agent for Active or Passive checks, modify the /etc/zabbix/zabbix_agentd.conf configuration file. Set the "Server" option to the IP address or hostname of the Zabbix Server for Passive checks, and for Active checks, set the "ServerActive" option. Note that you can configure both active and passive modes at the same time.

In the Zabbix web interface, you can configure the type of check for an item. Go to "Configuration" > "Hosts", select the host you want to configure, and go to the "Item" tab. Open the item and set the "Type" to either "Zabbix agent (active)" or "Zabbix agent (passive)" to specify the check type for the item.

Conclusion

Active and passive Zabbix agent checks differ mainly by who initiates the connection. With passive checks, the Zabbix server/proxy connects to the agent and polls metrics (pull). With active checks, the agent connects to the Zabbix server/proxy, fetches the list of items to collect, and sends results back (push). In practice, passive checks are simplest when your server/proxy can reach hosts directly, while active checks are often the best choice for machines behind NAT/firewalls or in segmented networks where inbound access to the agent is limited. You can also run both modes together: just configure Server and ServerActive correctly, and choose “Zabbix agent” vs “Zabbix agent (active)” per item in the UI.

FAQ: Active vs Passive Zabbix Agent Checks

You may be also interested in