日志
简介
CCE集群成功将负载弹性到CCI运行起负载后,用户可以通过CCE的“CCE Log Collector”插件来收集pod的日志,提升工作负载的可观测性。通过阅读本章用户可以快速搭建日志平台,在CCE的日志观测CCI侧日志。

弹性到CCI的负载会默认开启容器标准输出采集并上报到应用运维管理,AOM每月赠送每个租户500M的免费日志存储空间,超过500M时将根据实际使用量进行收费,计费规则请参见产品价格详情。
若要关闭标准输出采集可通过在Pod annotation中指定log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}'实现,参考示例:
kind: Deployment apiVersion: apps/v1 metadata: name: test namespace: default spec: replicas: 1 template: metadata: annotations: log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}' spec: containers: - name: container-1 image: nginx:latest
日志采集可靠性说明
日志系统的核心功能在于记录业务组件的全生命周期状态数据(包括启动初始化、退出、运行时信息及异常事件等),主要服务于组件运行状态查看与故障根因分析等运维场景。
请注意标准输出流(stdout/stderr)及本地日志文件采用非持久化存储机制,其数据完整性受制于以下风险因素:
- 日志轮转压缩机制可能触发历史文件清除。
- Kubernetes Pod实例终止导致的临时存储卷回收。
- 节点存储空间限制触发的操作系统自动清理。
尽管云原生日志采集插件通过多级缓冲、优先级队列、断点续传等机制优化采集可靠性,但在以下场景仍存在日志采集丢失的可能:
- 业务日志吞吐量超过采集端处理能力。
- 业务Pod终止并立即被容器引擎回收。
- 日志采集器Pod运行异常。
以下是基于云原生日志管理的最佳实践建议,请您认真考虑并采纳:
- 请通过专用高可靠性通道记录并持久化关键业务数据(如金融交易)。
- 请勿在日志中进行记录客户信息、支付凭证、会话令牌等敏感数据。
约束与限制
使用场景 |
使用说明 |
---|---|
CCE内容器日志采集 + CCI集群容器日志采集 |
CCE集群内的工作负载支持三种日志采集类型:
须知:
弹性到CCI的工作负载仅支持“容器文件日志”类型的采集策略。 |
不支持采集的日志文件类型 |
|
弹性CCI的pod关联多个日志采集策略 |
为了更好的采集日志,建议为pod预留充足内存。pod被第一个日志策略关联请预留至少50MiB内存。每增加一个关联日志采集策略,建议多预留5MiB内存。 |
超长日志采集 |
单条日志最大容量为250KB,超过会被丢弃。 |
日志采集文件名 |
audit.log,oss.icAgent.trace,oss.script.trace,audit_*.log这几类日志默认不采集,请勿使用以上几类名称命名采集日志文件。 |
超长日志文件名 |
容器中长度超过190的日志文件无法被采集。容器中长度在180~190范围的日志文件仅支持采集第一个文件。 |
日志采集速率 |
单个Pod单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。 |
最大采集文件数 |
单个Pod所有日志采集策略监听的文件数不超过2000个文件。 |
容器停止前日志采集 |
当容器被停止时,如果出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。 |
弹性到CCI 2.0 |
暂不支持配置日志采集。 |
操作步骤
- 安装“云原生日志采集插件”和“CCE 突发弹性引擎 (对接 CCI)”插件。
- 创建弹性到CCI的负载。
- 配置日志采集策略。
- 查看弹性到CCI的pod yaml。
为支持CCI pod日志被采集到日志中心,CCE插件CCE Log Collector为pod注入了如下四个annotation:
annotation
示例值
coordinator.cci.io/inject-volumes
'[{"name":"log-agent-conf","configMap":{"name":"log-agent-cci-logging-config","defaultMode":384},"namespace":"monitoring"},{"name":"log-agent-cert","secret":{"secretName":"log-agent-ca-secret","defaultMode":384},"namespace":"monitoring"}]'
logconf.k8s.io/fluent-bit-configmap-reference
monitoring-log-agent-cci-logging-config
logconfigs.logging.openvessel.io
'{"testcci001":{"container_files":{"container-1":"/var/test/*/*.log"},"regulation":""}}''
sandbox-volume.openvessel.io/volume-names
log-agent-conf,log-agent-cert
- 在日志中心查看日志上报。
CCE集群日志中心更详细的用法可以参考CCE插件CCE Log Collector相关文档指导。