跳到主要内容

数据处理

日志数据经预处理流入数据处理流程环节,通过匹配过滤条件进入相应的处理流程中。

开始使用

处理流程列表

数据只会受到一个处理流程的作用,优先级高的生效。每个处理流程最多使用 20 个处理器。在一个Grok 处理器中最多使用 10 个解析规则。平台会自动识别数据源,并加载相应的数据处理流程,无需用户手动配置。用户可以点击处理流程库以查看平台支持哪些处理流程。

image-20251009141446748

Json解析

平台针对json格式数据自动解析,无需配置。

image-20251009141525204

处理流程库

平台会自动识别数据源,并加载相应的数据处理流程,无需用户手动配置。数据处理流程由处理器与继承的数据处理流程构成,以解析日志。

image-20251009141542679

新建处理流程

当默认的处理流程无法满足用户需求时,可以新建处理流程。处理流程由处理器或嵌套的处理流程组成。

image-20251009141621792

处理流程有两种类型,一种为平台内置的处理流程(只读),一种为用户自定义的处理流程(自定义)。

只读类型支持操作:查看、查询日志、log tail、移动、克隆 操作、启用禁用。

操作效果
查看查看处理流程详情页,信息全部置灰不可修改。
查询日志新开页查询日志
log tail新开页log tail
移动显示移动弹窗
克隆点击后,基于该处理流程新建一个完全一致的处理流程,但是具备编辑权限。旧的处理流程自动禁用。新的处理流程开启。新的流程在当前被克隆的流程后面。
启用禁用启用后规则生效,禁用后规则不生效。

自定义类型支持操作:编辑、查询日志、log tail、移动、克隆 、删除、启用禁用。

操作效果
编辑打开处理流程详情页,信息可修改。
查询日志新开页查询日志
log tail新开页log tail
移动显示移动弹窗
克隆点击后,基于该处理流程新建一个完全一致的处理流程,但是具备编辑权限。旧的处理流程自动禁用。新的处理流程开启。新的流程在当前被克隆的流程后面。
删除点击弹窗提示,按照原型文案提示,点击确定删除,则删除该条规则。新的数据将不会经过该规则处理。接受一定时间的延迟。但不建议超过3分钟。
启用禁用启用后规则生效,禁用后规则不生效。

处理器

平台支持Grok解析器,重映射,User-Agent解析器,Url解析器,GeoIP解析器,Date重映射,Body重映射,Status重映射,Service重映射,分类处理器,算数处理器、String Builder 处理器、Trace Id重映射、Lookup处理器。

处理器有两种类型,一种为平台内置的(只读),一种为用户自定义的(自定义)。

只读类型支持操作:查看。查看处理器情页,信息全部置灰不可修改。

自定义类型支持操作:编辑、克隆 、移动、删除、启用禁用。

操作效果
编辑打开处理器详情页,信息可修改。
克隆点击后,基于该处理器新建完全一致的处理器。旧的处理器不会被禁用。新的处理器在该处理器下方,优先级较低。
移动支持将算子移动到别的处理流程中(嵌套)。或直接拖拽移动也可。
删除点击弹窗提示,按照原型文案提示,点击确定删除,则删除该条规则。新的数据将不会经过该处理器处理。接受一定时间的延迟。但不建议超过3分钟。
启用禁用启用后规则生效,禁用后规则不生效。

Grok解析器

Grok:基于 GROK 语法解析字段,用于字段提取。默认从 body 字段中使用 Grok 解析器进行字段提取,使用高级设置 中 ”提取自“可以随意指定提取的字段。对于比较复杂的嵌套规则,可以使用子规则。

image-20260709200339996

支持自动解析功能。日志自动获取新接入的日志,并自动提供对应的解析规则。如果没有接入日志,提示:我们没有发现最近的索引匹配到该处理流程。如果Livetail中看到有日志接入,但无法自动解析,需要去确认这些日志是否被存储到索引中,可能是使用了排除处理器。

对于有匹配规则的日志标识规则解析匹配,对于不匹配的情况标识规则解析不匹配。

grok解析器会从配置的解析规则中提取所有指定的字段key,并注册为解析属性,在后续的查询和使用当中可以从解析属性当中选择字段添加为快捷过滤字段,并在仪表盘和告警当中使用。

解析属性的注册按照以下逻辑执行:

