了解如何配置将主管集群控制平面虚拟机中的日志流式传输到远程 rsyslog 接收方,以避免丢失重要的日志记录数据。
主管集群控制平面虚拟机中的组件生成的日志存储在虚拟机本地的文件系统中。累积了大量日志时,日志将以较高的速率轮换,这会导致丢失重要的消息,而这些消息可能有助于确定不同问题的根本原因。vCenter Server 和主管集群控制平面虚拟机支持将其本地日志流式传输到远程 rsyslog 接收方。此功能有助于捕获以下服务和组件的日志:
- 在 vCenter Server 上:工作负载控制平面服务、ESX Agent Manager 服务、证书颁发机构服务以及在 vCenter Server 中运行的所有其他服务。
-
主管集群控制平面组件和主管集群嵌入式服务,例如虚拟机服务和 Tanzu Kubernetes Grid 服务。
可以将 vCenter Server Appliance 配置为收集本地日志数据并将其流式传输到远程 rsyslog 接收方。将此配置应用于 vCenter Server 后,在 vCenter Server 中运行的 rsyslog 发送方将开始发送该 vCenter Server 系统内的服务生成的日志。
主管集群使用与 vCenter Server 相同的机制卸载本地日志以减少配置管理开销。工作负载控制平面服务会定期轮询日志以监控 vCenter Server rsyslog 配置。如果工作负载控制平面服务检测到远程 vCenter Server rsyslog 配置不为空,则该服务会将该配置传播到所有主管集群中的每个控制平面虚拟机。这可能会生成大量的 rsyslog 消息流量,从而致使远程 rsyslog 接收方不堪重负。因此,接收方计算机必须具有足够的存储容量才能接收大量 rsyslog 消息。
从 vCenter Server 中移除 rsyslog 配置会让 vCenter Server 停止发送 rsyslog 消息。工作负载控制平面服务检测到更改后,会将其传播到每个主管集群中的每个控制平面虚拟机,最终也会停止控制平面虚拟机流。
配置步骤
要为主管集群控制平面虚拟机配置 rsyslog 流式传输,请执行以下步骤:
- 通过置备以下计算机来配置 rsyslog 接收方:
- 以接收方模式运行 rsyslog 服务。请参见 rsyslog 文档中的以高性能接收大量消息示例。
- 具有足够的存储空间容纳大量日志数据。
- 具有网络连接,可从 vCenter Server 和主管集群控制平面虚拟机接收数据。
- 以 root 用户身份登录到 vCenter Server Appliance 管理界面:https://<vcenter server address>:5480。
- 通过 vCenter Server Appliance 管理界面将 vCenter Server 配置为以流式方式向 rsyslog 接收方传输消息。请参见将 vCenter Server 日志文件转发到远程 Syslog 服务器。
vCenter Server 的 rsyslog 配置应用于主管集群控制平面虚拟机可能需要几分钟才能完成。vCenter Server Appliance 上的工作负载控制平面服务每 5 分钟轮询一次设备配置,并将其传播到所有可用的主管集群。完成传播所需的时长取决于环境中的主管集群数量。如果主管集群上的某些控制平面虚拟机不正常或正在执行其他某些操作,则工作负载控制平面服务会重试应用 rsyslog 配置,直到成功为止。
检查控制平面虚拟机组件的日志
主管集群控制平面虚拟机的 rsyslog 会在日志消息中嵌入标记,用于指示这些日志消息的源组件。
日志标记 | 描述 |
---|---|
vns-control-plane-pods <pod_name>/<instance_number>.log | 源自控制平面虚拟机中 Kubernetes pod 的日志。例如:
或
|
vns-control-plane-imc | 来自控制平面虚拟机的初始配置日志。 |
vns-control-plane-boostrap | 来自 Kubernetes 节点控制平面部署的引导日志。 |
vns-control-plane-upgrade-logs | 来自控制平面节点修补程序和次版本升级的日志。 |
vns-control-plane-svchost-logs | 控制平面虚拟机系统级别服务主机或代理日志。 |
vns-control-plane-update-controller | 控制平面所需的状态同步器和实现器日志。 |
vns-control-plane-compact-etcd-logs | 保持控制平面 etcd 服务存储压缩的日志。 |