日志系统与集中化日志运维

共 31 题
#

1. Docker 与 Kubernetes 容器日志的采集路径与落盘方式(json-file、journald、日志目录挂载)

A K8s 容器日志只存在 journald 中
B Docker 默认 json-file 驱动落盘 JSON 行,K8s 按 CRI 标准落盘 /var/log/pods,节点级 DaemonSet 采集器是最主流方案 ✓ 正确答案
C 日志驱动不影响落盘位置
D 容器删除后日志必然消失
#

2. journald 的 Storage= 与 SystemMaxUse 等参数如何配置日志持久化与容量上限

A auto 模式总是持久化
B Storage=persistent 强制落盘,SystemMaxUse/SystemKeepFree 控制容量滚动清理,磁盘满或 volatile 模式会造成日志丢失 ✓ 正确答案
C journald 磁盘满时会自动告警
D RateLimit 不会丢日志
#

3. syslog 消息格式 RFC 3164 与 RFC 5424 的差异及对解析的影响

A RFC 3164 更利于机器解析
B 两种格式字段完全相同
C RFC 3164 时间戳无年份与时区偏移、无结构化数据,RFC 5424 用 ISO8601 时间与结构化字段,混合环境解析需按版本分支规范化 ✓ 正确答案
D 时间戳差异不影响日志分析
#

4. 日志、指标与追踪(Logs/Metrics/Traces)如何关联以加速故障定位

A 三大支柱是独立系统,无需关联
B 指标看趋势、日志看细节、追踪看链路,通过 trace ID 注入、资源标签与时间窗对齐实现关联,形成排障闭环 ✓ 正确答案
C 日志不需要携带 trace_id
D 追踪只能用于性能分析
#

5. 日志平台容量规划中的日志量评估与采样降采样策略

A 容量规划无需考虑增长
B 采样率越高越省钱
C 所有日志都必须全量永久保留
D 容量按"速率×节点×峰值×保留期"评估,采样按级别与关键业务差异化、存储按热温冷分层,保留成本与排障能力的显式取舍 ✓ 正确答案
#

6. 日志文件的权限与防篡改加固(属主、append-only、异地存储)

A 异地存储与防篡改无关
B chattr +a 后日志自动丢失
C 权限只要 644 就足够安全
D 权限最小化 + append-only 属性(chattr +a)防删改,需与轮转协调,异地存储与完整性校验提供审计证据 ✓ 正确答案
#

7. 日志时间字段的时区与时钟同步(NTP)问题如何影响日志分析

A 采集时间与业务时间无需区分
B 所有日志默认都是 UTC 的
C 时间戳倒挂不影响分析
D 时区混用与时钟偏差会破坏排序与时间窗检索,需统一带偏移的 ISO8601、全节点 NTP,并区分业务时间与采集时间 ✓ 正确答案
#

8. 日志检索慢的排查中查询语法、索引设置与存储层如何定位瓶颈

A 查询层(通配符/深分页/宽时间窗)、索引层(映射/分片/生命周期)、存储层(IO/堆/副本)三层定位,用 Explain/Profile 佐证 ✓ 正确答案
B 检索慢只与磁盘有关
C 深分页是最高效的分页方式
D 副本越多检索一定越快
#

9. 日志解析失败的常见原因(字段类型冲突、乱码、截断)与数据清洗方案

A 格式漂移、类型冲突、乱码、截断是常见失败,需保留原始日志、监控失败率并在采集端规范化与解析器容错 ✓ 正确答案
B 解析失败可以直接丢弃
C 日志格式永远稳定不变
D 乱码不会影响解析
#

10. 日志链路端到端防丢中采集、传输、存储各环节如何保证不丢日志

A 传输层用 UDP 即可保证可靠
B 日志丢失无法检测
C 重复投递比丢失更严重
D 采集端断点续采与本地缓冲、传输端可靠队列与 ack、存储端确认与去重,配合入口出口对比校验丢量 ✓ 正确答案
#

