Need advice about which tool to choose?Ask the StackShare community!
Kiali vs Prometheus: What are the differences?
Introduction Kiali and Prometheus are two popular observability tools used in monitoring and managing applications. While both tools serve the same general purpose of monitoring, there are several key differences that set them apart. This article will highlight and explain the major differences between Kiali and Prometheus.
Data Collection and Metrics: Kiali is primarily designed to be used with Istio, a service mesh, and it collects metrics specifically related to Istio components and services. Kiali provides detailed insights into the health and performance of microservices within an Istio network. On the other hand, Prometheus is a general-purpose monitoring tool that can be used with a wide range of systems. It collects metrics using an HTTP pull model, allowing it to scrape and monitor various endpoints directly.
Data Storage and Querying: Kiali uses a time-series database called Jaeger, which is optimized for high-velocity data ingestion and query performance. It allows users to query and visualize Istio-related metrics efficiently. In contrast, Prometheus stores data in its custom time-series database called TSDB. It offers advanced querying capabilities, including PromQL, a powerful query language that allows for complex analysis and aggregation of metrics.
Alerting and Notification: Prometheus provides built-in alerting functionalities, allowing users to set up rules and thresholds for different metrics. It can send notifications through multiple channels, such as emails, Slack, or PagerDuty. Kiali, on the other hand, does not have native alerting capabilities. Users need to integrate Kiali with other alerting systems, such as Prometheus Alertmanager or third-party tools, to enable alerting and notification features.
Visualization and UI: Kiali offers a user-friendly web interface that provides graphical representations of the Istio service mesh, including the topology of services, traffic flows, and components. It allows users to visualize and navigate through the service mesh architecture easily. Prometheus, although it has a built-in UI called Prometheus Expression Browser, lacks a comprehensive graphical interface for visualizing metrics. Users typically rely on third-party tools, such as Grafana, to create dashboards and visualize Prometheus data.
Adoption and Ecosystem: Prometheus has a broader adoption and a more extensive ecosystem compared to Kiali. It is widely used in the Kubernetes community and has become the de facto standard for monitoring microservices. Prometheus has an active community, offering numerous integrations, plugins, and exporters. Kiali, being more specific to Istio and service mesh monitoring, has a smaller user base and a less extensive ecosystem in terms of integrations and third-party support.
Scalability and Performance: Both Kiali and Prometheus are scalable and performant tools, but there are some differences in their scaling capabilities. Kiali's scalability is mainly tied to the scale of the Istio service mesh it is monitoring. As the number of microservices and network traffic increases, additional Kiali instances may be required to handle the load. Prometheus, on the other hand, can scale horizontally by deploying multiple instances and using federation and sharding techniques to distribute the load across them.
In Summary, Kiali and Prometheus differ in terms of data collection, storage, querying, alerting, visualization, adoption, and scalability. While Kiali focuses on specifically monitoring Istio service mesh, Prometheus is a more general-purpose monitoring tool with a broader adoption and ecosystem.
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
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.
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.
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/
Pros of Kiali
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
Sign up to add or upvote prosMake informed product decisions
Cons of Kiali
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