nightingale1/etc/script/notify/README.md

36 lines
815 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

通过go plugin模式处理告警通知
---
相比于调用py脚本方式该方式一般无需考虑依赖问题
### (1) 编写动态链接库逻辑
```go
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 配置
```text
[Alerting.CallPlugin]
Enable = false
PluginPath = "./etc/script/notify.so"
# 注意此处caller必须在notify.so中作为变量暴露,首字母必须大写才能暴露
Caller = "N9eCaller"
```