机器数据分析平台

  • 机器数据分析平台 > 产品手册 > SPL参考手册 > transaction

    transaction

    最近更新时间:2019-11-19 19:31:42

    transaction 是一个特殊的搜索命令,它的作用是通过多种约束条件将多个日志聚合成一条日志,形成完整的事务。这个命令非常适合做跨多行日志的分析,进行更复杂的搜索和运算。

    transaction 命令的行为:

    transaction 会将指定字段相同的事件 _raw 字段中的日志拼接在一起,多行拼接成为一行
    命令会给日志添加上新的字段,_event_count 记录一个事务中包含多少条原始日志, _duration_second 记录这个事务从开始到结束持续了多少秒钟时间,_trans_closed 代表这个事务是否是闭合的,即是否同时满足了事务的起始条件和终止条件。

    语法:

    transaction field_list
    startswith=<QuotedString|eval(BOOL_EVAL_EXPRESSION)>
    endswith=<QuotedString|eval(BOOL_EVAL_EXPRESSION)>
    maxspan=<5s|5m|5h>
    maxpause=<5s|5m|5h>
    maxevents=< Maxevents >
    mvraw=<true|false>
    delim=< QuotedString>
    mvlist=< true|false|field_list >
    nullstr=< QuotedString >
    maxopentxn=< Maxopentxn >
    maxopenevents=< Maxopenevents >

    参数说明:

    1.field_list 是查询事务的时候,对事务做的字段约束。只有所有字段值全部相同的日志会聚合到一个事务中。

    2.startswith 和 endswith 支持关键词或者Eval表达式对事务的起始和终止做约束,比如 startswith="begin" endswith=eval(contains(_raw, "rollback") OR contains(_raw, "commit")) 代表事务以日志出现begin 关键词未开始,以出现rollback 或者 commit 关键词为结束。

    3.maxspan 代表事务最长持续时间,支持时间表达式,如5m 代表事务如果超过5分钟则认为结束。

    4.maxpause 代表事务的最大停顿时间,支持时间表达式,如5m 代表如果事务和后续的一条日志中间相差了5分钟或者以上的时间,则认为事务结束

    5.maxevents 代表事务中最大可包含的日志数量,如100 代表如果事务中日志已经达到100,则认为事务结束。默认值为1000

    6.mvraw 和 delim 代表如何拼接原始日志,mvraw=false (默认值)代表着日志通过换行符进行拼接,mvraw=true 的时候代表日志通过 delim 指定的分隔符进行拼接,delim 默认值是空格符

    7.mvlist 和 nullstr 代表如何将字段值进行拼接,如果mvlist=false (默认值)代表着事务会将该字段所有值进行去重,mvlist=true 代表事务会将所有日志中字段按顺序形成数组,如果遇到null值,会使用nullstr进行字段替换。nullstr 默认为 "NULL"

    8.maxopentxn 查询内存控制参数,代表最大容许未关闭状态transaction的数量,如果达到最大值,则使用 LRU 策略置换事务。默认值为 10000

    9.maxopenevents 查询内存控制参数,代表所有未关闭状态transaction中日志数量和的最大值,如果达到最大值,则使用 LRU 策略置换事务。默认值为 200000

    示例:

    transaction db_instance startswith="begin" endswith=eval(contains(_raw, "rollback") OR contains(_raw, "commit"))
    

    对于数据库的SQL执行日志进行事务分析,按照db 实例聚合事务,当出现begin的时候认为事务开始,当出现rollback 或者 commit 的时候事务结束。

    transaction user maxpause=10m
    

    对用户进行行为分析,用户如果持续在进行操作的时候是属于事务,如果有十分钟以上不操作,则认为事务结束。

    以上内容是否对您有帮助?
  • Icon helper
    Icon free helper
    Close