自定义告警/通知
gophercron 中心服务
与边缘agent
的配置文件均提供了 report_addr
配置项,该配置项允许用户提供一个自定义的 api 来接收 gophercron 的一些事件,其中包括的任务执行过程中的warning
与 error
POST 方式,发送请求
鉴权
中心与边缘在请求时会在 header 中的 Authorization 字段携带上中心服务
/边缘agent
的jwt
实现鉴权,api 实现方可以通过 public_key 进行解密鉴权
数据结构
请求的通用数据结构(Body)为
json
{
"type": "{warning type}",
"time": unix时间戳,
"data": json-data
}
{
"type": "{warning type}",
"time": unix时间戳,
"data": json-data
}
json-data
系统层面告警
json
{
"type": "system",
"time": "1696089600",
"data": {
"endpoint": "告警服务的ip",
"type": "center-service / agent", // 告警服务类型
"message": "告警内容"
}
}
{
"type": "system",
"time": "1696089600",
"data": {
"endpoint": "告警服务的ip",
"type": "center-service / agent", // 告警服务类型
"message": "告警内容"
}
}
任务层面告警
json
{
"type": "task",
"time": "1696089600",
"data": {
"agent_ip": "告警来源ip",
"task_name": "任务名称",
"task_id": "任务id",
"project_title": "项目标题",
"project_id": "项目id",
"message": "告警内容"
}
}
{
"type": "task",
"time": "1696089600",
"data": {
"agent_ip": "告警来源ip",
"task_name": "任务名称",
"task_id": "任务id",
"project_title": "项目标题",
"project_id": "项目id",
"message": "告警内容"
}
}
Workflow 层面告警
json
{
"type": "workflow",
"time": "1696089600",
"data": {
"service_ip": "告警来源ip",
"workflow_id": "workflow任务id",
"workflow_title": "workflow任务标题",
"message": "告警内容"
}
}
{
"type": "workflow",
"time": "1696089600",
"data": {
"service_ip": "告警来源ip",
"workflow_id": "workflow任务id",
"workflow_title": "workflow任务标题",
"message": "告警内容"
}
}