Compare commits

..

3 Commits

Author SHA1 Message Date
Ulric Qin
1e3f71b00f modify prometheus query batch response format 2022-07-23 17:49:55 +08:00
ulricqin
0bd7ba9549 code refactor notify (#1066) 2022-07-22 18:12:42 +08:00
ulricqin
17c7361620 code refactor notify plugin (#1065) 2022-07-22 17:56:52 +08:00
4 changed files with 6 additions and 30 deletions

View File

@@ -7,13 +7,6 @@ import (
"github.com/tidwall/gjson"
)
// the caller can be called for alerting notify by complete this interface
type inter interface {
Descript() string
Notify([]byte)
NotifyMaintainer([]byte)
}
// N9E complete
type N9EPlugin struct {
Name string
@@ -48,6 +41,6 @@ func (n *N9EPlugin) NotifyMaintainer(bs []byte) {
// will be loaded for alertingCall , The first letter must be capitalized to be exported
var N9eCaller = N9EPlugin{
Name: "N9EPlugin",
Description: "Notification by lib",
Description: "Notify by lib",
BuildAt: time.Now().Local().Format("2006/01/02 15:04:05"),
}

View File

@@ -2,7 +2,6 @@ package engine
import (
"encoding/json"
"runtime"
"time"
"github.com/didi/nightingale/v5/src/models"
@@ -25,11 +24,6 @@ func notifyMaintainerWithPlugin(e error, title, triggerTime string, users []*mod
return
}
if runtime.GOOS == "windows" {
logger.Errorf("call notify plugin on unsupported os: %s", runtime.GOOS)
return
}
stdinBytes, err := json.Marshal(MaintainMessage{
Tos: users,
Title: title,

View File

@@ -101,11 +101,9 @@ func configRoute(r *gin.Engine, version string) {
if config.C.AnonymousAccess.PromQuerier {
pages.Any("/prometheus/*url", prometheusProxy)
pages.POST("/query-range-batch", promBatchQueryRange)
} else {
pages.Any("/prometheus/*url", auth(), prometheusProxy)
pages.POST("/query-range-batch", auth(), promBatchQueryRange)
}

View File

@@ -32,21 +32,15 @@ type batchQueryForm struct {
func promBatchQueryRange(c *gin.Context) {
xcluster := c.GetHeader("X-Cluster")
if xcluster == "" {
c.String(500, "X-Cluster is blank")
return
ginx.Bomb(http.StatusBadRequest, "header(X-Cluster) is blank")
}
var f batchQueryForm
err := c.BindJSON(&f)
if err != nil {
c.String(500, err.Error())
return
}
ginx.Dangerous(c.BindJSON(&f))
cluster, exist := prom.Clusters.Get(xcluster)
if !exist {
c.String(http.StatusBadRequest, "cluster(%s) not found", xcluster)
return
ginx.Bomb(http.StatusBadRequest, "cluster(%s) not found", xcluster)
}
var lst []model.Value
@@ -59,15 +53,12 @@ func promBatchQueryRange(c *gin.Context) {
}
resp, _, err := cluster.PromClient.QueryRange(context.Background(), item.Query, r)
if err != nil {
c.String(500, err.Error())
return
}
ginx.Dangerous(err)
lst = append(lst, resp)
}
c.JSON(200, lst)
ginx.NewRender(c).Data(lst, nil)
}
func prometheusProxy(c *gin.Context) {