grafana 通过自定义API获取数据

一、安装插件

安装infinity插件


安装.png

二、配置数据源

配置数据源.png

设置并保存.png

三、配置图表

1、数据

这边提供一个go的demo

package main

import (
    "math/rand"
    "net/http"
    "time"

    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()

    rand.Seed(time.Now().Unix())
    router.GET("/api/data", func(ctx *gin.Context) {
        var data []Metric
        for i := 0; i < 10; i++ {
            data = append(data, Metric{Entity: "m1", Value: rand.Float64() * 10.0, Time: time.Now().Add(time.Duration(-i) * time.Minute).UnixMilli()})
            data = append(data, Metric{Entity: "m2", Value: rand.Float64() * 10.0, Time: time.Now().Add(time.Duration(-i) * time.Minute).UnixMilli()})
            data = append(data, Metric{Entity: "m3", Value: rand.Float64() * 10.0, Time: time.Now().Add(time.Duration(-i) * time.Minute).UnixMilli()})
        }

        ctx.JSON(http.StatusOK, data)
    })

    router.Run(":8080")
}

type Metric struct {
    Entity string      `json:"entity"`
    Value  interface{} `json:"value"`
    Time   int64       `json:"time"`
}

2、图表

配置图表.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容