Official docs here.
Passive checks = Zabbix server polling
Active checks = Zabbix client (agent) pushing
What is the advantage of passive checks? It requires an additional port on the clients to be open.
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
There are three basic types of checks in Zabbix:
Active checks are pushed from systems with the Zabbix agent installed. These checks do not require that any ports be open on the client (monitored) system (unless you want to be able to issue remote commands). However, there does need to be a port open on the Zabbix server for the agent(s) to connect to which is accessible to the agent(s). While active checks are quite scalable on a properly configured Zabbix server they do create more network traffic than passive checks as the agent must contact the server and get a list of parameters to return/checks to complete before returning results.
Passive checks are the Zabbix server polling the Zabbix agent on a system. These checks require that a port be open on the client (monitored) system which the Zabbix server can reach but there do not need to be any open ports on the Zabbix server for the agent(s). This could be useful if, for example, there is a NAT/PAT device or stateful firewall in in front of the Zabbix server and it is not possible to open a port on the Zabbix server for the agents to connect to. In addition, the Zabbix server has complete control over how frequently the client system is polled and which parameters are polled.
Simple checks do not require an agent be installed. Some clients cannot have the agent installed for a variety of reasons or do not have an agent which will run on whatever OS they are running. As one example think about simple Internet of Things (IoT) devices. You may want to check that they are up but do not have the ability to install an agent. Similarly, you may want to ping test an upstream gateway at your ISP which you cannot install an agent on, a cash register/POS system, etc.
Passive checks require additional port open on agents, but active checks require one to be open on the server. A few benefits of passive checks over active:
Active checks are recommended and scale better. Active metrics even survive at the time of zabbix server downtime, provided that you have a zabbix proxy between.
There are use cases where you SHOULD use passive checks and you CAN'T use active checks.
If you are using virtual IP address that can migrate from one node to another and you want to monitor if service is externally available (by simple tcp connect) then you should create host with 'virtual IP' and create PASSIVE check that connects to this IP. Exactly the same way you may monitor Virtual IP migration, just add 'hostname' to passively monitored metric for host, associated with 'virtual IP'and if hostname changes - you are migrated.