11. 集中式日志平台的架构分层中采集、缓冲、处理与存储如何协同

A 各层可以无限积压而不影响
B 缓冲层是可有可无的
C 采集→缓冲(Kafka 削峰填谷)→处理(解析规范化)→存储(检索/归档),以吞吐匹配、背压与格式契约协同 ✓ 正确答案
D 处理层只做转发
#

12. 日志格式的规范化中结构化字段与解析如何设计?

A 结构化后无需保留原始消息
B 自由文本日志检索更快
C 字段命名规范无关紧要
D 结构化字段支撑精确检索、聚合与告警,需统一命名与类型、JSON 输出,解析链按采集-处理-存储分工并管理 schema ✓ 正确答案
#

13. 日志采集的架构中 Filebeat、Fluentd 与 Vector 如何选型?

A 采集器内存占用无差异
B Logstash 最适合做节点 Agent
C 所有采集器功能完全相同
D Filebeat 轻量适合纯转发、Fluent Bit 插件生态适合复杂处理、Vector 统一多数据管道,按资源与需求选型并压测验证 ✓ 正确答案
#

14. /var/log/messages 暴涨时如何定位来源并做限速

A 按内容聚类与程序名定位来源,先治根因再以应用/rsyslog/journald 多层限速止血,并监控日志速率基线 ✓ 正确答案
B 只能清空日志文件
C 限速后无需定位根因
D 日志暴涨与监控告警无关
#

15. ELK 与 Loki 的检索模型差异中倒排索引与标签加日志流在多租户与成本场景下如何选型

A ELK 原生支持租户隔离
B Loki 支持任意字段全文检索
C 两者存储成本相同
D ELK 全字段倒排索引检索聚合强但成本高,Loki 标签索引+块扫描成本低但复杂检索弱,按需求、量级与租户数选型 ✓ 正确答案
#

16. RELP 与 TCP/TLS 转发在可靠性上的差异

A TCP 转发不会丢日志
B TCP 只保证到达对端内核,RELP 增加应用层 ACK 与重传实现端到端确认,关键日志链路适用 RELP ✓ 正确答案
C TLS 能解决应用层丢失
D RELP 与 TCP 可靠性相同
#

17. journald 的 ForwardToSyslog 与 rsyslog 的 imjournal 如何避免重复采集

A ForwardToSyslog 走 syslog socket、imjournal 直接读库,同时启用会产生重复日志,规范做法是二选一 ✓ 正确答案
B 两条路径互不干扰不会重复
C 转发路径不会丢事件
D imjournal 无法断点续采
#

18. rsyslog 与 syslog-ng 的性能基准与选型依据

A 两者吞吐量级相当但受配置质量影响,按发行版生态、配置可维护性与磁盘缓冲可靠性选型,并以压测数据验证 ✓ 正确答案
B syslog-ng 一定比 rsyslog 快
C 选型只需看默认配置
D 两者配置语言完全相同
#

19. rsyslog 基于 facility/priority 与属性过滤的转发规则设计

A facility.priority 只匹配精确级别
B facility.priority 选择器是"及以上级别"语义,if 属性过滤支持程序名/内容等条件,用 stop 与 ruleset 组织并用 logger 验证 ✓ 正确答案
C 规则顺序不影响结果
D 属性过滤不支持正则
#

20. rsyslog 模板(template)自定义 JSON 输出对接 ELK 的要点

A 时间字段任意格式都可被 ES 解析
B JSON 模板与字符串模板完全相同
C JSON 模板需统一字段命名、ISO8601 时间、正确类型与转义,多行消息与字段缺失需清洗与兜底 ✓ 正确答案
D 字段缺失无需处理
#

21. rsyslog 的 imfile 模块如何监控多行日志(如 Java 堆栈)

