Grafana - ArchWiki

Jump to content
From ArchWiki

Related articles

- Zabbix
- Munin

Grafana is an open-source, general purpose dashboard and graph composer, which runs as a web application. It supports graphite, InfluxDB, Prometheus or opentsdb as backends.

## Installation

Install the grafana package.

After that you can enable and start `grafana.service` and access the application on localhost, e.g.: http://127.0.0.1:3000 . The default username is `admin` and password `admin` to access the web frontend.

Warning: The default configuration listens on `*:3000` so make sure to change the configuration or enable the relevant firewall rules.

## Example usage

### Influxdb installation

One often used backend is InfluxDB. Enable and start `influxdb.service`. The web interface is available at http://localhost:8086/

### Aggregate data

In case of scaleable server monitoring in combination with Grafana and InfluxDB, one could choose software like collectdAUR. More generally any measurement data can be aggregated with InfluxDB and displayed with Grafana. There are modules and libraries for several programming languages to interact with InfluxDB and one could even store data with a simple http post command using the program curl.

Herefore, create a database named `example`:

    $ curl -G http://localhost:8086/query --data-urlencode "q=CREATE DATABASE example"

Post data into the `example` database:

    $ curl -i -XPOST 'http://localhost:8086/write?db=example' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

### Creating Grafana dashboard

- Before creating a dashboard, we have to add a data source. So first click on `Data sources` in the left menu and then on `Add new`.
- Name can be something like `influxdb` and the type should be set to `InfluxDB 0.9`. In this example, the url for the Http settings is `http://localhost:8086`. Note that the port is not the same as the one of the web interface! Database name corresponds to the one earlier chosen, e.g. `example`. If not changed, username and password are `root`.
- Click on `Test connection` to see everything is working and then on `Save`.
- Next, back at the front page, click `Home` in the left-upper corner and then on `New`.
- Now this might be a bit counter-intuitive, but to add a new dashboard you have to hover and click over the little green box on the left side and then, for example, choose: `Add panel` and `Graph`.
- Click on the title of the new graph and select `Edit`.
- In the graph settings in `Metrics` choose `influxdb` as data source in the lower-right corner.
- Create a query by selecting your aggregated data. Click on `select measurement` which is located beside `FROM`. In the dropdown menu should appear a list of "tables" in your database, e.g. the table named `localhost`. If no suggestions comes up, your connection to InfluxDB might be broken or no data has been aggregated yet.
- Beside the bold text `SELECT` click on `value` and choose for example the measurement data `uptime`.
- To save changes, click `Back to dashboard`, then the floppy disc icon.

Categories:

- Network monitoring
- Web applications