|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
流和集群流
请参阅 日志操作员文档以获取有关如何配置`Flows`和`ClusterFlows`的完整详细信息。
请参阅与日志服务的Rancher集成:故障排除以了解如何解决日志缓冲区的内存问题。
流程
一个`Flow`定义了要收集和过滤哪些日志,以及将日志发送到哪个输出。
`Flow`是一个名称空间资源,这意味着日志只会从`Flow`部署的名称空间中收集。
`Flows`可以通过在Rancher UI中填写表单来配置。
有关`Flow`自定义资源的更多详细信息,请参见 FlowSpec.
匹配
匹配语句用于选择要从中提取日志的容器。
您可以指定匹配语句,根据Kubernetes标签、容器和主机名选择或排除日志。匹配语句按定义的顺序进行评估,并仅在第一个匹配的选择或排除规则适用时进行处理。
可以通过在Rancher UI中填写`Flow`或`ClusterFlow`表单来配置匹配。
有关使用匹配语句的详细示例,请参见 关于日志路由的官方文档。
过滤器
您可以在`Flow`中定义一个或多个过滤器。过滤器可以对日志执行各种操作,例如添加数据、转换日志或从记录中解析值。在`Flow`中的过滤器按其在定义中出现的顺序应用。
有关日志操作员支持的过滤器列表,请参见 关于Fluentd过滤器的官方文档。
过滤器需要以YAML格式进行配置。
ClusterFlows
匹配、过滤器和 Outputs 的配置方式与 ClusterFlows 和 Flows 的配置方式相同。主要区别在于 ClusterFlow 的作用范围是集群级别,可以在所有名称空间中配置日志收集。
`ClusterFlows`可以通过在Rancher UI中填写表单来配置。
在 ClusterFlow 从集群中的所有名称空间选择日志后,集群的日志将被收集并记录到所选的 ClusterOutput 中。
YAML 示例
以下示例 Flow 将默认名称空间中的日志消息转换并发送到 S3 Output:
apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
name: flow-sample
namespace: default
spec:
filters:
- parser:
remove_key_name_field: true
parse:
type: nginx
- tag_normaliser:
format: ${namespace_name}.${pod_name}.${container_name}
localOutputRefs:
- s3-output
match:
- select:
labels:
app: nginx