使用datadog官方文档,我能够在DataDog UI中打印K8s stdout/stderr
日志,其目的是在我的Pod中的某个位置打印由Spring Boot应用程序生成的应用程序日志。
在集群中完成的配置:
在App中完成的配置:
DD_TRACE_SPAN_TAGS
,DD_TRACE_GLOBAL_TAGS
logback.xml
的模式完成上述配置后,我能够将
stdout/stderr
日志记录到我想在datadog UI中记录应用程序日志的位置如果有人这样做了,请让我知道我在这里想念的是什么。
如果需要,我也可以共享配置。提前致谢
最佳答案
在K8s集群中安装Datadog时,您将Node Logging Agent作为Daemonset安装,并在宿主节点上安装了各种卷。除其他事项外,这使Datadog可以访问/ var / log / pods中的Pod日志,并可以访问/ var / lib / docker / containers中的容器日志。
Kubernetes和底层Docker引擎将仅在这两个位置包括stdout和stderror的输出(有关更多信息,请参见here)。除非容器应用了更多配置来提取该数据,否则容器向容器中的日志文件写入的所有内容对于K8都是不可见的。通过应用side care container pattern。
因此,为了使您的设置正常运行,配置logback以登录到stdout,而不是/var/app/logs/myapp.log
另外,如果您不使用APM,则无需使用datadog.jar来检测代码并进行所有跟踪设置(设置端口等)。
关于kubernetes - 在DataDog中记录应用程序日志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62549173/