Add grafana

This commit is contained in:
Alexandre Iooss 2019-07-22 16:39:22 +02:00
parent c4e3c76775
commit fbf55dcd50
No known key found for this signature in database
GPG key ID: 6C79278F3FCDCC02
3 changed files with 91 additions and 1 deletions

View file

@ -7,4 +7,4 @@ L'idée est de pouvoir redonder les services « légers » entre les résidences
En cours de test par erdnaxe. En cours de test par erdnaxe.
Pour lancer un service, aller dans le dossier puis Pour lancer un service, aller dans le dossier puis
`sudo docker-compose up --build`. `sudo docker-compose up --build -d`.

View file

@ -0,0 +1,25 @@
version: "3.7"
services:
grafana:
image: grafana/grafana
environnment:
- GF_SERVER_ROOT_URL=https://grafana.auro.re
- GF_SESSION_COOKIE_SECURE=true
- GF_ANALYTICS_REPORTING_ENABLE=false
- GF_SNAPSHOTS_EXTERNAL_ENABLED=false
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_ALLOW_ORG_CREATE=false
- GF_AUTH_BASIC_ENABLED=false
- GF_AUTH_LDAP_ENABLED=true
- GF_AUTH_LDAP_CONFIG_FILE=/etc/grafana/ldap.toml
# Install Grafana plugins at startup
- GF_INSTALL_PLUGINS=grafana-worldmap-panel
volumes:
- ./data_grafana:/var/lib/grafana
- ./ldap.toml:/etc/grafana/ldap.toml:ro
ports:
- 8082:3000
restart: always

65
grafana/ldap.toml Normal file
View file

@ -0,0 +1,65 @@
# To troubleshoot and get more log info enable ldap debug logging in grafana.ini
# [log]
# filters = ldap:debug
[[servers]]
# Ldap server host (specify multiple hosts space separated)
host = "10.128.0.11"
# Default port is 389 or 636 if use_ssl = true
port = 389
# Set to true if ldap server supports TLS
use_ssl = false
# Set to true if connect ldap server with STARTTLS pattern (create connection in insecure, then upgrade to secure connection with TLS)
start_tls = false
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false
# set to the path to your root CA certificate or leave unset to use system defaults
# root_ca_cert = "/path/to/certificate.crt"
# Authentication against LDAP servers requiring client certificates
# client_cert = "/path/to/client.crt"
# client_key = "/path/to/client.key"
# Search user bind dn
bind_dn = "cn=grafana,ou=service-users,dc=auro,dc=re"
# Search user bind password
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
bind_password = 'CHANGE ME IN PRODUCTION, I WILL DIFFER !'
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"
search_filter = "(cn=%s)"
# An array of base dns to search through
search_base_dns = ["cn=Utilisateurs,dc=auro,dc=re"]
## For Posix or LDAP setups that does not support member_of attribute you can define the below settings
## Please check grafana LDAP docs for examples
group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns = ["ou=posix,ou=groups,dc=auro,dc=re"]
group_search_filter_user_attribute = "cn"
# Specify names of the ldap attributes your ldap uses
[servers.attributes]
name = "sn"
surname = ""
username = "cn"
member_of = "dn"
email = "mail"
# Map ldap groups to grafana org roles
[[servers.group_mappings]]
group_dn = "cn=sudoldap,ou=posix,ou=groups,dc=auro,dc=re"
org_role = "Admin"
# To make user an instance admin (Grafana Admin) uncomment line below
grafana_admin = true
# The Grafana organization database id, optional, if left out the default org (id 1) will be used
# org_id = 1
[[servers.group_mappings]]
group_dn = "cn=technicien,ou=posix,ou=groups,dc=auro,dc=re"
org_role = "Editor"
[[servers.group_mappings]]
# If you want to match all (or no ldap groups) then you can use wildcard
group_dn = "*"
org_role = "Viewer"