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、图表

相关推荐
Detachym2 天前
CentOS下的运维监控Grafana部署
运维·centos·grafana
南夏一木子3 天前
性能测试——搭建Prometheus+Grafana平台
grafana·prometheus
奈斯ing3 天前
【prometheus+Grafana篇】基于Prometheus+Grafana实现postgreSQL数据库的监控与可视化
运维·数据库·信息可视化·grafana·prometheus
xixingzhe24 天前
docker compose安装Prometheus、Grafana
docker·grafana·prometheus
碧水澜庭6 天前
Prometheus+ Grafana 监控系统入门
grafana·prometheus
遇见火星6 天前
一键部署Prometheus+Grafana+alertmanager对网站状态进行监控
grafana·prometheus
上海运维Q先生6 天前
Cilium动手实验室: 精通之旅---19.Golden Signals with Hubble and Grafana
云原生·k8s·grafana·cilium
奈斯ing6 天前
【prometheus+Grafana篇】基于Prometheus+Grafana实现Redis数据库的监控与可视化
数据库·redis·缓存·grafana·prometheus
smileNicky6 天前
Prometheus + Grafana 监控 RabbitMQ 实践指南
rabbitmq·grafana·prometheus
大咖分享课8 天前
云原生监控体系建设:Prometheus+Grafana的企业级实践
云原生·grafana·prometheus