【问题标题】:Setting up ERROR REPORTING for GKE为 GKE 设置错误报告
【发布时间】:2017-06-11 08:16:02
【问题描述】:

我正在尝试为部署到 GKE 的应用设置 Stackdriver 错误报告。

据我了解,有两种方法可以做到这一点:Stackdriver Logging 代理错误报告 REST API

根据Setting up on Google Compute Engine docs 如果我已经有一个正在运行的日志记录代理,我可以通过localhost:24224 访问它。

似乎已经有一个 GKE 日志代理:

✗ kubectl get pods --namespace=kube-system
NAME                                                      READY     STATUS    RESTARTS   AGE
fluentd-cloud-logging-gke-tc-default-pool-5713124a-969q   1/1       Running   0          3d

有没有办法通过fluent-logger-node library 联系到这个fluentd

【问题讨论】:

    标签: google-kubernetes-engine stackdriver google-cloud-error-reporting


    【解决方案1】:

    (请注意,Stackdriver 错误报告尚未正式支持)

    这个问题和答案可能会对您的流利配置有所帮助:How to setup error reporting in Stackdriver from kubernetes pods?

    而且,由于您似乎使用的是 Node.js,我建议您直接使用 https://github.com/GoogleCloudPlatform/cloud-errors-nodejs,它不会通过 Logging 发送错误,而是直接发送到错误报告报告 API。

    【讨论】:

      【解决方案2】:

      Steren,非常感谢your answer

      让我分享一些关于这个问题的细节

      最近 Stackdriver 默认从 GKE 中的流行语言中获取流利的提取异常。它将在 GKE 的下一版本中启用,并且转储到容器的 stdout/stderr 的异常将在错误报告中可见。

      有没有办法使用 fluent-logger-node 库来实现这个 fluentd?

      GCE 和 GKE 上的日志记录代理的工作方式不同。在 GCE 上,您可以直接在 VM 上安装代理,并且可以使用 localhost 从同一 VM 访问它。但是,GKE 使用 pod 运行,没有直接在节点上安装任何内容。每个 pod 都有自己的网络堆栈,因此当您从容器内部调用 localhost 时,您不是在寻址 VM,而是在处理这个特定的 pod。

      如果启用 Stackdriver Logging,每个节点上都会部署 fluentd。但是,它在容器内运行,因此您目前无法从应用程序轻松访问它。

      未来,Stackdriver 和 GKE 团队将致力于提供开箱即用的可访问节点范围的 fluentd 端口,但现在,不幸的是,您必须自己做。

      如前所述,在应用程序 pod 中部署另一个 fluentd 代理作为 sidecar 容器并手动配置它可能更容易,here is an example how to do it with least efforts。在这种情况下,您将能够使用localhost 访问代理,就像它在 GCE 上一样。

      【讨论】:

      • 你知道 Stackdriver 什么时候会支持从标准输出读取异常吗?我在stackoverflow.com/questions/43451973/… 询问,因为它从文档中显示它应该已经可以工作,但不幸的是它对我不起作用
      • fluentd 是否将标准输出的严重性分配为 INFO?错误报告会查找 ERROR 或更高级别。
      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2017-08-24
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多