grafana 通过自定义API获取数据

一、安装插件

安装infinity插件

二、配置数据源


三、配置图表

1、数据

这边提供一个go的demo

golang 复制代码
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、图表

相关推荐
陈译1 天前
Grafana——如何迁移Grafana到一台新服务器
运维·服务器·grafana
心灵宝贝1 天前
prometheus、grafana、windows、node exporter 安装包
grafana·prometheus
微风◝6 天前
3. 导入官方dashboard
grafana
陈译6 天前
Grafana-使用Button修改MySQL数据库
运维·数据库·mysql·grafana
葬爱家族小阿杰6 天前
Jmeter+Influxdb+Grafana平台监控性能测试过程
jmeter·grafana
葬爱家族小阿杰7 天前
Prometheus+Grafana+Jmeter监控服务器资源及中间件
jmeter·grafana·prometheus
日后定负责8 天前
使用grafana v11 建立k线(蜡烛图)仪表板
grafana
微风◝8 天前
2. grafana插件安装并接入zabbix
前端·zabbix·grafana
大熊程序猿10 天前
docker grafana安装
docker·容器·grafana
小Tomkk10 天前
Docker 部署 Grafana 教程
docker·容器·grafana