In this article, we will take a look at what Graphite and Grafana are and what they are used for. Some people might mix these two up, but they do completely different jobs when creating a monitoring system. Let’s take a look these tools in more depth.
Graphite is an Open Source software that stores and displays metrics in real time. It was designed to work on an enterprise scale, even when using very cheap hardware. It is also capable of being fed metrics from several different sources, which makes it very easy to use on any kind of system. Graphite works in 3 parts: graphite-web, carbon, and whisper. Carbon listens for data and stores it as numeric time-series data in whisper, then the data gets rendered as visual graphs with graphite-web. You can also exclude graphite-web, which would leave you with just a Graphite database.
To find out more about Graphite, check out our articles on Graphite concepts and architecture and Graphite installation and setup. Also, try out the MetricFire free trial where you can use both Graphite and Grafana in our hosted platform.
Grafana is an Open Source software that runs analytics and is able to create an interactive visual monitoring dashboard for any kind of database. It is a dashboard that helps you understand your metrics by being able to query, visualize, and alert from your database. It does not collect or store data for you, that is the job of Graphite and whatever is feeding your database. Grafana is able to connect to several different kinds of databases at once, it does not limit you to only one type of database. This lets you become very flexible with how you monitor your systems since you can visualize data from multiple sources, such as Prometheus, Graphite, InfluxDB, Elasticsearch and more. You can think of Grafana as a customizable dashboard that also empowers you to do analytics and alerting.
Graphite can be used by Grafana as a data source, but not the other way around. This is because Graphite can be used as a database, while Grafana can only query databases. Graphite-web and Grafana are similiar in the sense that they both can render graphs, but Graphite-web cannot process as many different types of databases and visualizations as Grafana can. Grafana is also a graph editor, while Graphite-web is not. You can customize your Grafana graphs to look like how you want them to be. It is typical to go with Grafana over Graphite-web as the dashboard for your graphs as it is very flexible and customizable when implementing to any system.
MetricFire is an all-in-one platform that hosts monitoring software like Graphite, Grafana, Prometheus, as well as tons of add-ons that help with stats, alerts, and annotations. Using MetricFire saves you not only the setup time, but also the long-term maintenance time. Self hosting your own monitoring system, buying servers, and hiring people to maintain it costs a lot of money. All you need to do is send your metrics to your MetricFire account, and our product does all the work for you. You can try it out today with a 14-day trial by creating an account at MetricFire.
It is very easy to get setup on MetricFire. Once you have your account, you have a few options to send metrics over. One of the most compatible and simplest ways is to use the collection agent, which uses Python’s metrics collector package Diamond and Supervisor process manager.