更新时间:2024-10-29 GMT+08:00

日志

简介

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

约束与限制

使用场景

使用说明

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. 在安装配置中需要勾选“网络互通”功能。

    6. 选择“云原生日志采集插件”,单击“安装”。

  2. 创建弹性到CCI的负载。
    1. 在导航栏左侧单击“工作负载”,进入工作负载首页。
    2. 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载
    3. 填写基本信息并完成工作负载创建。更多创建弹性到CCI负载的方式,请参考调度负载到CCI

  3. 配置日志采集策略。
    1. 在导航栏左侧单击“日志中心”,进入日志中心首页。
    2. 单击“日志采集策略”,进入日志采集策略创建的界面。
    3. 配置具体日志采集策略,完成后单击“确定”。

      弹性到CCI的Pod不支持日志策略热更新,更新日志采集策略后需要重新部署弹性到CCI的Pod才可生效。

  4. 查看弹性到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

  5. 在日志中心查看日志上报。

    CCE集群日志中心更详细的用法可以参考CCE插件CCE Log Collector相关文档指导。