diff options
author | Christian Pointner <equinox@spreadspace.org> | 2021-10-26 12:24:44 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2021-10-26 12:24:44 +0200 |
commit | a89e88a786dc1fbe3f6c49f24388da33d6703c1f (patch) | |
tree | 85f98aaeb3ecabf9e4bb92064bd2a0a392c68bc4 /roles/monitoring/grafana/tasks | |
parent | prometheus: scrape exporter running on server using localhost address (diff) |
installing grafana dashboards works now
Diffstat (limited to 'roles/monitoring/grafana/tasks')
-rw-r--r-- | roles/monitoring/grafana/tasks/main.yml | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/roles/monitoring/grafana/tasks/main.yml b/roles/monitoring/grafana/tasks/main.yml index 46130882..8b1db9c6 100644 --- a/roles/monitoring/grafana/tasks/main.yml +++ b/roles/monitoring/grafana/tasks/main.yml @@ -86,14 +86,31 @@ group: grafana mode: 0750 - ## TODO: fix datasource selection -- name: install - loop: "{{ grafana_dashboards }}" +- name: install dashboards from file + loop: "{{ grafana_dashboards | selectattr('file', 'defined') }}" + loop_control: + label: "{{ item.file }} -> {{ item.datasource }}" + copy: + content: "{{ lookup('file', 'dashboard-'+item.file+'.json') | regex_replace('\"(?:\\${)?DS_[A-Z0-9_-]+(?:})?\"', '\"'+item.datasource+'\"') }}\n" + dest: "/var/lib/grafana/dashboards/ansible/{{ item.datasource }}_{{ item.file }}.json" + +- name: install dashboards from content + loop: "{{ grafana_dashboards | selectattr('content', 'defined') }}" + loop_control: + label: "{{ item.name }} -> {{ item.datasource }}" copy: - src: "dashboard-{{ item }}.json" - dest: "/var/lib/grafana/dashboards/ansible/{{ item }}.json" + content: "{{ item.content | regex_replace('\"(?:\\${)?DS_[A-Z0-9_-]+(?:})?\"', '\"'+item.datasource+'\"') }}\n" + dest: "/var/lib/grafana/dashboards/ansible/{{ item.datasource }}_{{ item.name }}.json" + + ## TODO: implement this +- name: install dashboards from grafana.com + loop: "{{ grafana_dashboards | selectattr('id', 'defined') }}" + loop_control: + label: "https://grafana.com/api/dashboards/{{ item.id }} -> {{ item.datasource }}" + debug: + msg: 'installing dashboards from grafana.com is not yet supported!' -- name: make sure grafan-server is enabled and started +- name: make sure grafana-server is enabled and started systemd: name: grafana-server state: started |