Outputs 和 ClusterOutputs
#
概述关于配置Outputs
和ClusterOutputs
的全部细节,请参阅Banzai Cloud 官方文档。
#
v2.5.8 的变化现在可以通过在 Rancher 用户界面上填写表格来配置Outputs
和ClusterOutputs
。
#
OutputsOutput
资源定义了你的Flows
可以发送日志信息的地方。Outputs
是一个日志Flow
的最后阶段。
Output
是一个命名空间的资源,这意味着只有同一命名空间内的Flow
可以访问它。
你可以在这些定义中使用秘密,但它们也必须在同一命名空间中。
关于Output
自定义资源的细节,见OutputSpec.
Rancher 用户界面提供了配置以下Output
类型的表格。
- Amazon ElasticSearch
- Azure Storage
- Cloudwatch
- Datadog
- Elasticsearch
- File
- Fluentd
- GCS
- Kafka
- Kinesis Stream
- LogDNA
- LogZ
- Loki
- New Relic
- Splunk
- SumoLogic
- Syslog
Rancher 用户界面提供了配置Output
类型、目标和访问凭证(如果适用)的表格。
关于 logging operator 支持的每个日志插件的配置实例,请参见logging operator 文档。
#
ClusterOutputsClusterOutput
定义了一个没有命名空间限制的Output
。它只有在部署在与日志操作者相同的命名空间时才有效。
关于ClusterOutput
自定义资源的细节,见ClusterOutput 文档
#
Rancher v2.5.8 之前#
OutputsOutput
资源定义了你的 "流程 "可以发送日志信息的地方。Outputs
是一个日志流程
的最后阶段。
Output
是一个命名空间的资源,这意味着只有同一命名空间内的Flow
可以访问它。
你可以在这些定义中使用密钥,但它们也必须在同一个命名空间中。
Outputs
是用 YAML 配置的。关于Output
自定义资源的细节,见OutputSpec.
关于 logging operator 支持的每个日志插件的配置例子,见logging operator 文档。
#
ClusterOutputsClusterOutput
定义了一个没有命名空间限制的Output
。它只有在部署在与记录操作员相同的命名空间时才有效。
Rancher 用户界面提供了配置ClusterOutput
类型、目标和访问证书(如果适用)的表格。
ClusterOutputs
是用 YAML 配置的。关于ClusterOutput
自定义资源的细节,见ClusterOutput 文档。
关于日志操作员支持的每个日志插件的配置实例,请参见日志操作员文档。
#
YAML 示例安装了日志后,你可以使用这些例子来帮助制作你自己的日志 pipelines。
#
ElasticSearch假设你想把你的集群中的所有日志发送到elasticsearch
集群。首先,我们创建一个集群Output
:
我们已经创建了这个ClusterOutput
,没有 elasticsearch 配置,和我们的操作者在同一个命名空间:cattle-logging-system
。任何时候我们创建一个ClusterFlow
或ClusterOutput
,我们都必须把它放在cattle-logging-system
命名空间中。
现在我们已经配置了我们想要的日志的位置,让我们配置所有的日志到那个ClusterOutput
。
现在我们应该看到我们配置的索引,里面有日志。
#
Splunk如果我们有一个应用团队只想把特定命名空间的日志发送到splunk
服务器上,该怎么办?对于这种情况,我们可以使用命名空间的Outputs
和Flows
。
在我们开始之前,让我们设置该团队的应用程序:coolapp
。
随着coolapp
的运行,我们将遵循与创建ClusterOutput
时类似的路径。然而,与ClusterOutputs
不同的是,我们在应用程序的命名空间中创建我们的Output
。
再一次,让我们给我们的output
提供一些日志。
#
Syslog假设你想把你的集群中的所有日志发送到一个syslog
服务器。首先,我们创建一个ClusterOutput
:
现在我们已经配置好日志的去向,让我们把所有的日志都配置到output
。
#
其他不支持的输出类型在最后一个例子中,我们创建了一个output
,将日志写到一个不支持的目的地。
关于 syslog 的说明从 Rancher v2.5.4 开始,syslog
是一个被支持的output
。然而,这个例子仍然提供了一个关于使用不支持的插件的概述。
让我们来分析一下这里发生了什么。首先,我们创建一个容器的部署,它有额外的syslog
插件,接受从另一个fluentd
转发的日志。接下来我们创建一个Output
,配置为我们部署的转发器。部署的fluentd
将转发所有的日志到配置的syslog
目的地。