
# 日志
#### 简介
CCE集群成功将负载弹性到CCI运行起负载后，用户可以通过CCE的"CCE Log Collector"插件来收集pod的日志，提升工作负载的可观测性。通过阅读本章用户可以快速搭建日志平台，在CCE的日志观测CCI侧日志。
![](https://support.huaweicloud.com/usermanual-cci/public_sys-resources/notice_3.0-zh-cn.png)
弹性到CCI的负载会默认开启容器标准输出采集并上报到[应用运维管理](https://www.huaweicloud.com/product/aom.html)，AOM每月赠送每个租户500M的免费日志存储空间，超过500M时将根据实际使用量进行收费，计费规则请参见[产品价格详情](https://www.huaweicloud.com/pricing.html?tab=detail#/aom)。
若要关闭标准输出采集可通过在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集群内的工作负载支持三种日志采集类型： - 容器标准输出：采集集群内指定容器日志，仅支持Stderr和Stdout的日志。  - 容器文件日志：采集集群内指定容器内的文件日志。  - 节点文件日志：采集集群内指定节点路径的文件。   须知： 弹性到CCI的工作负载仅支持"容器文件日志"类型的采集策略。 |
| 不支持采集的日志文件类型             | - 不支持容器中软链路径的日志采集。  - pod通过指定系统、设备、cgroup、tmpfs等挂载目录下的日志无法被采集。                                                                                                                                                                                                                |
| 弹性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个文件。                                                                                                                                                                                                                                                                                                                                                                                                           |
| 容器停止前日志采集                | 当容器被停止时，如果出现因网络延迟、资源占用多等原因导致的采集延时，可能会丢失容器停止前的部分日志。                                                                                                                                                                                                                                                                                                                                                                                       |
   
#### 操作步骤
1. 安装"云原生日志采集插件"和"CCE 突发弹性引擎 (对接 CCI)"插件。
   1. 登录CCE控制台。
   
   2. 选择CCE集群，单击进入CCE集群总览页面。
   
   3. 在导航栏左侧单击"插件中心"，进入插件中心首页。
   
   4. 选择"CCE 突发弹性引擎 (对接 CCI)"插件，单击"安装"。
   
   5. 在安装配置中需要勾选"网络互通"功能。 ![](https://support.huaweicloud.com/usermanual-cci/zh-cn_image_0000002010377688.png)
      
   
   6. 选择"云原生日志采集插件"，单击"安装"。 ![](https://support.huaweicloud.com/usermanual-cci/zh-cn_image_0000002046447529.png)
      
    
2. 创建弹性到CCI的负载。
   1. 在导航栏左侧单击"工作负载"，进入工作负载首页。
   
   2. 单击"创建工作负载"，具体操作步骤详情请参见[创建工作负载](https://support.huaweicloud.com/usermanual-cce/cce_10_0673.html)。
   
   3. 填写基本信息并完成工作负载创建。更多创建弹性到CCI负载的方式，请参考[调度负载到CCI](https://support.huaweicloud.com/usermanual-cci/cci_01_0116.html)。
      ![](https://support.huaweicloud.com/usermanual-cci/zh-cn_image_0000001965090365.png)
      
    
3. 配置日志采集策略。
   1. 在导航栏左侧单击"日志中心"，进入日志中心首页。
   
   2. 单击"日志采集策略"，进入日志采集策略创建的界面。
   
   3. 配置具体日志采集策略，完成后单击"确定"。 ![](https://support.huaweicloud.com/usermanual-cci/zh-cn_image_0000001982022778.png)
      ![](https://support.huaweicloud.com/usermanual-cci/public_sys-resources/note_3.0-zh-cn.png)
      弹性到CCI的Pod不支持日志策略热更新，更新日志采集策略后需要重新部署弹性到CCI的Pod才可生效。
      
    
4. 查看弹性到CCI的pod yaml。 ![](https://support.huaweicloud.com/usermanual-cci/zh-cn_image_0000001913065833.png)
   为支持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                                                                                                                                                                                                                     |
      
   
5. 在日志中心查看日志上报。 CCE集群日志中心更详细的用法可以参考CCE插件[CCE Log Collector](https://support.huaweicloud.com/usermanual-cce/cce_10_0416.html)相关文档指导。
   
 
