config.go 1.6 KB
Newer Older
Y
Your Name 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
package config

import (
	"encoding/json"

	"github.com/eolinker/goku-api-gateway/ksitigarbha"
)

//ModuleNameSpace 模块空间名称
const ModuleNameSpace = "diting.prometheus"
const moduleName = "Prometheus"

//Pattern 请求路径
const Pattern = "/prometheus/metrics"
const desc = "API监控模块对接Prometheus"
const content = `[
        {
            "type": "line",
            "label":"监控数据读取:http://{{节点IP}}:{{节点管理地址的端口}}/prometheus/metrics ",
            "descript":"(节点的 [管理地址端口] 可在节点信息处查看)",
            "items":[]
        }
    ]`

var (
	mode []ksitigarbha.Model
)

func init() {
	err := json.Unmarshal([]byte(content), &mode)
	if err != nil {
		panic("init prometheus config error")
		return
	}
}

//PrometheusModule 配置
type PrometheusModule struct {
}

//GetNameSpace 获取命名空间
func (c *PrometheusModule) GetNameSpace() string {
	return ModuleNameSpace
}

//Encoder encode
func (c *PrometheusModule) Encoder(v interface{}) (string, error) {
	return "", nil
}

//GetDefaultConfig 获取默认配置
func (c *PrometheusModule) GetDefaultConfig() interface{} {
	return nil
}

//GetModel 获取模板
func (c *PrometheusModule) GetModel() []ksitigarbha.Model {
	return mode
}

//GetDesc 获取描述
func (c *PrometheusModule) GetDesc() string {
	return desc
}

//GetName 获取名称
func (c *PrometheusModule) GetName() string {
	return moduleName
}

//Decode decode
func (c *PrometheusModule) Decode(config string) (interface{}, error) {
	return nil, nil
}

//Register 模板注册
func Register() {
	ksitigarbha.Register(moduleName, new(PrometheusModule))
}