初识 Banzai Cloud 的 Logging operator
欢迎阅读 Logging operator 文档!Logging operator 是 Banzai Cloud One Eye for Kubernetes 可观测性工具的核心部分.
概述
Logging operator
基于 Fluentd 和 Fluent-bit 的 Kubernetes Logging operator
Logging operator 自动执行 Kubernetes 日志记录管道的部署和配置。operator 在每个节点上部署和配置 Fluent Bit 守护程序集,以从节点文件系统收集容器和应用程序日志。Fluent Bit 查询 Kubernetes API,并使用有关 Pod 的元数据丰富日志,并将日志和元数据传输到 Fluentd。Fluentd 接收、过滤日志并将其传输到多个输出。日志将始终在经过身份验证和加密的通道上传输;
这个运算符是干什么用的?
此 operator 可将日志记录信息与应用程序捆绑在一起:可以在其图表中描述应用程序的行为,其余的由 Logging operator 完成;
功能亮点
. 命名空间隔离
. 原生 Kubernetes 标签选择器
. 安全通信 (TLS)
. 配置验证
. 多流支持(为不同转换乘以日志)
. 多输出支持(将相同的日志存储在多个存储中:S3,GCS,ES,Loki 等...
. 多日志记录系统支持(在同一集群上部署多个 Fluentd、Fluent Bit)
架构
可以定义 outputs(想发送日志信息的目的地,例如 Elasticsearch 或 Amazon S3 桶),以及使用过滤器和选择器将日志信息发送到适当的输出的 flows。也可以定义集群范围内的输出和流量,
例如,使用一个集中的输出,命名的用户可以参考,但不能修改
可以使用以下自定义资源定义来配置 Logging operato:
logging
logging 资源定义了你的集群的日志基础设施,收集和传输日志信息。它还包含 Fluentd 和 Fluent-bit 的配置
output
定义了一个日志流的输出,日志信息在那里被发送。这是一个命名的资源。请参阅 clusteroutput
flow
使用 filters 和 outputs 来定义一个日志流。基本上,该流将选定的日志消息路由到指定的输出。这是一个命名的资源。请参阅 clusterflow
clusteroutput
定义一个所有 flow 和 clusterflows 都可以使用的输出。除非 allowClusterResourcesFromAllNamespaces 被设置为 "true",否则 operator 只评估 controlNamespace 中的 clusteroutputs
clusterflow
定义一个日志流,默认从所有命名空间收集日志。除非 allowClusterResourcesFromAllNamespaces 被设置为 "true",否则该 operator 只在 controlNamespace 中评估 clusterflows
日志流程图:
支持
Logging operator 是 Banzai Cloud One Eye for Kubernetes 可观测性工具的核心部分。虽然日志记录 operator 本身是一个开源项目,但 Banzai Cloud One Eye 产品通过商业功能扩展了日志记录operator 的功能(例如,收集主机日志和 Kubernetes 事件)