跳到主要内容
版本:Nightly

日志

日志和指标、链路共用同一个引擎,所以日志表可以用 SQL 查询,也能和其他信号做 JOIN。和指标相比,日志多一个环节,发生在入库之前:Pipeline 把一行原始日志拆成列,并决定哪些列需要索引。

log-collection-flow

一条日志如何变成一行数据

指标写入时已经是结构化的:指标名、一组标签、一个值。非结构化的日志行没有这层结构,它就是一个字符串,里面有什么取决于当初写日志的人。Pipeline 负责补上结构化这一步,在数据落库之前完成。

Pipeline 分两个阶段:

  • Processor 解析和改写输入字段。dissectregex 把原始日志切分成命名字段,json_parsecsv 读取结构化格式,dateepoch 把文本转成时间戳,vrlgsubselectfilter 用于进一步整形或丢弃字段。
  • Transform 决定这些字段如何存储:每个字段的列类型、是否作为 tag,以及是否建立 invertedskippingfulltext 索引。

处理完得到的是一张普通的表,查询方式和其他数据没有区别。如果同一个来源混着多种日志类型,可以用 dispatcher 把它们分别路由到不同的表。

如果写入的数据本身已经结构化,则不需要任何配置:内置的 greptime_identity Pipeline 会把每个字段按列存储。

快速上手

快速开始用内置的 greptime_identity Pipeline 演示日志写入。

通过收集器写入

每篇文档都包含对应收集器的配置,以及配套的 Pipeline 设置:

编写自己的 Pipeline

内置 Pipeline 覆盖不到的日志格式,需要自己写配置。

查询日志

参考