受控语言
确定性短句,一句一个概念,一词只有一个含义。读完它们,你就有了这一章的全部词汇。
- 字段是从日志中抽取出来的、有名字的属性,例如 host、level、user。
- 原始日志是文本;只有变成字段,才能被统计和检索。
- 通用字段几乎每种日志都有:时间戳、来源、级别、执行结果。
- 字段抽取四种基本方法:分隔符切分、正则表达式、JSON 直接读取、键值对解析。
- 结构化日志自带字段,几乎不需要解析。
- Schema on Write:入库前先抽取字段,查询快,但模式要提前定。
- Schema on Read:先存原文,查询时再抽字段,灵活但慢。
- 生产上常常混合:先抽通用字段,细粒度字段留到查询时再抽。
- 坑一:同一含义的字段在不同系统里叫不同名字(别名)。
- 坑二:一条日志里可能有多个时间戳,必须选定唯一权威时间。
- 坑三:敏感信息要在解析阶段脱敏,别等进了平台再后悔。
- 解析质量决定后续一切分析的上限。
结构图
解析流水线:文本进,字段出。图上的方块都可以点:点击查看它的职责。
交互式网页
概念自测:每题即点即判,答完看解析。目标:全对,或错得明白。
得分 0 / 4
Q1 为什么必须把日志解析成字段?
解析 文本只是字符串;字段才是数据。统计、检索、可视化全部建立在字段上。
Q2 Schema on Write 与 Schema on Read 的差别?
解析 Write 模式预抽取换来查询性能,Read 模式保留原文换灵活性,生产常混合。
Q3 一条日志同时出现“日志文件时间”和“接收时间”,应该?
解析 多时间戳是经典坑:必须定义权威时间,否则时序统计全乱。
Q4 敏感信息脱敏的最佳时机?
解析 解析阶段脱敏能防止敏感值被索引、被搜索、被展示,风险最早最小化。
定制视频
本章分镜脚本(时间 / 画面 / 解说词);成片在全书内容校准完成后统一制作。
| 时间 | 画面 | 解说词 |
|---|---|---|
| 0:00-0:12 | 一行灰白日志文本被扫描,逐词亮起 | 一行日志只是一段文字。机器不懂文字,但懂数据。解析,就是文字变数据的那一刻。 |
| 0:12-0:35 | 四种切法演示:切蛋糕(分隔符)、筛子(正则)、开箱(JSON)、对号入座(KV) | 分隔符切开、正则挑出、JSON 直接读、键值对一拆——四种切法覆盖绝大多数日志。 |
| 0:35-0:55 | 两种模式对比:先装箱(Write) vs 随用随取(Read) | 入库前抽字段,查询快;查询时再抽,更灵活。聪明的做法是两者混合。 |
| 0:55-1:20 | 三个坑依次塌陷又填平:别名、双时间戳、敏感信息 | 三个经典坑:字段有别名、时间戳有两个、敏感信息裸奔。每一个都会在半夜还债。 |
| 1:20-1:40 | 字段排成整齐的数据表格,汇入索引 | 解析质量决定分析的上限。下一站:把这些字段存进引擎。 |