v5.4.0
- 解决user.contacts字段在pg数据库无法转换的问题
- 配置订阅规则的时候,即使是普通权限的用户也可以看到所有业务组的所有告警规则
- 限制上报的时间戳不能大于当前时间,如果超过当前时间5分钟则重置为当前系统时间
- 读取告警自愈脚本的执行结果降低权限限制,只要能登录就可以读取
- 对于上报的监控数据如果小数位太长,截取为只保留5位小数
- 把告警发送的逻辑尽可能挪到go代码中,避免依赖python,默认关闭python脚本的调用
- 调整告警发送的并发数,改为默认10个并发,邮件服务器一般限制的较小
- 全局的告警回调配置段改成Alerting.Webhook
前端对应的也做了升级: https://github.com/n9e/fe-v5/releases/tag/v5.1.4 新版本的前端内容已默认放到tarball的pub目录下,无需去单独下载前端的包
变更了n9e二进制、server.conf、webapi.conf、notify.py的脚本,大家更新配置文件的时候要仔细对照一下本地配置和github上的配置的差别。
server.conf的主要变化内容如下:
[SMTP]
Host = "smtp.163.com"
Port = 994
User = "username"
Pass = "password"
From = "username@163.com"
InsecureSkipVerify = true
Batch = 5
[Alerting]
TemplatesDir = "./etc/template"
NotifyConcurrency = 10
# use builtin go code notify by default
NotifyBuiltinEnable = true
[Alerting.CallScript]
# built in sending capability in go code
# so, no need enable script sender
Enable = false
ScriptPath = "./etc/script/notify.py"
[Alerting.RedisPub]
Enable = false
# complete redis key: ${ChannelPrefix} + ${Cluster}
ChannelPrefix = "/alerts/"
[Alerting.Webhook]
Enable = false
Url = "http://a.com/n9e/callback"
BasicAuthUser = ""
BasicAuthPass = ""
Timeout = "5s"
Headers = ["Content-Type", "application/json", "X-From", "N9E"]改成默认使用go代码内置了邮件、钉钉机器人、企微机器人、飞书机器人发送告警的能力(这样就可以不用python了,减轻环境依赖),如果大家想继续用python脚本,就要把NotifyBuiltinEnable改成false,然后启用CallScript,同时把notify.bak.py的内容再重新替换notify.py
webapi.conf的变动内容:
[[NotifyChannels]]
Label = "邮箱"
# do not change Key
Key = "email"
[[NotifyChannels]]
Label = "钉钉机器人"
# do not change Key
Key = "dingtalk"
[[NotifyChannels]]
Label = "企微机器人"
# do not change Key
Key = "wecom"
[[NotifyChannels]]
Label = "飞书机器人"
# do not change Key
Key = "feishu"把NotifyChannels的结构做了调整