A imfile 无法合并多行
B imfile 用 StateFile 断点续读,Startmsg.regex 定义新消息起始行把堆栈合并为一条,正则需覆盖所有消息形态 ✓ 正确答案
C StateFile 会导致重复读取
D 多行合并与正则无关
#

22. rsyslog 的 imjournal 与直接读文件两种采集模式的取舍

A imjournal 保留 journal 结构化字段并 cursor 续采,适合 systemd 日志;imfile 适合应用文件日志,两者按数据源分工且避免同源双采 ✓ 正确答案
B imjournal 与 imfile 功能相同
C imjournal 无法保留 unit 字段
D 文件日志必须先进 journal 才能采集
#

23. rsyslog 高可用部署中主备队列与 relp 双向复制的常见坑

A RELP 双向复制不会产生环路
B 发送端用 disk-assisted 队列+主备双 action 故障切换,双向复制需防环路与重复,队列参数与切换时序要调优 ✓ 正确答案
C 主备切换必然丢日志
D 队列参数与可靠性无关
#

24. syslog-ng 的 disk-buffer 与 memqueue 在背压下的行为差异

A 两者可靠性完全相同
B memqueue 内存溢出即丢且重启清空,reliable disk-buffer 落盘确认重启恢复,背压行为与 queue-full 策略需显式设计 ✓ 正确答案
C disk-buffer 不会满
D memqueue 可以持久化
#

25. syslog-ng 的 log path 中 flags(flow-control) 的作用

A 开启后永远不会丢任何日志
B 开启后下游积压会暂停上游读取,以吞吐换不丢;关闭则上游照读、队列满即丢 ✓ 正确答案
C flow-control 与 source 无关
D 关闭 flow-control 更可靠
#

26. syslog-ng 的 rewrite 规则在日志脱敏中的工程实践

A 正则越宽松越好
B 脱敏规则无需测试
C subst 正则替换支持捕获分组打码、group-unset 删除敏感字段,在转发边界脱敏并需样例回归防误伤 ✓ 正确答案
D 脱敏只能删除整条消息
#

27. 基于日志的告警设计中关键字告警、频次突增检测与日志指纹聚类如何降低误报

A 关键字捕获关注模式、指纹聚类合并同类、频次突增判定量变,叠加分级抑制与噪音管理降低误报 ✓ 正确答案
B 关键字告警误报率最低
C 聚类后单条错误也应每条告警
D 基线对突增检测可有可无
#

28. 日志保留策略的制定中热/温/冷分层存储、合规留存期限与存储成本预算如何权衡

A 合规日志可以随意采样
B 所有日志都应按热层长期保留
C 热温冷分层按检索频率划分并自动化迁移,合规期限强制完整保留,成本预算反推保留量与采样率 ✓ 正确答案
D 保留策略与存储成本无关
#

29. 日志合规留存场景下 rsyslog 队列(disk-assisted queue)防丢配置

A memory 队列足够合规
B disk-assisted(linkedList+落盘)队列在积压与重启时不丢,配合 RELP 确认与容量监控、故障注入验证形成三层保证 ✓ 正确答案
C 队列磁盘目录可与系统盘共用
D 队列丢弃无需记录
#

30. 日志检索平台的权限控制与多租户隔离(索引级 ACL 与查询审计)

A 查询审计日志可以随意修改
B 同索引所有用户可见即可
C ES 用索引级角色 ACL、Loki 用 tenant ID 隔离租户,配合 SSO、字段脱敏与查询审计留痕形成安全闭环 ✓ 正确答案
D 权限无需定期复核
#

31. 日志采集端如何做租户隔离(多 facility/多 tag 分路)

A 用 facility/tag/路径打标并绑定 ruleset 分路,下游按 tenant 分 topic/索引,分配表文档化并做路由测试 ✓ 正确答案
B 租户隔离只能在存储层做
C tag 与 facility 无需管理分配
D K8s 场景无需租户标签