模拟官网编写自定义Grafana Dashboard

前言

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

bash 复制代码
## 官网dashboard
https://grafana.com/grafana/dashboards/

编写

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

bash 复制代码
{
  "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 上加入:

bash 复制代码
  "__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": ""
    }
  ],

同时把数据源改成如下:

bash 复制代码
"datasource": "${DS_PROMETHEUS}"

同时去掉uid:

bash 复制代码
"uid": "c043a946-45f8-4729-9d1b-0c24ffa095c3"
相关推荐
欧先生^_^20 小时前
ingress-nginx 开启 Prometheus 监控 + Grafana 查看指标
nginx·grafana·prometheus
Jeremy_Lee12320 小时前
grafana 批量视图备份及恢复(含数据源)
前端·网络·grafana
全栈工程师修炼指南20 小时前
Grafana 地图本土化方案:使用高德地图API平替GeoMap地图指南
grafana
临水逸1 天前
可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
apache·grafana
SailingCoder2 天前
grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
运维·人工智能·typescript·node.js·grafana
xbd_zc4 天前
【使用 Loki + Promtail + Grafana 搭建轻量级容器日志分析平台】
grafana·loki·promtail
qq_312920115 天前
K8S上使用helm部署 Prometheus + Grafana
kubernetes·grafana·prometheus
MyikJ7 天前
Java 面试实录:从Spring到微服务的技术探讨
java·spring boot·微服务·kafka·spring security·grafana·prometheus
tatasix7 天前
从监控到告警:Prometheus+Grafana+Alertmanager+告警通知服务全链路落地实践
grafana·prometheus
小陈99cyh9 天前
docker-compose搭建prometheus以及grafana
docker·grafana·prometheus