Ansible role for Grafana dashboard
Go to file
Jakub Sokołowski 322700a8c6
parametrize timeInterval for Prometheus source
Necessary to match Prometheus scrape interval.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-01-31 10:52:40 +01:00
defaults parametrize timeInterval for Prometheus source 2022-01-31 10:52:40 +01:00
meta add metadata 2020-12-01 17:15:32 +01:00
tasks drop creating backups, will be done with Restic 2021-03-18 19:34:34 +01:00
templates parametrize timeInterval for Prometheus source 2022-01-31 10:52:40 +01:00
README.md drop creating backups, will be done with Restic 2021-03-18 19:34:34 +01:00

README.md

Description

This role configures a docker container running Grafana as a metrics dashboard.

It connects to a configured instance of Prometheus or Cortex to query for metrics.

Configuration

The main settings that matter are:

grafana_domain: 'grafana.example.org'
grafana_username: 'admin'
grafana_password: 'super-secret-password'
grafana_version: '7.3.4'
grafana_prometheus_sources:
  - { name: 'node-01', addr: '1.1.1.1', port: 8080 }
  - { name: 'node-02', addr: '1.1.1.2', port: 8080, path: 'proxy/' }

You should also configure OAuth:

grafana_oauth_id: '123qwe123qwe123'
grafana_oauth_secret: 'qweasdqweasdqweasdqweasd'
grafana_oauth_gh_org: 'evil-corp'
grafana_oauth_gh_team_ids: [ 1234, 5678 ]

Optional email configuration might be useful:

grafana_smtp_enabled: true
grafana_smtp_from_addr: 'grafana@example.org'
grafana_smtp_from_name: 'Grafana Email'
grafana_smtp_host: 'smtp'.example.org
grafana_smtp_port: 587
grafana_smtp_user: 'grafana'
grafana_smtp_pass: 'super-secret-password'

You can optionally allow anonymous access:

grafana_anonymous: true

Details

Configuration consists of two templates:

  • grafana.ini.j2 - Grafana main configuration file.
  • prometheus.yml.j2 - Initial configuration of the query backend(s).