如何从 java app (k8s) 收集日志到 fluentd(k8s)
How to collect logs from java app (k8s) to fluentd(k8s)
我在 k8s 和 fluentd(daemonset)中有 java 应用程序。在流利的会议中:
*`<source>
@type forward
port 24224
</source>
<match **>
@type stdout
</match>`*
我有点困惑。
我需要使用 fluentd-logger-java 库吗?我在文档中读到,我需要为流利的添加远程主机,但在这里我一般不使用服务。
应用程序如何将日志发送到 fluentd pods?
提前致谢!
鉴于您的 Java 应用程序可以记录到 stdout
和 stderr
,您将使用 fluentd 来读取该日志,并且在大多数情况下,将这些日志发送到一个系统可以聚合日志。
这张图片来自 official docs,显示了在 Kubernetes 中配置节点级日志记录的常见模式,例如fluentd as Pods 使用 DaemonSet 部署:
在上图中,logging-agent
将是 fluentd,my-pod
将是带有容器的 Pod 运行 您的 Java 应用程序。 Logging Backend
,从流畅配置的角度来看,是可选的,但当然强烈推荐。基本上你可以选择通过 fluentd stdout
.
输出你的日志
为了正常运行,fluentd 将需要对容器日志的读取权限,这是通过挂载日志目录来实现的,例如/var/lib/docker/containers
进入 fluentd 容器。
我们已成功使用 this fluentd example ConfigMap,并进行了一些修改以从节点读取日志并将它们发送到 Elasticsearch。查看 ConfigMap 的 containers.input.conf
部分,了解有关容器日志以及如何消化它们的更多信息。
请注意,您不需要使用 fluentd-logger-java
库来开始使用 fluentd,尽管您可以在 Java 应用程序中将其用作另一种类型的记录器。开箱即用,您应该能够让 Java 将所有内容记录到 stdout
和 stderr
并使用 fluentd.
阅读日志
如果您只关心实时日志,那么您可以尝试基于流畅的 Elastic 搜索和 kibana 构建的产品;你可以得到它 https://logdna.com.
只需添加一个标签并部署 demonset。
您可以免费试用几天
我在 k8s 和 fluentd(daemonset)中有 java 应用程序。在流利的会议中:
*`<source>
@type forward
port 24224
</source>
<match **>
@type stdout
</match>`*
我有点困惑。 我需要使用 fluentd-logger-java 库吗?我在文档中读到,我需要为流利的添加远程主机,但在这里我一般不使用服务。 应用程序如何将日志发送到 fluentd pods?
提前致谢!
鉴于您的 Java 应用程序可以记录到 stdout
和 stderr
,您将使用 fluentd 来读取该日志,并且在大多数情况下,将这些日志发送到一个系统可以聚合日志。
这张图片来自 official docs,显示了在 Kubernetes 中配置节点级日志记录的常见模式,例如fluentd as Pods 使用 DaemonSet 部署:
在上图中,logging-agent
将是 fluentd,my-pod
将是带有容器的 Pod 运行 您的 Java 应用程序。 Logging Backend
,从流畅配置的角度来看,是可选的,但当然强烈推荐。基本上你可以选择通过 fluentd stdout
.
为了正常运行,fluentd 将需要对容器日志的读取权限,这是通过挂载日志目录来实现的,例如/var/lib/docker/containers
进入 fluentd 容器。
我们已成功使用 this fluentd example ConfigMap,并进行了一些修改以从节点读取日志并将它们发送到 Elasticsearch。查看 ConfigMap 的 containers.input.conf
部分,了解有关容器日志以及如何消化它们的更多信息。
请注意,您不需要使用 fluentd-logger-java
库来开始使用 fluentd,尽管您可以在 Java 应用程序中将其用作另一种类型的记录器。开箱即用,您应该能够让 Java 将所有内容记录到 stdout
和 stderr
并使用 fluentd.
如果您只关心实时日志,那么您可以尝试基于流畅的 Elastic 搜索和 kibana 构建的产品;你可以得到它 https://logdna.com.
只需添加一个标签并部署 demonset。
您可以免费试用几天