提交 3428b11e 编写于 作者: U Ulric Qin

configuration for metrics.yaml and templates

上级 f661a6bd
......@@ -54,6 +54,7 @@ Interval = 1000
[Alerting]
NotifyScriptPath = "./etc/script/notify.py"
NotifyConcurrency = 100
TemplatesDir = "./etc/template"
[Alerting.RedisPub]
Enable = false
......
......@@ -7,6 +7,9 @@ RunMode = "release"
# do not change
AdminRole = "Admin"
# metrics descriptions
MetricsYamlFile = "./etc/metrics.yaml"
# Linkage with notify.py script
NotifyChannels = [ "email", "dingtalk", "wecom", "feishu" ]
......
......@@ -57,6 +57,7 @@ Interval = 1000
[Alerting]
NotifyScriptPath = "./etc/script/notify.py"
NotifyConcurrency = 100
TemplatesDir = "./etc/template"
[Alerting.RedisPub]
Enable = false
......
......@@ -7,6 +7,9 @@ RunMode = "release"
# do not change
AdminRole = "Admin"
# metrics descriptions
MetricsYamlFile = "./etc/metrics.yaml"
# Linkage with notify.py script
NotifyChannels = [ "email", "dingtalk", "wecom", "feishu" ]
......
......@@ -113,6 +113,7 @@ type HeartbeatConfig struct {
type Alerting struct {
NotifyScriptPath string
NotifyConcurrency int
TemplatesDir string
RedisPub RedisPub
}
......
......@@ -44,15 +44,17 @@ var fns = template.FuncMap{
}
func initTpls() error {
tplDir := path.Join(runner.Cwd, "etc", "template")
if config.C.Alerting.TemplatesDir == "" {
config.C.Alerting.TemplatesDir = path.Join(runner.Cwd, "etc", "template")
}
filenames, err := file.FilesUnder(tplDir)
filenames, err := file.FilesUnder(config.C.Alerting.TemplatesDir)
if err != nil {
return errors.WithMessage(err, "failed to exec FilesUnder")
}
if len(filenames) == 0 {
return errors.New("no tpl files under " + tplDir)
return errors.New("no tpl files under " + config.C.Alerting.TemplatesDir)
}
tplFiles := make([]string, 0, len(filenames))
......@@ -63,11 +65,11 @@ func initTpls() error {
}
if len(tplFiles) == 0 {
return errors.New("no tpl files under " + tplDir)
return errors.New("no tpl files under " + config.C.Alerting.TemplatesDir)
}
for i := 0; i < len(tplFiles); i++ {
tplpath := path.Join(tplDir, tplFiles[i])
tplpath := path.Join(config.C.Alerting.TemplatesDir, tplFiles[i])
tpl, err := template.New(tplFiles[i]).Funcs(fns).ParseFiles(tplpath)
if err != nil {
......
......@@ -77,6 +77,7 @@ type Config struct {
RunMode string
I18N string
AdminRole string
MetricsYamlFile string
ContactKeys []ContactKey
NotifyChannels []string
Log logx.Config
......
......@@ -12,7 +12,11 @@ import (
)
func metricsDescGetFile(c *gin.Context) {
fp := path.Join(runner.Cwd, "etc", "metrics.yaml")
fp := config.C.MetricsYamlFile
if fp == "" {
fp = path.Join(runner.Cwd, "etc", "metrics.yaml")
}
if !file.IsExist(fp) {
c.String(404, "%s not found", fp)
return
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册