-1

I have about 200 servers which i want to monitor with zabbix. my zabbix version is 5.
i read about zabbix trapper and zabbix agent and tested both to see how they work.
now before I start monitoring all of my servers I wanted to know which method is better to use?
zabbix agent or zabbix trapper?
if i have 10 items on each server which need to be monitored every 60 seconds, i will have 2000 value.
is it better to write an script that send their value to zabbix or zabbix agent run those commands?

The items i want to monitor are OS components, Databases, file systems and network.

BlackCrystal
  • 127
  • 1
  • 11

2 Answers2

1

Zabbix Agent is versatile, supports most of OS and application metrics, but you can't install Zabbix Agent on most appliances: you could incur in the risk of losing vendor support. That's why Zabbix Trapper exists, is a workaround to use where you can't install the Zabbix Agent.

Iron Bishop
  • 1,749
  • 1
  • 7
  • 16
1

The preferred way is to use a Zabbix Agent if it's possible.

Zabbix Agent pros:

  • it incorporates a big set of built-in features and its functionality could be extended via UserParameter directive or compiled modules;
  • it is officially supported by developers (Zabbix company);
  • the most of checks are performed in a very efficient way;
  • it can work both in the passive mode (the Agent is polled by a Server or Proxy) and the active mode (the Agent is initiator of connections, it polls Server/Proxy periodically for the list of checks, tracks a check's scheduling and sends the results of checks);
  • it is more flexible and maintainable: if you need to monitor some additional parameter, in the most cases you set it up via Zabbix web-interface without necessity to re-configure an Agent.

Zabbix Agent cons:

  • there are platforms where Zabbix Agent does not exist at all (for example, IBM system i - formerly known as AS/400) or it's troublesome to be installed by some reasons (for example, appliances);
  • every check should be performed fast enough, the maximum allowed timeout is limited by 30 seconds; therefore it's impossible to use it for a long-running checks (for example, scripts that could run several minutes or hours);

Zabbix Trapper (more precisely - zabbix_sender utility) is a good complement if you don't enough a standard Zabbix Agent' features. Its primary mission to be used in scripts, as it is only tool for transferring a results of checks to Zabbix Server/Proxy (but the check itself should be performed by some other means). A typical use cases are:

  • long-running scripts;
  • events without a strong schedule (for example: to send a status of backup job when the job completes; but sometimes this job could run several minutes, sometimes - several hours).

Trappers pros:

  • it can read data via stdin, i.e. can be used in scripts as a pipe destination;
  • it could transfer a lot of values very efficiently.

Trappers cons:

  • it is not a ready monitoring solution, it is only tool for delivering the results of checks (so, it's needed some tool for obtaining of these results - usually some scripts);
  • it requires some external scheduling mechanism;
  • if you need to monitor some additional parameter, you will need to modify some script;
  • it communicates with Zabbix Server/Proxy using a protocol similar to Zabbix Agent running in active mode only; i.e. it's impossible to poll it from the Server/Proxy side (it could restrict its usage in some network topology configurations).