webhook MS Teams 与 Prometheus 集成 - 请求失败

webhook MS Teams 与 Prometheus 集成 - 请求失败

我正在努力将 Microsoft Teams/Prometheus 集成到 K8s 集群中。我使用 helm 启动了所有组件。我的 Prometheus 和 Alertmanager 正常工作。似乎一切正常。Prometheus 与 Alertmanager 通信。然后 prometheus-msteams 从 Alert Manager 接收 POST 警报,它应该将其发送到 Microsoft Teams 频道,但事实并非如此。

2022/03/01 06:49:38 [DEBUG] POST https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx
2022/03/01 06:50:08 [ERR] POST https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx request failed: Post https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx: dial tcp 42.12.12.542:443: i/o timeout

30 秒后超时。我认为这可能是代理问题。因此,我将 extraEnv 参数添加到配置映射中,重新启动 pod,但没有任何变化。因此,我的配置如下所示:

apiVersion: v1
data:
  connectors.yaml: |
    connectors:
      - alertmanager-warning: https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx
      - alertmanager-critical: https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx

    extraEnvs:
      HTTPS_PROXY: http://my-proxy.com:911
kind: ConfigMap
metadata:

我还登录容器检查 /etc/config/connectors.yaml 是否正常。我担心这个 extraEnvs 不知何故不起作用。从 K8s 工作节点,我尝试手动(使用 curl)将一些测试 json 发布到 MS Chanel,但没有代理,它就挂了。当我导出 HTTPS_PROXY var 时,消息已在 MS Teams Chanel 中成功创建。

 export HTTPS_PROXY=http://my-proxy.com:911
 curl -X POST -d @test.json https://xxx.webhook.office.com/webhookb2/xxx-xxx-xxx/IncomingWebhook/xxx

您知道是什么原因导致的吗?当我输入时,这个 HTTPS_PROXY 环境是否应该列出打印数据在 prometheus-msteams 容器中?

答案1

问题解决了:) HTTPS_PROXY 应该定义部署而不是 configMap

env:
  - name: HTTPS_PROXY
    value: http://myproxy.com:911

相关内容