# laurivan.grafana This role installs Grafana, InfluxDB and Prometheus via Docker. ## Requirements None ## Role Variables All variables are listed below (see also `defaults/main.yml`). ### Paths and Volumes All paths are by default defined as relative to `grafana_volume_base`: ```yml grafana_volume_base: "/mnt/data/grafana" grafana_setup_path: "{{ grafana_volume_base }}/config" grafana_volume_grafana: "{{ grafana_volume_base }}/grafana" grafana_volume_influxdb: "{{ grafana_volume_base }}/influxdb" grafana_volume_prometheus: "{{ grafana_volume_base }}/prometheus" ``` You can however define specific volumes for the individual items: - `grafana_setup_path` - where the Docker compose files are placed - `grafana_volume_grafana` - volume for the grafana docker container - `grafana_volume_influxdb` - volume for InfluxDB - `grafana_volume_prometheus` - volume for Prometheus.io ### InfluxDB We define the following variables for InfluxDB: ```yml influxdb: username: influxdb password: change_me org: example.com bucket: my_bucket admin_token: change_me ``` ### Prometheus We define Prometheus variables: ```yml prometheus_port: "9090" grafana_prometheus_project: my-project grafana_prometheus_job_name: prometheus grafana_prometheus_scrape_interval: '120s' grafana_prometheus_targets: - "10.0.0.35:9100" - "10.0.0.35:8080" ``` The targets are locations (ip address + port) where Prometheus polls for new data. This can be [cadvisor](https://github.com/google/cadvisor) or [node exporter](https://github.com/prometheus/node_exporter) for example. **Note**: Prometheus should be an internal service (i.e., empty `prometheus_port`). Hence, it doesn't have any security in place. ### Grafana We also define several variables for grafana ```yml grafana: username: changeme password: changeme ``` Just in case, you can override the user/group for grafana via: ```yml grafana_uid: grafana_gid: ``` ## Dependencies You need a machine with docker and docker-compose installed. ## Example Playbook ```yml - hosts: servers roles: - 'laurivan.grafana' ``` ## License MIT ## Author Information This role was created in 2022 by [Laur Ivan](https://www.laurivan.com).