mirror of
https://github.com/status-im/infra-role-grafana.git
synced 2025-02-19 16:04:21 +00:00
Signed-off-by: Alexis Pentori <alexis@status.im>
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 with Github:
grafana_oauth_id: '123qwe123qwe123'
grafana_oauth_secret: 'qweasdqweasdqweasdqweasd'
grafana_oauth_gh_org: 'evil-corp'
grafana_oauth_gh_team_ids: [ 1234, 5678 ]
Or with Keycloak:
grafana_oauth_id: 'client-id'
grafana_oauth_secret: 'client-secret'
grafana_oauth_type: 'keycloak'
grafana_oauth_keycloak_role: "contains(groups[*], 'admin') && 'Admin' || contains(groups[*], 'editor') && 'Editor' || 'Viewer'"
grafana_oauth_keycloak_url: 'https://keycloak.com/realms/realm'
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
You can defined Postgre data source connections with:
grafana_postgres_sources:
- name: 'database'
host: 'hostname'
database: 'db-name'
port: port
user: 'user'
password: 'password'
Details
Configuration consists of two templates:
grafana.ini.j2
- Grafana main configuration file.prometheus.yml.j2
- Initial configuration of the query backend(s).
Description
Languages
Jinja
100%