
Compass-CI 日志系统详解集中管理与快速故障定位技巧【免费下载链接】compass-ciCompass-CI 是一个可持续集成的开源软件平台。为开发者提供针对上游开源软件来自 Github, Gitee, Gitlab 等托管平台的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。项目地址: https://gitcode.com/openeuler/compass-ci前往项目官网免费下载https://ar.openeuler.org/ar/Compass-CI 是一个可持续集成的开源软件平台为开发者提供针对上游开源软件的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。日志系统作为其核心组件承担着集群状态监控、任务执行追踪和故障定位的关键作用。本文将详细介绍 Compass-CI 日志系统的架构设计、核心功能及实用操作技巧帮助用户快速掌握日志集中管理与故障定位方法。日志系统架构从产生到展示的完整链路 Compass-CI 日志系统采用 EFKElasticsearch Fluentd Kibana架构结合消息队列实现高可靠的日志处理流程。系统整体架构如下核心组件分工日志产生层包括 Docker 容器日志服务运行日志和执行机串口日志硬件与系统启动日志收集层通过 sub-fluentd 收集分散在各节点的日志聚合层master-fluentd 汇总日志并进行格式处理存储与分析层Elasticsearch 存储结构化日志Kibana 提供可视化查询消息队列RabbitMQ 实现日志异步处理支持实时监控与结果归档日志类型与采集方式解析 Docker 服务日志所有 Compass-CI 服务均通过 Docker 容器部署容器日志采用 JSON 格式记录包含时间戳、日志级别、请求来源、执行耗时等关键信息。配置示例全局 Docker 日志驱动配置{ log-driver: fluentd, log-opts: { fluentd-address: localhost:24225, fluentd-async-connect: true, tag: {{.Name}} } }配置文件路径/etc/docker/daemon.json执行机串口日志物理机、QEMU 虚拟机和 Docker 容器的底层执行日志通过串口重定向方式收集关键实现代码如下QEMU 日志重定向文件路径providers/kvm.sh${kvm[]} ${arch_option[]} --append ${append} $log_file 21Docker 日志重定向文件路径providers/docker/run.sh${cmd[]} 21 | tee -a $log_dir串口日志默认存储路径/srv/cci/serial/logs/$hostnameFluentd 日志收集与聚合配置 ⚙️Compass-CI 采用两级 Fluentd 架构实现日志收集与聚合sub-fluentd边缘节点日志收集部署在每个需要收集日志的节点负责采集本地 Docker 日志和串口文件日志。核心配置文件路径container/sub-fluentd/docker-fluentd.confsource type tail path /srv/cci/serial/logs/* pos_file /srv/cci/serial/fluentd-pos/serial.log.pos tag serial.* refresh_interval 1s parse type none /parse /source source type forward bind 0.0.0.0 /source store type forward server host #{ENV[MASTER_FLUENTD_HOST]} port #{ENV[MASTER_FLUENTD_PORT]} /server /storemaster-fluentd日志聚合与分发部署在主服务器接收所有 sub-fluentd 转发的日志进行格式处理后分发到 Elasticsearch 和 RabbitMQ。关键功能配置日志格式转换与字段展开按日志类型路由到不同存储ES/RabbitMQ时间戳标准化处理配置文件路径container/master-fluentd/docker-fluentd.conf日志查询与故障定位实战技巧 Kibana 日志查询基础访问路径通过 Compass-CI 门户进入 Kibana 界面常用查询语法按 job_id 搜索job_id:z9.13283216按日志级别过滤level:ERROR时间范围限定在界面右上角选择时间区间实时日志监控monitoring 服务使用 submit 命令提交任务时添加-m选项可实时查看任务执行日志submit -m borrow-1d.yaml testboxdc-8g串口日志与 dmesg 文件分析任务执行完成后串口日志会被处理为 dmesg 文件存储在结果目录/srv/result/build-pkg/2022-01-19/dc-16g/.../z9.13368603/dmesg该文件包含完整的系统启动、测试执行和错误信息是定位底层问题的关键依据。日志系统部署与维护指南 ️基础组件部署构建 fluentd-base 镜像cd container/fluentd-base ./build部署 sub-fluentdcd container/sub-fluentd ./build ./start部署 master-fluentdcd container/master-fluentd ./build ./start日常维护建议定期清理过期日志默认保留 30 天监控 Elasticsearch 存储占用检查 fluentd 进程状态和日志转发延迟总结日志系统价值与最佳实践 Compass-CI 日志系统通过 EFK 架构实现了分布式环境下的日志集中管理为开发者提供了从任务提交到执行完成的全链路可见性。合理利用日志系统可以加速故障定位与问题修复优化任务执行性能分析系统瓶颈与资源需求建议开发者在日常使用中熟悉 JSON 日志格式与关键字段掌握 Kibana 高级查询技巧结合串口日志与服务日志进行问题交叉分析更多详细文档可参考doc/log/logging-system.md通过本文介绍的日志系统知识与操作技巧您将能够更高效地使用 Compass-CI 平台提升开源软件测试与开发效率。【免费下载链接】compass-ciCompass-CI 是一个可持续集成的开源软件平台。为开发者提供针对上游开源软件来自 Github, Gitee, Gitlab 等托管平台的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。项目地址: https://gitcode.com/openeuler/compass-ci创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考