Grafana: The Open Observability Platform
Join the DZone community and get the full member experience.Join For Free
In this article, I speak with Raj Dutt, CEO, and co-founder of Grafana Labs, the company behind the Grafana open source project.
What Is Grafana?
Grafana is open-source visualization and analytics software that works with lots of different databases and data sources. It connects to data regardless of where it resides — in the cloud, on-premises, or somewhere else — and helps organizations build the perfect picture to help them understand their data.
Perhaps Grafana's most unique feature is that its data source neutral, meaning it doesn't matter where your data is stored, Grafana can unify it. These sources can include time-series, logging, SQL and document databases, cloud data sources, enterprise plugins, and more options from community-contributed plugins. No matter the source, the data stays where it is, and you can visualize and analyze it at will. This makes Grafana a versatile tool and open to use for a wide range of applications.
There is one caveat to the statement above, and that's that for Grafana to be useful, your data should be time-series data, i.e., data taken at particular points in time. This describes a lot of data sources, but not all of them.
What Was the Driving Force Behind Grafana's Inception?
Grafana began life back in early 2014 when co-founder Torkel Ödegaard was working as a consultant. Having worked with numerous global tech companies, Torkel soon found he didn't have the tooling to show companies their performance data intuitively — it didn't exist, or at least nothing that was 100% fit for purpose.
Torkel decided to create his own, something that would enable the creation of dashboards and graphs to make organizational data look good, as well as the people who were presenting it.
Grafana was born, and its open-source nature soon made it a hit among people who had been looking for a solution to the specific data visualization problems they also had.
Who's Using Grafana Today?
In addition to enterprises that use Grafana to monitor servers, stacks, and other IT infrastructure, others use the software for many non-IT use cases too.
For example, Emergency Rooms in Tokyo use Grafana to monitor wait times across the city, relying on the visualizations to check where any potential problems may be. Non-IT use cases for Grafana represent about 20% of the total, with people using it for financial data, weather data, and more.
With Grafana, the basic premise is that you shouldn't need to be a developer to visualize and analyze data, allowing anyone to gain insights without getting someone else involved. It's an approach that doesn't restrict people to using certain databases and data sources.
With the open-source core, the team doesn't know exactly who uses Grafana, or what they are using it for. But there are 400,000+ instances currently running (at the time of interview).
An Open-source and Enterprise Solution
Despite being open-source, Grafana has two distinct solutions for enterprises: the aptly named Grafana Enterprise and Grafana Cloud.
Grafana Enterprise is aimed at large organizations and includes support, SLAs, and everything else an enterprise would need when running the software at scale.
Grafana Cloud is a fully hosted, managed, and scaled solution, which includes Grafana, Prometheus (for metrics), and Loki (for logs), with billing depending on data usage.
Grafana offers a variety of installation options from your local machine to containers and cloud hosting. Out of the many projects I've written about for DZone, installing and starting Grafana was refreshingly straightforward, confirming the claim that the project tries to be as accessible as possible.
After you add a data source, you can configure it with a wide variety of options to define the collection interval, variables, and annotations for the visualization.
With data sources in place, you can explore it to make ad-hoc queries and drill-downs using a GUI that reflects the data source(s).
You can use split view to make quick comparisons of queries and similarly explore any logs data sources.
Probably the most comprehensive feature of Grafana, dashboards, let you configure a set of panels to monitor the important data in your application, team, or company. A dashboard is generally several panels containing saved visualizations of a data source. You can click the header of any dashboard to view it in more detail, edit, share, explore, and more depending on any plugins you have enabled.
As you explore data, you can add annotations manually to add extra information about a data point in time.
You can create alerts based on rules in the edit section of any dashboard, and send notifications to a wide variety of destinations. As you create alerts, the visual preview of the streaming data set shows you when the alert will trigger, which I found useful to figure out how to tailor the alerts.
What's on the Horizon for Grafana
The Grafana team wants to add more observability by implementing tracing. So, in addition to metrics and log data side-by-side on a single screen, Grafana will also add traces, enabling interoperability with solutions like Jaeger.
There will also be new cloud offerings to further expand Grafana's capabilities beyond metrics, logs, and traces.
Opinions expressed by DZone contributors are their own.