etl_log_parse_flow_v2

  • 配置阶段:配置grok解析器,从解析规则中提取可注册的属性字段,保存配置时注册为解析属性

    image-20260709200852917

    • 自动读取grok解析规则中提取出来的字段,自动识别出字段类型,包括文本、数值两种类型,且不允许修改字段类型;
    • 保存时需要进行全局校验,不支持注册key相同但类型不同的字段,比如已经存在abc字段且为文本类型,不可再指定数值类型的abc字段,适用于grok语法中指定key的字段或者用户能够确定日志数据当中提取固定字段的场景。
  • 运行阶段:实际数据接入时判断解析字段是否已经注册为解析字段,如果没有则会动态注册

    • 接入日志数据时按照数据流进行数据处理,解析出的字段判断是否已经注册为解析属性,如果已经注册直接写入字段值,如果没有注册为解析属性,会注册新的解析属性并写入字段值
    • 判断处理结果中的字段是否注册为解析属性时,如果之前已经注册过字段一样但字段类型不一样的字段时,新解析出的字段数据会被丢弃,也不会注册新的解析属性
      • 提示:“请注意:JSON格式的数据会进行动态注册,如果解析出已存在的字段但是字段类型不同的数据会丢弃,不会作为解析属性存储。”
    • 在运行阶段注册解析属性时也会自动判断字段类型,包括文本、数值、数组三类,动态注册时会存在数组类型的数据
  • 举例说明

    配置解析规则:
    rule1 %{data::json}
    rule2 \{\{\"time\":"%{data:time}","message":\{"receiveTime":%{data:message.receiveTime}\,%{data}
    • rule1表示对所有json日志进行解析,将日志中的所有json字段整体展开进行解析
    • rule2表示对满足某种格式的日志从中提取time、message.receiveTime两个字段,其他内容不做提取

    配置阶段

    • 从解析规则中自动识别,从rule1中提取到time、message.receiveTime两个字段,默认为文本类型,保存解析规则时注册这两个字段为解析属性

    运行阶段:

    • 接入一条日志:
    {{"time":"2026-06-08 15:11:26.234","message":{"receiveTime":1780902686233,"response":{"responseTime":1780902686234,"responseBody":{"code":0,"data":[{"appId":211,},{"appId":212,}]}}}}
    • 按照配置的解析规则会使用%{data::json}语法解析日志中的完整字段,解析出的结果为
    {
    "time": "2026-06-08 15:11:26.234",
    "message": {
    "receiveTime": 1780902686233,
    "response": {
    "responseBody": {
    "code": 0,
    "data": {
    "appId": [
    211,
    212
    ]
    }
    },
    "responseTime": 1780902686234
    }
    }
    }
    • 提取出的字段为time, message.receivetime, message.response.responseTime, message.response.responseBody.code, message.response.responseBody.data.appId ,其中只有time、message.receiveTime字段在配置阶段注册过,其他几个字段都未注册为解析属性,会在接入数据的时候进行注册
  • 如果rule2中提取的字段是receiveTime而不是message.receiveTime,那么在运行阶段动态注册的时候也会注册message.receiveTime字段,但是两个字段的值可能相同

  • 提取出的message.response.responseBody.data.appId字段注册解析属性时是数组类型

重映射

将已有的属性/标签key重新映射到新的属性路径/标签key下。

image-20251009154112679

保留源属性,开启表示原属性仍然保存并可见,关闭表示原属性无需保存无需展示。

忽略冲突:按照替换的逻辑处理,不忽略就不替换。

强制修改属性类型,支持string、integer、double。默认为string,默认开启。

对于映射为标签时,仅支持保留原属性、忽略冲突两种配置。

User-Agent解析器

将 User-Agent 字段的信息基于其规范识别其位置、设备等信息。

支持配置UrlDecode,UrlDecode是对字符串进行URL解码的编码处理函数。通过urlencode编码后的字符串,可通过UrlDecode进行解码。

image-20251009141829847

Url解析器

用于URL解析,将 Url 字段的信息基于其规范识别其 scheme、host、path、queryString 等信息。

image-20251009141912606

GeoIP解析器

GeoIP 解析器:用于 IP 地址解析,用于获取一个IP地址属性,并提取目标属性路径中的国家、地区或城市信息。

image-20251009141936023

Date重映射

将某属性映射为时间字段

image-20251009141950803

Body重映射

某属性映射为Body字段。

image-20251009142004501

Service重映射

将某属性映射为服务字段。

image-20251009142016847

分类处理器

支持过滤日志属性,以生成新类型。通过输入查询过滤条件来过滤匹配的对象,并将符合条件的日志映射到设置的名称。分类最多添加50个。支持分类项的新增、编辑、删除。点击值名称则将输入的信息反显至输入框,修改信息也会同步修改至回顾添加的实例。

image-20251009142036858

算术处理器

支持属性值计算。支持通过加减乘除来计算属性,支持一个或多个属性之间的计算。支持配置缺失属性以0处理。

支持的运算符:+ - * / ( )

image-20251009142058784

String Builder 处理器

支持将多个属性组合成一个新的属性。支持配置缺失属性以空字符串处理。

image-20251009142116661

Trace Id重映射

将某属性映射为 Trace ID 字段

image-20251009142131053

Lookup处理器

支持将外部数据和日志数据关联。

支持手动映射和表格映射两种方式。表格支持CSV格式。

通过主键相同的值来关联两方的数据。支持配置回退值:如果没有找到该字段的值。就会显示这个回退值。

image-20251009142148232