介绍
KubeSphere 提供灵活的日志收集配置方式。基于 FluentBit Operator,用户可以轻松添加、修改、删除、启用或禁用 Elasticsearch、Kafka 和 Fluentd 接收器。接收器添加后,日志会发送至该接收器。
此教程简述在 KubeSphere 中添加日志接收器的一般性步骤。
准备工作
-
您需要一个被授予集群管理权限的帐户。例如,您可以直接用
admin
帐户登录控制台,或创建一个具有集群管理权限的角色然后将此角色授予一个帐户。 -
添加日志接收器前,您需要启用组件
logging
、events
或auditing
。有关更多信息,请参见启用可插拔组件。
为容器日志添加日志接收器
若要添加日志接收器:
-
以
admin
身份登录 KubeSphere 的 Web 控制台。 -
点击左上角的平台管理,然后选择集群管理。
-
如果您启用了多集群功能,您可以选择一个集群。如果尚未启用该功能,请直接进行下一步。
-
选择集群设置下的日志收集。
-
在日志选项卡下点击添加日志接收器。
备注
- 每个接收器类型至多可以添加一个接收器。
- 可以同时添加不同类型的接收器。
添加 Elasticsearch 作为日志接收器
如果 ClusterConfiguration 中启用了 logging
、events
或 auditing
,则会添加默认的 Elasticsearch 接收器,服务地址会设为 Elasticsearch 集群。
当 logging
、events
或 auditing
启用时,如果 ClusterConfiguration 中未指定 externalElasticsearchUrl
和 externalElasticsearchPort
,则内置 Elasticsearch 集群会部署至 Kubernetes 集群。内置 Elasticsearch 集群仅用于测试和开发。生产环境下,建议您集成外置 Elasticsearch 集群。
日志查询需要依靠所配置的内置或外置 Elasticsearch 集群。
如果默认的 Elasticsearch 日志接收器被删除,请参考添加 Elasticsearch 作为接收器重新添加。
添加 Kafka 作为日志接收器
Kafka 往往用于接收日志,并作为 Spark 等处理系统的代理 (Broker)。添加 Kafka 作为接收器演示如何添加 Kafka 接收 Kubernetes 日志。
添加 Fluentd 作为日志接收器
如果您需要将日志输出到除 Elasticsearch 或 Kafka 以外的其他地方,您可以添加 Fluentd 作为日志接收器。Fluentd 支持多种输出插件,可以将日志发送至多个目标,例如 S3、MongoDB、Cassandra、MySQL、syslog 和 Splunk 等。添加 Fluentd 作为接收器演示如何添加 Fluentd 接收 Kubernetes 日志。
为事件或审计日志添加日志接收器
自 KubeSphere v3.0.0 起,Kubernetes 事件和 Kubernetes 以及 KubeSphere 审计日志可以通过和容器日志相同的方式进行存档。如果在 ClusterConfiguration 中启用了 events
或 auditing
,日志收集页面会对应显示事件或审计选项卡。您可以前往对应选项卡为 Kubernetes 事件或 Kubernetes 以及 KubeSphere 审计日志配置日志接收器。
容器日志、Kubernetes 事件和 Kubernetes 以及 KubeSphere 审计日志应存储在不同的 Elasticsearch 索引中以便在 KubeSphere 中进行搜索,索引前缀如下:
- 容器日志:
ks-logstash-log
- Kubernetes 事件:
ks-logstash-events
- Kubernetes 和 KubeSphere 审计日志:
ks-logstash-auditing
启用或停用日志接收器
无需新增或删除日志接收器,您可以随时启用或停用日志接收器,具体步骤如下:
-
在日志收集页面,点击一个日志接收器并进入其详情页面。
-
点击更多操作并选择更改状态。
-
选择激活或关闭以启用或停用该日志接收器。
-
停用后,日志接收器的状态会变为关闭,激活时状态为收集中。
修改或删除日志接收器
您可以修改或删除日志接收器:
-
在日志收集页面,点击一个日志接收器并进入其详情页面。
-
点击编辑或从下拉菜单中选择编辑配置文件以编辑日志接收器。
-
点击删除日志接收器进行删除。