> 技术文档 > “errcode“:60020,“errmsg“:“not allow to access from your ip, hint:

“errcode“:60020,“errmsg“:“not allow to access from your ip, hint:


目录标题

    • 1. Phoenix 触发告警
    • 2. Alertmanager 接收并路由
    • 3. wechat 通道构造并发送请求
    • 4. 企业微信 API 校验与响应
    • 5. 完整链路示意

1. Phoenix 触发告警

  1. 规则计算结束

    • config/config.go:140 处,Phoenix 完成了告警计算,准备将结果发送给 Alertmanager。
  2. 调用 Alertmanager 客户端

    • Phoenix 通过内部客户端向 Alertmanager 发送告警请求。

2. Alertmanager 接收并路由

  1. HTTP 接口调用

    • Phoenix 发起对 /api/v2/phoenix/alerting/channel/wechat 的 HTTP 请求,用于触发或校验 WeChat 通道配置。
  2. 路由到 wechat 接收器

    • Alertmanager 根据其路由规则,将告警路由到配置名称为 wechat 的接收器(receiver)。

3. wechat 通道构造并发送请求

  1. 加载通道配置

    • channel/channel.go:144,读取 agent_idcorp_idcorp_secret、目标用户/群组等参数。
  2. 获取并缓存 Access Token

    • 调用企业微信的 gettoken 接口获取 access_token,并根据 Token 有效期做本地缓存。
  3. 发送告警消息

    • https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=… 发起 POST 请求,携带告警内容和接收对象信息。

4. 企业微信 API 校验与响应

  1. IP 白名单校验

    • 企业微信后台会校验请求源 IP 是否在“可信 IP 列表”中。若不在,返回类似 errcode=60020 的“IP 不被允许”错误。
  2. 返回调用结果

    • 成功errcode=0, errmsg=\"ok\"
    • 失败:形如 {\"errcode\":60020,\"errmsg\":\"not allow to access from your ip\"}

5. 完整链路示意

[Phoenix 规则引擎] ↓ Alertmanager 客户端 API 调用[Prometheus Alertmanager]───路由───▶[wechat 接收器处理器] ↓ 构造并发送 HTTP 请求[企业微信开放 API]───IP 白名单校验───▶ 返回调用结果

书法字体下载