Files
cloudpods/pkg/monitor/alerting/notifiers/templates/util.go
zhaoxiangchun dd8a07f364 metric describe 接口 (#7381)
* metric describe 接口

1.初始化influxdb measurement和field到本地
2.更新measurement和field的display_name,以及unit等信息

description api modify:

3.增加初始化json文件
4.统一查询的list接口信息增加description信息,并为description子集
5.增加measurement的权限的过滤

* 统一监控功能:

1.模版调整:
 1)修改email template
 2)格式化消息结构中的报警value,增加单位,同时可以转换为合适的单位
 3)简化消息体中的tag信息:name,ip,brand,value

2.增加报警历史记录
 1)记录每条报警规则的,报警信息
2020-08-26 13:44:34 +08:00

56 lines
1.5 KiB
Go

// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package templates
import (
"bytes"
"html/template"
t_template "text/template"
)
func CompileTemplateFromMapHtml(tmplt string, configMap interface{}) (string, error) {
out := new(bytes.Buffer)
t := template.Must(template.New("commpiled_template").Funcs(
template.FuncMap{
"GetValFromMap": GetValFromMap,
"Inc": Inc,
}).Parse(tmplt))
if err := t.Execute(out, configMap); err != nil {
return "", err
}
return out.String(), nil
}
func CompileTEmplateFromMapText(tmplt string, configMap interface{}) (string, error) {
out := new(bytes.Buffer)
t := t_template.Must(t_template.New("commpiled_template").Funcs(
t_template.FuncMap{
"GetValFromMap": GetValFromMap,
"Inc": Inc,
}).Parse(tmplt))
if err := t.Execute(out, configMap); err != nil {
return "", err
}
return out.String(), nil
}
func GetValFromMap(valMap map[string]string, key string) string {
return valMap[key]
}
func Inc(i int) int {
return i + 1
}