From 8aebe8b0d26eb1272be330fbb32f74b49a32ba23 Mon Sep 17 00:00:00 2001 From: zhanghan2021 Date: Thu, 15 Jun 2023 16:54:30 +0800 Subject: [PATCH] add prometheus alerts --- .../{query.go => prometheusAPI.go} | 34 +++++++++++++++++++ prometheus/server/httphandler/target.go | 20 ----------- prometheus/server/router/router.go | 6 +++- 3 files changed, 39 insertions(+), 21 deletions(-) rename prometheus/server/httphandler/{query.go => prometheusAPI.go} (53%) diff --git a/prometheus/server/httphandler/query.go b/prometheus/server/httphandler/prometheusAPI.go similarity index 53% rename from prometheus/server/httphandler/query.go rename to prometheus/server/httphandler/prometheusAPI.go index d071d27a..5fbd40b4 100644 --- a/prometheus/server/httphandler/query.go +++ b/prometheus/server/httphandler/prometheusAPI.go @@ -41,3 +41,37 @@ func QueryRange(c *gin.Context) { c.Request.URL.Path = "api/v1/query_range" //请求API proxy.ServeHTTP(c.Writer, c.Request) } + +func Targets(c *gin.Context) { + remote := c.GetString("targets") + if remote == "" { + fmt.Println("get reverse dest failed!") + return + } + url, err := url.Parse(remote) + if err != nil { + return + } + + proxy := httputil.NewSingleHostReverseProxy(url) + + c.Request.URL.Path = "api/v1/targets" //请求API + proxy.ServeHTTP(c.Writer, c.Request) +} + +func Alerts(c *gin.Context) { + remote := c.GetString("alerts") + if remote == "" { + fmt.Println("get reverse dest failed!") + return + } + url, err := url.Parse(remote) + if err != nil { + return + } + + proxy := httputil.NewSingleHostReverseProxy(url) + + c.Request.URL.Path = "api/v1/alerts" //请求API + proxy.ServeHTTP(c.Writer, c.Request) +} diff --git a/prometheus/server/httphandler/target.go b/prometheus/server/httphandler/target.go index 98b20bca..e1d804ff 100644 --- a/prometheus/server/httphandler/target.go +++ b/prometheus/server/httphandler/target.go @@ -1,10 +1,7 @@ package httphandler import ( - "fmt" "net/http" - "net/http/httputil" - "net/url" "gitee.com/openeuler/PilotGo-plugins/sdk/response" "github.com/gin-gonic/gin" @@ -26,23 +23,6 @@ func DBTargets(c *gin.Context) { c.JSON(http.StatusOK, objs) } -func PrometheusAPITargets(c *gin.Context) { - remote := c.GetString("targets") - if remote == "" { - fmt.Println("get reverse dest failed!") - return - } - url, err := url.Parse(remote) - if err != nil { - return - } - - proxy := httputil.NewSingleHostReverseProxy(url) - - c.Request.URL.Path = "api/v1/targets" //请求API - proxy.ServeHTTP(c.Writer, c.Request) -} - type PrometheusObject struct { Targets []string `json:"targets"` } diff --git a/prometheus/server/router/router.go b/prometheus/server/router/router.go index d23851dd..5adbbde0 100644 --- a/prometheus/server/router/router.go +++ b/prometheus/server/router/router.go @@ -38,7 +38,11 @@ func RegisterAPIs(router *gin.Engine) { }) prometheus.GET("/targets", func(c *gin.Context) { c.Set("targets", global.GlobalClient.PluginInfo.ReverseDest) - httphandler.PrometheusAPITargets(c) + httphandler.Targets(c) + }) + prometheus.GET("/alerts", func(c *gin.Context) { + c.Set("alerts", global.GlobalClient.PluginInfo.ReverseDest) + httphandler.Alerts(c) }) } -- Gitee