Ansible:管理 Grafana 仪表板

Ansible: Manage Grafana dashboards

我正在尝试将导入 Grafana 仪表板复制到 Grafana。

我正在使用下一个模块:

- name: Export dashboard
  grafana_dashboard:
    grafana_url: "http://{{ inventory_hostname }}:3000"
    grafana_user: "user"
    grafana_password: "password"
    org_id: "1"
    state: present
    slug: "node-exporter"
    overwrite: yes
    path: "/tmp/test/node_exporter.json"

我在本地机器和远程机器上都有 node_exporter.json。但是当我 运行 ansible 剧本时,它会抛出下一个错误:

fatal: [172.16.8.231]: FAILED! => {"changed": false, "msg": "error : Unable to create the new dashboard node-exporter-test : 404 - {'body': '{\"message\":\"Dashboard not found\",\"status\":\"not-found\"}', 'status': 404, 'content-length': '54', 'url': 'http://172.16.8.231:3000/api/dashboards/db', 'msg': 'HTTP Error 404: Not Found', 'connection': 'close', 'date': 'Wed, 10 Apr 2019 14:52:58 GMT', 'content-type': 'application/json'}."}

它抛出 dashboard not found,但在本地和远程计算机中。我是否跳过了任何需要的配置?

仪表板管理在grafana中一塌糊涂。目前我发现的最好方法是使用 'provisioned dashboards'(grafana 的特殊配置,用于从文件系统中获取仪表板)。

查看 cloudalchemy.grafana 角色 (tasks/dashboards.yml) 以了解他们是如何做到的。