gpt4 book ai didi

kubernetes - 在 DataDog 中记录应用程序日志

转载 作者:行者123 更新时间:2023-12-02 11:42:24 28 4
gpt4 key购买 nike

使用 datadog 官方文档,我可以打印 K8s stdout/stderr在 DataDog UI 中登录,我的动机是在我的 pod 中的某个位置打印由 spring boot 应用程序生成的应用程序日志。
在集群中完成的配置:

  • 在我的集群中创建了 ServiceAccount 以及集群角色和集群角色绑定(bind)
  • 创建 K8s key 来保存 DataDog API key
  • 将 DataDog 代理部署为所有节点中的守护程序集

  • 在 App 中完成的配置:
  • 下载 datadog.jar 并将其与我的应用程序执行一起检测
  • 暴露端口 8125 和 8126
  • 添加环境标签 DD_TRACE_SPAN_TAGS , DD_TRACE_GLOBAL_TAGS在部署文件中
  • logback.xml 中的更改模式
  • 在部署文件中添加日志配置
  • 在部署文件中添加了 env 标签

  • 完成上述配置后,我可以登录 stdout/stderr记录我想在 datadog UI 中记录应用程序日志的位置
    如果有人这样做,请让我知道我在这里缺少什么。
    如果需要,我也可以共享配置。提前致谢

    最佳答案

    在您的 K8s 集群中安装 Datadog 时,您安装了 Node Logging Agent作为在托管节点上具有各种卷挂载的守护程序集。除其他外,这使 Datadog 可以访问/var/log/pods 中的 Pod 日志和/var/lib/docker/containers 中的容器日志。
    Kubernetes 和底层的 Docker 引擎只会在这两个位置包含来自 stdout 和 stderror 的输出(参见 here 了解更多信息)。容器写入驻留在容器内的日志文件的所有内容对 K8s 都是不可见的,除非应用更多配置来提取该数据,例如通过应用 side care container pattern .
    因此,为了让您的设置正常工作,配置 logback 以记录到 stdout 而不是/var/app/logs/myapp.log
    此外,如果您不使用 APM,则无需使用 datadog.jar 检测您的代码并进行所有跟踪设置(设置端口等)。

    关于kubernetes - 在 DataDog 中记录应用程序日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62549173/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com