前言

我们想编写自定义的Dashboard,类似于官网那样下载的Dashboard,并且能移值到机器主机,如何实现了?

## 官网dashboardhttps://grafana.com/grafana/dashboards/

编写

先在虚拟机写好Dashboard 然后下载。json文件如下:

{"annotations": {"list": [{"builtIn": 1,"datasource": {"type": "grafana","uid": "-- Grafana --"},"enable": true,"hide": true,"iconColor": "rgba(0, 211, 255, 1)","name": "Annotations & Alerts","type": "dashboard"},{"datasource": {"type": "prometheus","uid": "c043a946-45f8-4729-9d1b-0c24ffa095c3"},"enable": true,"iconColor": "red","name": "New annotation"}]},"editable": true,"fiscalYearStartMonth": 0,"graphTooltip": 0,"id": 35,"links": [],"liveNow": false,"panels": [{"collapsed": false,"gridPos": {"h": 1,"w": 24,"x": 0,"y": 0},"id": 8,"panels": [],"title": "CPU / Mem / Disk ","type": "row"},{"datasource": {"type": "prometheus","uid": "c043a946-45f8-4729-9d1b-0c24ffa095c3"},"fieldConfig": {"defaults": {"color": {"mode": "palette-classic"},"custom": {"axisCenteredZero": false,"axisColorMode": "text","axisLabel": "","axisPlacement": "auto","barAlignment": 0,"drawStyle": "line","fillOpacity": 0,"gradientMode": "none","hideFrom": {"legend": false,"tooltip": false,.....

参考官方下载的Dashboard改写

annotations 上加入:

"__inputs": [{"name": "DS_PROMETHEUS","label": "Prometheus","description": "","type": "datasource","pluginId": "prometheus","pluginName": "Prometheus"}],"__requires": [{"type": "grafana","id": "grafana","name": "Grafana","version": "6.1.6"},{"type": "panel","id": "graph","name": "Graph","version": ""},{"type": "datasource","id": "prometheus","name": "Prometheus","version": "1.0.0"},{"type": "panel","id": "singlestat","name": "Singlestat","version": ""},{"type": "panel","id": "table","name": "Table","version": ""}],

同时把数据源改成如下:

"datasource": "${DS_PROMETHEUS}"

同时去掉uid:

"uid": "c043a946-45f8-4729-9d1b-0c24ffa095c3"