【发布时间】:2019-09-12 08:13:34
【问题描述】:
我正在尝试使用 fluentd 作为 daemonSet,它将在我的应用程序 pod 正在运行的节点上运行并将应用程序日志转换为标准输出,以便它可以用于发送到弹性搜索。
我创建了一个 configmap 以在 fluent.conf 中加载/添加额外的配置,但是当我看到一个守护程序集的日志时,它会显示配置文件内容,其中我的 configmap 条目不存在。
我的配置图如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: fluentd-config
namespace: kube-system
data:
fluentd.conf: |
<source>
type tail
format none
read_from_head true
path /var/log/node1/app.log
pos_file /var/log/node1/app.log.pos
tag noappTag
</source>
<match **>
type stdout
</match>
但是,我仍然看不到我的内容。这是正常行为吗?
如果不是,那么我如何确认 fluentd 能够将我写入文件的应用程序日志转换为 STDOUT。
/var/log/node1/app.log
在 fluentd pod 中可用。我进去看了看。
【问题讨论】:
-
如何部署fluentd?您是否将 configmap 安装到 pod 中?
-
嗨@abinet。我正在将 fluentd 部署为 kube-system 命名空间中的 DaemonSet,并将存在于同一命名空间中的 configmap 安装到它。我的实际应用程序在默认命名空间下的不同 pod 中运行。它将日志写入 host 上存在的目录并安装到 fluentd 以及 path 上。因此,日志实际上在路径 /var/log/ 下的 fluentd pod 中可用。我通过使用 exec 登录到 pod 验证了这一点
标签: elasticsearch kubernetes kubernetes-helm fluentd