Need advice about which tool to choose?Ask the StackShare community!
Prometheus vs Zabbix: What are the differences?
Introduction
Prometheus and Zabbix are both popular open-source monitoring systems used to collect metrics and monitor various components of a system or infrastructure. However, there are key differences between these two tools that make them suitable for different use cases.
Architecture: Prometheus follows a pull-based architecture, where the Prometheus server pulls metrics from the targets to be monitored. On the other hand, Zabbix follows a push-based architecture, where the agents installed on the target systems push metrics to the Zabbix server. This architectural difference affects how metrics are collected and monitored in each tool.
Data storage: Prometheus uses a time-series database for storing metrics data, which allows for efficient retrieval and analysis of metrics over time. Zabbix, on the other hand, uses a relational database to store metrics data. The choice of data storage method has implications on the scalability and performance of the monitoring system.
Alerting capabilities: Prometheus has a built-in alerting system that allows users to configure alerts based on certain thresholds or conditions. Zabbix also has a powerful alerting system that supports complex trigger conditions and actions. However, Prometheus's alerting system is more flexible and allows for more fine-grained control over alert conditions and actions.
Service discovery: Prometheus has native support for service discovery, which means it can automatically discover and monitor new targets without manual configuration. Zabbix also supports service discovery, but it requires manual configuration of hosts and services. Prometheus's native service discovery makes it easier to monitor dynamic environments where hosts or services may be added or removed frequently.
Scalability: Prometheus is designed to scale horizontally, which means it can handle large amounts of metrics data by adding more Prometheus servers in a federation. Zabbix, on the other hand, is more limited in terms of scalability and may require additional efforts to scale horizontally. Prometheus's scalability makes it suitable for monitoring large and distributed systems.
Community and ecosystem: Prometheus has a vibrant and active community that has developed a rich ecosystem of exporters, integrations, and dashboards. This makes it easy to integrate Prometheus with various tools and systems. Zabbix also has a strong community support but is relatively less extensive than Prometheus's ecosystem. The availability of community-developed components and integrations can greatly enhance the functionality and ease of use of the monitoring system.
In summary, Prometheus and Zabbix differ in terms of architecture, data storage, alerting capabilities, service discovery, scalability, and community ecosystem. Understanding these differences can help in choosing the appropriate monitoring tool based on specific requirements and use cases.
Looking for a tool which can be used for mainly dashboard purposes, but here are the main requirements:
- Must be able to get custom data from AS400,
- Able to display automation test results,
- System monitoring / Nginx API,
- Able to get data from 3rd parties DB.
Grafana is almost solving all the problems, except AS400 and no database to get automation test results.
You can look out for Prometheus Instrumentation (https://prometheus.io/docs/practices/instrumentation/) Client Library available in various languages https://prometheus.io/docs/instrumenting/clientlibs/ to create the custom metric you need for AS4000 and then Grafana can query the newly instrumented metric to show on the dashboard.
Hi, We have a situation, where we are using Prometheus to get system metrics from PCF (Pivotal Cloud Foundry) platform. We send that as time-series data to Cortex via a Prometheus server and built a dashboard using Grafana. There is another pipeline where we need to read metrics from a Linux server using Metricbeat, CPU, memory, and Disk. That will be sent to Elasticsearch and Grafana will pull and show the data in a dashboard.
Is it OK to use Metricbeat for Linux server or can we use Prometheus?
What is the difference in system metrics sent by Metricbeat and Prometheus node exporters?
Regards, Sunil.
If you're already using Prometheus for your system metrics, then it seems like standing up Elasticsearch just for Linux host monitoring is excessive. The node_exporter is probably sufficient if you'e looking for standard system metrics.
Another thing to consider is that Metricbeat / ELK use a push model for metrics delivery, whereas Prometheus pulls metrics from each node it is monitoring. Depending on how you manage your network security, opting for one solution over two may make things simpler.
Hi Sunil! Unfortunately, I don´t have much experience with Metricbeat so I can´t advise on the diffs with Prometheus...for Linux server, I encourage you to use Prometheus node exporter and for PCF, I would recommend using the instana tile (https://www.instana.com/supported-technologies/pivotal-cloud-foundry/). Let me know if you have further questions! Regards Jose
My team is divided on using Centreon or Zabbix for enterprise monitoring and alert automation. Can someone let us know which one is better? There is one more tool called Datadog that we are using for cloud assets. Of course, Datadog presents us with huge bills. So we want to have a comparative study. Suggestions and advice are welcome. Thanks!
I work at Volvo Car Corporation as a consultant Project Manager. We have deployed Zabbix in all of our factories for factory monitoring because after thorough investigation we saw that Zabbix supports the wide variety of Operating Systems, hardware peripherals and devices a Car Manufacturer has.
No other tool had the same amount of support onboard for our production environment and we didn't want to end up using a different tool again for several areas. That is the major strong point about Zabbix and it's free of course. Another strong point is the documentation which is widely available; Zabbix Youtube channel with tutorial video's, Zabbix share which holds free templates, the Zabbix online documentation and the Zabbix forum also helped us out quite a bit. Deployment is quite easy since it uses templates, so almost all configuration can be done on server side.
To conclude, we are really pleased with the tool so far, it helped us detect several causes of issues that were a pain to solve in the past.
Centreon is part of the Nagios ecosystem, meaning there is a huge number of resources you may find around in the community (plugins, skills, addons). Zabbix monitoring paradigms are totally different from Centreon. Centreon plugins have some kind of intelligence when they are launched, where Zabbix monitoring rules are configured centrally with the raw data collected. Testing both will help you understand :) Users used to say Centreon may be faster for setup and deployment. And in the end, both are full of monitoring features. Centreon has out of the box a full catalog of probes from cloud to the edge https://www.centreon.com/en/plugins-pack-list/ As soon as you have defined your monitoring policies and template, you can deploy it fast through command line API or REST API. Centreon plays well in the ITSM, Automation, AIOps spaces with many connectors for Prometheus, ServiceNow, GLPI, Ansible, Chef, Splunk, ... The polling server mode is one of the differentiators with Centreon. You set up remote server(s) and chose btw multiple information-exchange mechanisms. Powerful and resilient for remote, VPN, DMZ, satellite networks. Centreon is a good value for price to do a data collection (availability, performance, fault) on a wide range of technologies (physical, legacy, cloud). There are pro support and enterprise version with dashboards and reporting. IT Central Station gathers many user feedback you can rely on both Centreon & Zabbix https://www.itcentralstation.com/products/centreon-reviews
We highly recommend Zabbix. We have used it to build our own monitoring product (available on cloud -like datadog- or on premise with support) because of its flexibility and extendability. It can be easily integrated with the powerful dashboarding and data aggregation of Grafana, so it is perfect. All configuration is done via web and templates, so it scales well and can be distributed via proxies. I think there also more companies providing consultancy in Zabbix (like ours) than Centreon and community is much wider. Also Zabbix roadmap and focus (compatibility with Elasticsearch, Prometheus, TimescaleDB) is really really good.
Hi Vivek, what's your stack? If huge monitoring bills are your concern and if you’re using a number of JVM languages, or mostly Scala / Akka, and would like “one tool to monitor them all”, Kamon might be the friendliest choice to go for.
Kamon APM’s major benefit is it comes with a built-in dashboard for the most important metrics to monitor, taking the pain of figuring out what to monitor and building your own dashboards for weeks out of the monitoring.
We're looking for a Monitoring and Logging tool. It has to support AWS (mostly 100% serverless, Lambdas, SNS, SQS, API GW, CloudFront, Autora, etc.), as well as Azure and GCP (for now mostly used as pure IaaS, with a lot of cognitive services, and mostly managed DB). Hopefully, something not as expensive as Datadog or New relic, as our SRE team could support the tool inhouse. At the moment, we primarily use CloudWatch for AWS and Pandora for most on-prem.
this is quite affordable and provides what you seem to be looking for. you can see a whole thing about the APM space here https://www.apmexperts.com/observability/ranking-the-observability-offerings/
I worked with Datadog at least one year and my position is that commercial tools like Datadog are the best option to consolidate and analyze your metrics. Obviously, if you can't pay the tool, the best free options are the mix of Prometheus with their Alert Manager and Grafana to visualize (that are complementary not substitutable). But I think that no use a good tool it's finally more expensive that use a not really good implementation of free tools and you will pay also to maintain its.
The objective of this work was to develop a system to monitor the materials of a production line using IoT technology. Currently, the process of monitoring and replacing parts depends on manual services. For this, load cells, microcontroller, Broker MQTT, Telegraf, InfluxDB, and Grafana were used. It was implemented in a workflow that had the function of collecting sensor data, storing it in a database, and visualizing it in the form of weight and quantity. With these developed solutions, he hopes to contribute to the logistics area, in the replacement and control of materials.
Pros of Prometheus
- Powerful easy to use monitoring47
- Flexible query language38
- Dimensional data model32
- Alerts27
- Active and responsive community23
- Extensive integrations22
- Easy to setup19
- Beautiful Model and Query language12
- Easy to extend7
- Nice6
- Written in Go3
- Good for experimentation2
- Easy for monitoring1
Pros of Zabbix
- Free21
- Alerts9
- Service/node/network discovery5
- Templates5
- Base metrics from the box4
- Multi-dashboards3
- SMS/Email/Messenger alerts3
- Grafana plugin available2
- Supports Graphs ans screens2
- Support proxies (for monitoring remote branches)2
- Perform website checking (response time, loading, ...)1
- API available for creating own apps1
- Templates free available (Zabbix Share)1
- Works with multiple databases1
- Advanced integrations1
- Supports multiple protocols/agents1
- Complete Logs Report1
- Open source1
- Supports large variety of Operating Systems1
- Supports JMX (Java, Tomcat, Jboss, ...)1
Sign up to add or upvote prosMake informed product decisions
Cons of Prometheus
- Just for metrics12
- Bad UI6
- Needs monitoring to access metrics endpoints6
- Not easy to configure and use4
- Supports only active agents3
- Written in Go2
- TLS is quite difficult to understand2
- Requires multiple applications and tools2
- Single point of failure1
Cons of Zabbix
- The UI is in PHP5
- Puppet module is sluggish2