When I first saw Grafana, I was astonished by its beauty immediately and I believe it should be the very tools for most dashboard / monitor use cases. This 10,000+ stared project provide a complete solution for metrics and analytics.
Check this live demo and you should feel the same pleasure as I do.
How does Grafana work
In short, Grafana is a metric solution which include UI Render / Query / Data Source features.
UI Render is amazing; Different types of Queries are supported and it provide a wide range of Data source (mostly time series DB) support.
So, to setup a Grafana for our own use, what should we do?
- First we need to setup the data source.
- Second, we setup Grafana server and connect it with the data source.
- Thrid, we feed data into the data source
The following article will cover how to set all the stuff up under Mac OSX. Although we have homebrew and pip, but it take more effort than it seems to be.
Graphite as Data Source
First of all, we are going to choose the data source first. Grafana provide a lot of DB support including: Graphite, Elasticsearch, CloudWatch, InfluxDB, OpenTSDB, KairosDB, Prometheus,
I will take Graphite as our primary data source, with the following reasons:
- powerful data APIs
- friendly render APIs with image accessing
- using whisper file to store data, operation friendly
- overall the design of Graphite is very clean, every layer of the design is scalable.