Evaluate Grafana vs. Kibana for IT data visualization
Grafana and Kibana are two strong contenders for on-premises data visualization tools. Compare the two and pick which tool is best for your organization.
Data visualization tools are useful for system administrators, software engineers and project managers. Grafana and Kibana are two tools that you can consider.
Grafana and Kibana can collect data from different sources, and both have several different graphs and visualization tools to render data including histograms, bar graphs and line charts. Before you choose a tool, take time to explore the features and options to see how they might fit your organization's specific needs.
Grafana overview
Grafana is free, open source software that you can host on premises or using one of many different cloud services. Grafana has a managed service offering named Grafana Cloud, and several cloud providers, including AWS and Azure, offer managed Grafana services that integrate natively with their other services.
Grafana can use several different data sources to display data. This includes some that are vendor specific, including AWS CloudWatch, Google Cloud BigQuery and Azure Monitor. Other well-known tools that Grafana can integrate with include PostgreSQL, MySQL and MongoDB.
No matter which data source you use, build the dashboard by using SQL queries or the visual query editor. In the video example, a PostgreSQL database uses data from the Rebrickable Lego dataset. Use a SQL query to make a view of the number of Lego sets in each theme, which Grafana renders as a colored bar graph.
SELECT lt.name AS theme_name, COUNT(ls.set_num) AS number_of_sets
FROM lego_themes lt
JOIN lego_sets ls ON lt.id = ls.theme_id
GROUP BY lt.name
ORDER BY number_of_sets DESC;
Grafana can also use time series data to create real-time monitoring dashboards for live systems. One of the other dashboards in the video uses Grafana's built-in Test Data data source, which shows mock data over time to illustrate how real-time graphs can be rendered.
Kibana overview
Kibana is a part of the ELK stack, which stands for Elasticsearch, LogStash and Kibana. You can host Kibana on-prem or through the Elastic managed service. Anywhere that you can deploy an Elasticsearch cluster, you can include Kibana.
Kibana can integrate with a wide variety of data sources. At time of writing, there are more than 350 integrations available in Kibana, and the development team at Elastic is working on adding more.
Kibana integrations focus on application and instance logs such as operating system logs and cloud integrations. These integrations include AWS CloudWatch, Azure Application Insights Metrics and Google Cloud Pub/Sub logs.
Kibana integrates with other tools such as PostgreSQL, MongoDB, MySQL and others that focus on different databases or sources. Not all work natively with Kibana integrations. Some need additional connectors so the data can sync with Elasticsearch.
The sample dashboard that uses the Kibana demo flight logs integration shows some of the graphical capabilities of Kibana, including the ability to change the data shown using dropdown menus and other filters.
Pricing
Pricing for Grafana and Kibana varies because both can run on-prem or as a part of other services, including OpenSearch. However, both tools offer subscription-based managed services which include other benefits, such as enterprise integrations and managed runtimes.
Grafana Cloud has a free tier that allows you to collect ten thousand metrics each month, supports three users and gives access to all the free plug-ins. Additional plugins and features are available on a pay-as-you-go basis or for a flat fee of $300 per month.
Kibana is only sold as a part of the Elastic Cloud, which also includes Elasticsearch and Logstash. There isn't a free tier. Pricing ranges from between $95 and $175 with a 14-day trial period to evaluate it.
Editor's note: This article was originally written by Walker Rowe and expanded upon by Christopher Blackden.
Christopher Blackden got his first IT job at the age of 15 and has since held positions in several different disciplines, including system administration and software engineering. Currently, he's a DevOps engineer at Children's Hospital of Philadelphia.