elasticsearch - 使用fluentd,elsasticsearch和kibana获取在kubernetes容器中运行的tomcat容器的日志

标签 elasticsearch docker kubernetes fluentd

我们正在使用Kubernetes,并且在多个Pod上运行了多个tomcat / jws容器。什么是使用 fluentd,Elasticsearch和Kibana进行集中日志记录的最佳方法。
的主要目的是获取在pod 中运行的tomcat日志(例如:access.log和catalina.log),以及部署在tomcat上的应用程序日志。
另外,我们还需要区分来自不同Pod的日志(tomcat容器)。
我跟随下面的链接
https://access.redhat.com/documentation/en/red-hat-enterprise-linux-atomic-host/7/getting-started-with-containers/chapter-11-using-the-atomic-rsyslog-container-image
由此,我只能获取容器日志,而无法获取tomcat日志。

-普拉文

最佳答案

看一下这个例子:

https://github.com/kubernetes/contrib/tree/master/logging/fluentd-sidecar-es

基本思想是在您的容器中部署另一个流利的容器,并在容器之间共享一定的体积。应用程序容器将日志写入卷中,而流利的容器以只读方式安装相同的卷,并将日志馈送到elasticsearch。在默认配置中,日志事件将获得一个标签,例如“file.application.log”。

我们现在评估此设置,但是我们有更多具有相同日志文件名称的应用程序容器。因此,仍有工作要做。

关于elasticsearch - 使用fluentd,elsasticsearch和kibana获取在kubernetes容器中运行的tomcat容器的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36148817/

相关文章:

kubernetes - gcloud kubernetes 节点池 : high priority for preemptible VM nodes possible

elasticsearch - 在elasticsearch中搜索同一字段的多个值

docker - 如何使用 minikube 部署本地 docker 注册表?

java - 模仿 Elasticsearch MatchQuery

Docker卷挂载不存在

docker - 如何将文件复制到docker容器中的主机挂载目录

mysql - 使用 k8s StatefulSet 配置 MySQL 复制

kubernetes - 等待kubernetes作业完成

elasticsearch - 将 JSON 导入到 elasticsearch 时出现 JsonParseException

apache-spark - 为什么在提交到 YARN 集群时,elasticsearch-spark 5.5.0 会因 AbstractMethodError 而失败?