buluma.grafana
Rôle Ansible grafana
Grafana - plateforme pour l'analyse et la surveillance
GitHub | Version | Problèmes | Demandes de tirage | Téléchargements |
---|---|---|---|---|
Exemple de Playbook
Cet exemple est tiré de molecule/default/converge.yml
et est testé à chaque poussée, demande de tirage et publication.
---
- name: Convergence
hosts: all
become: yes
gather_facts: yes
roles:
- role: buluma.grafana
vars:
grafana_security:
admin_user: admin
admin_password: password
La machine doit être préparée. Dans le CI, cela se fait en utilisant molecule/default/prepare.yml
:
---
- name: Préparer
hosts: all
gather_facts: no
become: yes
roles:
- role: buluma.bootstrap
Vous pouvez également consulter une explication complète et un exemple sur la façon d'utiliser ces rôles.
Variables du Rôle
Les valeurs par défaut pour les variables sont définies dans defaults/main.yml
:
---
grafana_version: latest
grafana_yum_repo_template: etc/yum.repos.d/grafana.repo.j2
grafana_manage_repo: true
# Devons-nous utiliser la capacité de provisionnement lorsque cela est possible (le provisionnement nécessite grafana >= 5.0)
grafana_use_provisioning: true
# Le provisionnement doit-il être maintenu synchronisé ? Si vrai, les objets provisionnés précédemment seront supprimés s'ils ne sont plus référencés.
grafana_provisioning_synced: false
grafana_instance: "{{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }}"
grafana_logs_dir: "/var/log/grafana"
grafana_data_dir: "/var/lib/grafana"
grafana_address: "0.0.0.0"
grafana_port: 3000
# Pour permettre l'utilisation de ports en dessous de 1024 pour les processus non privilégiés, Linux doit définir CAP_NET_BIND_SERVICE.
# Cela a des implications de sécurité et doit être un choix conscient.
# Informez-vous en lisant : http://man7.org/linux/man-pages/man7/capabilities.7.html
grafana_cap_net_bind_service: false
# Adresse externe de Grafana. La variable correspond à "root_url" dans la section serveur de grafana
grafana_url: "http://{{ grafana_address }}:{{ grafana_port }}"
grafana_api_url: "{{ grafana_url }}"
grafana_domain: "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}"
# Options supplémentaires pour la section "server" de grafana
# Cette section OMITTRA les options pour : http_addr, http_port, domain, et root_url, car ces réglages sont définis par les variables énumérées précédemment
grafana_server:
protocol: http
enforce_domain: false
socket: ""
cert_key: ""
cert_file: ""
enable_gzip: false
static_root_path: public
router_logging: false
serve_from_sub_path: false
# Les variables correspondent à celles du fichier de configuration grafana.ini
# Sécurité
grafana_security:
admin_user: admin
admin_password: "password"
# secret_key: ""
# login_remember_days: 7
# cookie_username: grafana_user
# cookie_remember_name: grafana_remember
# disable_gravatar: true
# data_source_proxy_whitelist:
# Configuration de la base de données
grafana_database:
type: sqlite3
# host: 127.0.0.1:3306
# name: grafana
# user: root
# password: ""
# url: ""
# ssl_mode: disable
# path: grafana.db
# max_idle_conn: 2
# max_open_conn: ""
# log_queries: ""
# Cache distant
grafana_remote_cache: {}
# Gestion et enregistrement des utilisateurs
grafana_welcome_email_on_sign_up: false
grafana_users:
allow_sign_up: false
# allow_org_create: true
# auto_assign_org: true
auto_assign_org_role: Viewer
# login_hint: "email or username"
default_theme: dark
# external_manage_link_url: ""
# external_manage_link_name: ""
# external_manage_info: ""
# Mécanismes d'authentification de grafana
grafana_auth: {}
# disable_login_form: false
# oauth_auto_login: false
# disable_signout_menu: false
# signout_redirect_url: ""
# anonymous:
# org_name: "Main Organization"
# org_role: Viewer
# ldap:
# config_file: "/etc/grafana/ldap.toml"
# allow_sign_up: false
# basic:
# enabled: true
grafana_ldap: {}
# verbose_logging: false
# servers:
# host: 127.0.0.1
# port: 389 # 636 pour SSL
# use_ssl: false
# start_tls: false
# ssl_skip_verify: false
# root_ca_cert: /path/to/certificate.crt
# bind_dn: "cn=admin,dc=grafana,dc=org"
# bind_password: grafana
# search_filter: "(cn=%s)" # "(sAMAccountName=%s)" sur AD
# search_base_dns:
# - "dc=grafana,dc=org"
# group_search_filter: "(&(objectClass=posixGroup)(memberUid=%s))"
# group_search_base_dns:
# - "ou=groups,dc=grafana,dc=org"
# attributes:
# name: givenName
# surname: sn
# username: sAMAccountName
# member_of: memberOf
# email: mail
# group_mappings:
# - name: Main Org.
# id: 1
# groups:
# - group_dn: "cn=admins,ou=groups,dc=grafana,dc=org"
# org_role: Admin
# - group_dn: "cn=editors,ou=groups,dc=grafana,dc=org"
# org_role: Editor
# - group_dn: "*"
# org_role: Viewer
# - name: Alternative Org
# id: 2
# groups:
# - group_dn: "cn=alternative_admins,ou=groups,dc=grafana,dc=org"
# org_role: Admin
grafana_session: {}
# provider: file
# provider_config: "sessions"
grafana_analytics: {}
# reporting_enabled: true
# google_analytics_ua_id: ""
# Définissez ceci pour les notifications par e-mail
grafana_smtp: {}
# host:
# user:
# password:
# from_address:
# Activez le mécanisme d'alerte de grafana
grafana_alerting:
execute_alerts: true
# error_or_timeout: 'alerting'
# nodata_or_nullvalues: 'no_data'
# concurrent_render_limit: 5
# Configuration de la journalisation de grafana
grafana_log:
# mode: 'console file'
# level: info
# Système de métriques internes de grafana
grafana_metrics: {}
# interval_seconds: 10
# graphite:
# address: "localhost:2003"
# prefix: "prod.grafana.%(instance_name)s"
# Options de trace distribuée
grafana_tracing: {}
# address: "localhost:6831"
# always_included_tag: "tag1:value1,tag2:value2"
# sampler_type: const
# sampler_param: 1
grafana_snapshots: {}
# external_enabled: true
# external_snapshot_url: "https://snapshots-origin.raintank.io"
# external_snapshot_name: "Publish to snapshot.raintank.io"
# snapshot_remove_expired: true
# snapshot_TTL_days: 90
# Stockage d'images externes
grafana_image_storage: {}
# provider: gcs
# key_file:
# bucket:
# path:
#######
# Plugins de https://grafana.com/plugins
grafana_plugins: []
# - raintank-worldping-app
# Tableaux de bord de https://grafana.com/dashboards
grafana_dashboards: []
# - dashboard_id: '4271'
# revision_id: '3'
# datasource: 'Prometheus'
# - dashboard_id: '1860'
# revision_id: '4'
# datasource: 'Prometheus'
# - dashboard_id: '358'
# revision_id: '1'
# datasource: 'Prometheus'
grafana_dashboards_dir: "dashboards"
# Canaux de notification d'alerte à configurer
grafana_alert_notifications: []
# - name: "Email Alert"
# type: "email"
# uid: channel1
# is_default: true
# settings:
# addresses: "[email protected]"
# Sources de données à configurer
grafana_datasources: []
# - name: "Prometheus"
# type: "prometheus"
# access: "proxy"
# url: "http://prometheus.mydomain"
# basicAuth: true
# basicAuthUser: "admin"
# basicAuthPassword: "password"
# isDefault: true
# jsonData:
# tlsAuth: false
# tlsAuthWithCACert: false
# tlsSkipVerify: true
# Clés API à configurer
grafana_api_keys: []
# - name: "admin"
# role: "Admin"
# - name: "viewer"
# role: "Viewer"
# - name: "editor"
# role: "Editor"
# L'emplacement où les clés doivent être stockées.
grafana_api_keys_dir: "{{ lookup('env', 'HOME') }}/grafana/keys"
grafana_environment: {}
# Configurations des panneaux
grafana_panels: {}
# disable_sanitize_html: false
# enable_alpha: false
Exigences
- Packages pip listés dans requirements.txt.
État des rôles utilisés
Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.
Exigence | GitHub | Version |
---|---|---|
buluma.bootstrap |
Contexte
Ce rôle fait partie de plusieurs rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.
Voici un aperçu des rôles connexes :
Compatibilité
Ce rôle a été testé sur ces images de conteneurs:
conteneur | tags |
---|---|
Ubuntu | tous |
Debian | tous |
EL | tous |
Fedora | tous |
La version minimale d'Ansible requise est 2.12, et des tests ont été effectués sur :
- La version précédente.
- La version actuelle.
- La version de développement.
Si vous trouvez des problèmes, veuillez les signaler sur GitHub
Journal des modifications
Licence
Informations sur l'auteur
Grafana - platform for analytics and monitoring
ansible-galaxy install buluma.grafana