Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between Prometheus and Zabbix? [closed]

What are the differences between Prometheus and Zabbix?

like image 454
The One Avatar asked Feb 10 '16 01:02

The One


People also ask

What is the difference between Prometheus and Grafana?

Prometheus and Grafana are both built for time-series data. Prometheus excels in metric data collection, whereas Grafana champions metric visualizations. Both tools are open source, free and have vibrant communities of open source developers supporting their development.

What is Zabbix good for?

Secure and monitor the servers using Zabbix Zabbix is best in class network monitoring application which can be used to monitor from severs to application on a wider range. Real time monitoring of the serves across company and alert on any malfunctions.

What is difference between Nagios and Zabbix?

The Nagios tool is an open-source tool that is a continuous monitoring tool used to monitor the health of system machines, network infrastructure, and architecture. The Zabbix tool is a type of monitoring tool that is used to monitor the network, servers, virtual machine.


1 Answers

Both Zabbix and Prometheus may be used in various monitoring scenarios, and there isn't any particular specialization in either of these. Zabbix is older than Prometheus and probably more stable, with more ready-to-use solutions.

Zabbix has a core written in C and a web UI based on PHP. Also it uses "agents" (client-side programs) written in C. Prometheus is written in the Go language.

Zabbix stores data in an RDBMS (MySQL, PostgreSQL, Oracle, or SQLite) of the user's choice. Prometheus uses its own database embedded into the backend process (it is a non-relational database specially designed for storing monitoring data in a similar fashion to OpenTSDB's data model).

Zabbix by default uses a "pull" model when a server connects to agents on each monitoring machine, and agents periodically gather the information and send it to a server. The alternative is "active checks" mode when agents establish a connection with a server and send data to it when it need.

Prometheus prefers a "pull" model when a server gathers information from client machines. But Prometheus Push Gateway may be used in cases when a "push" model is needed.

Prometheus requires an application to be instrumented with the Prometheus client library (available in different programming languages) for preparing metrics. But for monitoring a system or software that can't be instrumented, there is an official "blackbox exporter" that allows probing endpoints over a range of protocols; additionally, a wide spread of third-party "exporters" and tools are available to help expose metrics for Prometheus (similar to "agents" for Zabbix). One such tool is Telegraf.

Zabbix uses its own TCP-based communication protocol between agents and a server.

Prometheus uses HTTP with Protocol Buffers (+ text format for ease of use with curl).

Zabbix offers its own web UI for visualization. Prometheus offers a basic tool for exploring gathered data and visualizing it in simple graphs on its native server and also offers a minimal dashboard builder. But Prometheus is and is designed to be supported by modern visualizing tools like Grafana.

Zabbix has support for alerting in its core. Prometheus offers a solution for alerting that is separated from its core into the Alertmanager application.

like image 154
Alexander I.Grafov Avatar answered Oct 03 '22 22:10

Alexander I.Grafov