Role Detail

cloudalchemy.grafana

Grafana - platform for analytics and monitoring
Downloads
443
Type Ansible
Minimum Ansible Version 2.3
Installation $ ansible-galaxy install cloudalchemy.grafana
Tags
alerting
alerts
dashboard
grafana
metrics
monitoring
presentation
Last Commit
Last Imported
Version History
Version Release Date
0.8.2
0.8.1
0.8.0
0.7.16
0.7.15
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.3
0.2.1
0.1.2
0.1.1
0.1.0
0.0.4
0.0.3
0.0.2
0.0.1
OS Platforms
Platform Version
Debian jessie
Debian stretch
EL 7
Fedora 27
Ubuntu bionic
Ubuntu xenial
Last 10 Imports
Completed Status
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

grafana logo

Ansible Role: grafana

Build Status License Ansible Role GitHub tag IRC

Provision and manage grafana - platform for analytics and monitoring

Requirements

  • Ansible >= 2.3
  • libselinux-python on deployer host (only when deployer machine has SELinux)

Role Variables

All variables which can be overridden are stored in defaults/main.yml file as well as in table below.

Name Default Value Description
grafana_system_user grafana Grafana server system user
grafana_system_group grafana Grafana server system group
grafana_version latest Grafana package version
grafana_instance {{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }} Grafana instance name
grafana_logs_dir /var/log/grafana Path to logs directory
grafana_data_dir /var/lib/grafana Path to database directory
grafana_address 0.0.0.0 Address on which grafana listens
grafana_port 3000 port on which grafana listens
grafana_url "http://{{ grafana_address }}:{{ grafana_port }}" Full URL used to access Grafana from a web browser
grafana_domain "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}" setting is only used in as a part of the root_url option. Useful when using GitHub or Google OAuth
grafana_server { protocol: http, enforce_domain: false, socket: "", cert_key: "", cert_file: "", enable_gzip: False, static_root_path: public, router_logging: false } server configuration section
grafana_security { admin_user: admin, admin_password: "" } security configuration section
grafana_database { type: sqlite3 } database configuration section
grafana_welcome_email_on_sign_up False Send welcome email after signing up
grafana_users { allow_sign_up: False, auto_assign_org_role: Viewer, default_theme: dark } users configuration section
grafana_auth {} authorization configuration section
grafana_session {} session management configuration section
grafana_analytics {} Google analytics configuration section
grafana_smtp {} smtp configuration section
grafana_alerting True alerting configuration section
grafana_metrics {} metrics configuration section
grafana_tracing {} tracing configuration section
grafana_snapshots {} snapshots configuration section
grafana_image_storage {} image storage configuration section
grafana_dashboards [] List of dashboards which should be imported
grafana_datasources [] List of datasources which should be configured

Supported CPU Architectures

Detection is done automatically and packages are taken from different channels according to CPU architecture:

Example

Playbook

- hosts: all
  become: true
  roles:
    - cloudalchemy.grafana

Demo site

We provide demo site for full monitoring solution based on prometheus and grafana. Repository with code and links to running instances is available on github and site is hosted on DigitalOcean.

Local Testing

The preferred way of locally testing the role is to use Docker and molecule (v2.x). You will have to install Docker on your system. See Get started for a Docker package suitable to for your system. All packages you need to can be specified in one line:

pip install ansible 'ansible-lint>=3.4.15' 'molecule>2.13.0' docker 'testinfra>=1.7.0' jmespath

This should be similar to one listed in .travis.yml file in install section. After installing test suit you can run test by running

molecule test --all

For more information about molecule go to their docs.

Travis CI

Combining molecule and travis CI allows us to test how new PRs will behave when used with multiple ansible versions and multiple operating systems. This also allows use to create test scenarios for different role configurations. As a result we have a quite large test matrix (42 parallel role executions in case of ansible-prometheus) which will take more time than local testing, so please be patient.

Contributing

See contributor guideline.

License

This project is licensed under MIT License. See LICENSE for more details.

None