云日志服务 LTS-ICAgent结构化解析规则说明:多行-完全正则

时间:2024-12-04 18:26:19

多行-完全正则

适用任意格式的多行日志,使用正则表达式提取字段。

  1. 选择多行-完全正则。
  2. 从“从已有日志中选择”或“从剪切板中粘贴”选择日志样例。
    • 从已有日志中选择:单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,单击“确定”。通过选择不同时间段筛选日志。
    • 从剪切板中粘贴:单击“从剪切板中粘贴”,可直接自动将您剪切的日志内容复制到示例日志框中。
  3. 在“首行正则表达式”下方支持自动生成或手动输入正则表达式。首行正则表达式需要匹配首行完整内容,注意并非首行的开头内容。

    “首行正则表达式”用于识别多行日志的行首,例如以下日志示例:

    2024-10-11 10:59:07.000 a.log:1 level:warn
      no.1 log
    2024-10-11 10:59:17.000 a.log:2 level:warn
      no.2 log

    完整的多行是:

    2024-10-11 10:59:07.000 a.log:1 level:warn
    no.1 log

    首行则是:

    2024-10-11 10:59:07.000 a.log:1 level:warn

    首行正则示例:^(\d+-\d+-\d+\s+\d+:\d+:\d+\.\d+),由于每个首行的日期是唯一的,因此可以根据日期来生成首行正则。

  4. 在“提取正则表达式”下方输入要提取日志的正则表达式,单击“验证”,在提取结果下方查看结果。

    或者单击“正则表达式自动生成”,在新打开的页面根据日志样例提取字段,输入key值,单击“确定”即可自动生成正则表达式,设置完成后,单击“确定”。

    提取结果显示的是“提取正则表达式”执行的结果,而不是“首行正则表达式”执行的结果,“首行正则表达式”执行的结果需要到目标日志流查看。

    如果“首行正则表达式”手动输入的正则表达式有误,则会导致无法查看上报的日志流数据。

    图14 设置正则表达式
  5. 日志过滤默认关闭,可根据需要打开日志过滤,进行添加白名单规则或黑名单规则,白名单规则或黑名单规则添加上限为20个。
    图15 日志过滤规则
    • 开启日志过滤才需要设置,添加白名单规则。

      您可以添加过滤规则筛选出有价值的日志数据,过滤规则为正则表达式,应用到指定Key的Value。所创建的过滤规则为命中规则,即匹配上正则表达式的日志才会被采集上报。

      1. 单击“添加”,填写Key值和过滤规则(正则表达式)。Key值为日志字段名称,多条过滤规则之间关系是“或”逻辑。例如采集日志源文件中包含hello的日志,可配置采集规则为.*hello.*
      2. 单击操作列的可以进行规则校验,输入字段值,单击“校验”,提示校验成功。
        图16 校验
    • 开启日志过滤才需要设置,添加黑名单规则。

      您可以添加过滤规则筛选出有价值的日志数据,过滤规则为正则表达式,应用到指定Key的Value。所创建的过滤规则为丢弃规则,即匹配上正则表达式的日志会被丢弃。

      1. 单击“添加”,填写Key值和过滤规则(正则表达式)。Key值为日志字段名称,多条过滤规则之间关系是“或”逻辑。例如不采集日志源文件中包含test的日志,可配置采集规则为.*test.*
      2. 单击操作列的可以进行规则校验,输入字段值,单击“校验”,提示校验成功。
  6. 上传原始日志。

    打开上传原始日志开关后,原始日志将作为content字段的值上传到日志服务。

  7. 上传解析失败日志。

    打开上传解析失败日志开关后,原始日志将作为_content_parse_fail_字段的值上传到日志服务。

  8. 自定义日志时间

    开启后可指定某一字段作为日志时间,或关闭此项使用日志被采集时间作为日志时间。

support.huaweicloud.com/usermanual-lts/lts_07_0072.html