nightingale1/docker/n9eetc/script/notify
xtan 070e5051c6
修复go plugin相关错误 (#964)
Co-authored-by: tanxiao <tanxiao@asiainfo.com>
2022-05-27 17:38:15 +08:00
..
Makefile add configs for docker env 2022-04-18 13:40:40 +08:00
README.md 修复go plugin相关错误 (#964) 2022-05-27 17:38:15 +08:00
notify.go 修复go plugin相关错误 (#964) 2022-05-27 17:38:15 +08:00

README.md

通过go plugin模式处理告警通知

相比于调用py脚本方式该方式一般无需考虑依赖问题

(1) 编写动态链接库逻辑

package main

type inter interface {
	Descript() string
	Notify([]byte)
}

// 0、Descript 可用于该插件在 server 中的描述
// 1、在 Notify 方法中实现要处理的自定义逻辑

实现以上接口的 struct 实例即为合法 plugin

(2) 构建链接库

参考 notify.go 实现方式,执行 make 后可以看到生成一个 notify.so 链接文件,放到 n9e 对应项目位置即可

(3) 更新 n9e 配置

[Alerting.CallPlugin]
Enable = false
PluginPath = "./etc/script/notify.so"
# 注意此处caller必须在notify.so中作为变量暴露,首字母必须大写才能暴露
Caller = "N9eCaller"