kubernetes - Kubernetes,Fluentd:匹配“stdout”日志
问题描述
DaemonSet
我在我的 Kubernetes 集群中运行了一个 Fluentd 。多个应用程序以微服务的形式部署在集群上,跨命名空间,名称与微服务名称相同。
微服务(按名称payments
)将日志输出到stdout
. 我想解析该微服务日志并将其放到 Fluentd 中的某个目的地。问题是我payments
只想要特定的微服务日志。如果我使用:
<source>
@type tail
@id in_tail_container_logs
path /var/log/containers/*.log
pos_file /var/log/fluentd-containers.log.pos
tag kubernetes.*
read_from_head true
....
</source>
它将扫描所有向我输出日志的 pod,stdout
我想过滤特定的微服务日志。有没有办法在 Fluentd 中做到这一点?谢谢
解决方案
每个 Pod 在容器目录中创建一个日志文件/var/lib/docker/containers
它应该在容器文件夹中有一个匹配的日志文件,例如,如果您的部署以 name 开头payments
,我们可以通过提供来捕获该特定服务的日志
path /var/log/containers/payments*.log
在
<source>
....
path /var/log/containers/payments*.log
....
</source>
推荐阅读
- python - 如何清理所有 Selenium Firefox 进程
- javascript - javascript 使用 ActiveXObject 运行客户端的 oulook,附件来自本地系统上的下载文件夹
- visual-studio - Azure Devops - SSDT DB 构建错误 - 写入 model.xml
- node.js - JanusGraph 数据库、NodeJS 和 GraphQL 入门
- rxjs - Ngrx 在 X 分钟后更改延迟()间隔
- statistics - 高 p 值但不包括 0 的置信区间?
- python - 如何用 Python 画出这样的图?
- python - Elasticsearch 建议返回 Unknown SuggestionBuilder
- java - 用于在 kotlin 中处理 java 检查异常的 Android 自定义 lint 规则
- python - Django:如何在管理员的更改视图(权限可以查看)中隐藏具有空值的字段