日志
简介
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集群内的工作负载支持三种日志采集类型:
须知:
弹性到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个文件。 |
容器停止前日志采集 |
当容器被停止时,如果出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。 |
操作步骤
- 安装“云原生日志采集插件”和“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相关文档指导。