日志系统与链路追踪

共 20 题
#

1. Fluent Bit 与 Fluentd 的差异是什么,Fluent Bit 在 Kubernetes 日志采集中如何部署?

A Fluentd 比 Fluent Bit 更轻量
B Fluent Bit 轻量高性能,Fluentd 功能全面,Fluent Bit 常以 DaemonSet 在 K8s 采集日志 ✓ 正确答案
C Fluent Bit 无法在 K8s 部署
D 两者资源占用完全相同
#

2. Fluentd 日志采集的完整流程中 input、parser、filter、output 插件如何串联实现采集与转发?

A filter 在 input 之前执行
B input 负责输出,output 负责采集
C 流程为 input→parser→filter→output,事件按 tag 路由到不同 output ✓ 正确答案
D 事件无需 tag 即可路由
#

3. OpenTelemetry 中 TracerProvider 的作用,即如何创建 tracer 并管理采样与导出配置?

A 采样配置在生成 span 时临时决定
B TracerProvider 只负责创建 span
C TracerProvider 是创建 tracer 的工厂,集中管理采样、导出与资源配置 ✓ 正确答案
D TracerProvider 无法配置导出器
#

4. span 的关键语义中 span kind、status 与 attributes 如何影响链路分析与告警

A span status 只用于展示,不影响告警
B span kind 定义角色,status 定义成败,attributes 提供分析维度与告警标签 ✓ 正确答案
C span kind 决定 status
D attributes 与链路分析无关
#

5. trace_id、span_id、parent_id 如何通过上下文传播跨服务串联成完整调用链?

A 上下文传播不需要标准协议
B 每个服务独立生成 trace_id
C parent_id 与 trace_id 无关
D 通过上下文传播把 trace_id 与 parent_id 带过服务边界,使各服务 span 串成完整链路 ✓ 正确答案
#

6. 如何配置 OpenTelemetry 将 Trace 数据通过 Jaeger exporter 导出到 Jaeger?

A 导出配置与端点无关
B 只能通过 Jaeger 专有协议导出,无法用 OTLP
C 可在 SDK 或 Collector 侧配置 jaeger exporter,指定 Jaeger 端点与协议 ✓ 正确答案
D 只有 Collector 能导出到 Jaeger
#

7. 日志与追踪的联合排障中如何用 traceId 串联?

A 排障只能依赖其中一种
B 日志与追踪无法关联
C traceId 只在追踪系统中存在
D 在日志中注入 traceId,用 traceId 作为关联键在日志与追踪间双向跳转定位问题 ✓ 正确答案
#

8. 日志保留与归档策略中不同级别/业务日志的保留周期、冷热分层与成本控制以及合规留存(审计日志)与容量规划如何平衡?

A 按级别/业务/合规分级设置保留周期,热冷分层降成本,合规日志独立长期留存 ✓ 正确答案
B 所有日志应统一短期保留以省钱
C 合规日志无需长期保留
D 冷热分层会增加查询成本
#

9. 基于日志的告警与稳定性中日志中错误率、异常模式如何转化为告警规则以及与指标告警相比的误报与延迟特征?

A 指标告警能捕捉日志中的业务异常
B 日志告警延迟比指标告警低
C 日志告警能捕捉业务语义异常,但延迟与误报通常高于指标告警,两者可互补 ✓ 正确答案
D 日志告警不会误报
#

10. 日志、指标与追踪的关联分析中事件时间对齐、traceId 注入日志与 metric 标签如何打通三信号以及排障时的典型工作流?

A 用时间对齐与 traceId/service 标识打通指标、日志、追踪,形成"范围-链路-细节"排障闭环 ✓ 正确答案
B 三信号无法关联
C 指标与日志无需按时间对齐
D traceId 只用于追踪
#

11. 日志系统的容量与降级中采集端背压、队列溢出与存储满时的行为设计以及日志丢失与业务影响如何权衡?

A 存储满时无需处理
B 日志堵塞时优先阻塞业务以保证日志完整
C 日志丢失不可接受,必须无限缓冲
D 日志系统应业务优先,通过背压、队列上限与溢出策略在容量不足时降级,允许适度丢日志 ✓ 正确答案
#

12. 可观测数据成本控制中日志采样、追踪采样与指标降精度的组合策略如何设计

A 指标降精度与成本无关
B 所有数据全量采集以保证完整
C 采样会丢失所有错误日志
D 按价值分级,日志/追踪采样、指标降精度,并让日志与追踪共享采样保留关联 ✓ 正确答案
#

13. 基于追踪的延迟分解中如何在 span 树上定位跨服务瓶颈与外部依赖耗时

A span 树只能看整体耗时,无法分解
B 在 span 树上用总耗时减子 span 得 self time,逐层定位自身与外部依赖瓶颈 ✓ 正确答案
C 外部依赖耗时无法在 span 中体现
D 延迟分解只需看根 span
#

14. 日志与追踪关联的工程实现中日志库如何自动注入 trace_id/span_id 以及跨语言如何保持格式一致

A trace_id 格式无需统一
B 日志库无法自动注入 trace_id
C 每个语言可用不同字段名
D 日志库从上下文自动提取 trace_id/span_id 注入日志,跨语言用统一字段名与标准格式保持一致 ✓ 正确答案
#

15. 追踪可视化的应用中服务依赖图、span 瀑布图与火焰图在性能分析中的使用场景

A 三者都用于展示单请求
B 依赖图看全局拓扑,瀑布图看单请求明细,火焰图看聚合热点 ✓ 正确答案
C 火焰图用于看服务依赖
D 依赖图用于单请求延迟分析
#

16. 追踪后端选型中 Jaeger、Tempo 与 Zipkin 在存储、采样与多租户上的差异及成本评估

A Zipkin 适合大规模高并发
B 三者存储架构完全相同
C Jaeger 支持多租户且成本最低
D Tempo 基于对象存储成本低、支持多租户,Jaeger 强但存储运维重,Zipkin 轻量 ✓ 正确答案
#

17. 追踪埋点的落地中自动插桩(auto-instrumentation)与手动埋点的分工、中间件(HTTP/DB/MQ)的集成方式

A 手动埋点无需关注业务
B 自动插桩无法覆盖 HTTP
C 自动插桩覆盖通用框架层,手动埋点补充业务语义,中间件(HTTP/DB/MQ)靠生态插桩集成 ✓ 正确答案
D 所有场景都只能手动埋点
#

18. 追踪数据的隐私与脱敏中 URL、查询参数与请求体的敏感字段如何在采集与存储阶段脱敏

A 敏感数据可原样采集存储
B 在采集端对敏感字段脱敏,存储端加密与访问控制,并尽量不采集敏感数据 ✓ 正确答案
C 脱敏只在展示时做即可
D 存储端无需权限控制
#

19. 追踪采样策略中全量采集的成本与头部/尾部采样的失真如何按服务重要性混合采样

A 全量成本高、头部易失真、尾部准确但贵,应按服务与请求重要性混合采样 ✓ 正确答案
B 全量采集成本最低
C 头部采样能精确保留异常请求
D 所有服务应使用相同采样率
#

20. 集中日志系统的架构分层中采集端、缓冲队列、处理管道与存储查询如何扩展与降级

A 存储故障时采集端必须停止
B 各层必须同步扩展无法独立
C 缓冲队列会放大故障
D 分采集、缓冲队列、处理、存储四层,各层可独立扩展,缓冲队列隔离故障并吸收峰值 ✓ 正确答案