云日志服务 LTS-结构化配置(新版):Nginx

时间:2022-11-12 10:34:27

Nginx

  1. 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段“近1分钟”、“近5分钟”、“近15分钟”、“近1小时”、“近6小时”、“近1天”、“近1周”或者“自定义时间段”筛选日志。
  2. 在“步骤2 输入Nginx日志配置”中需要输入Nginx日志配置,根据输入或选择的日志进行配置。其中有默认配置可使用,单击“默认Nginx配置”即可。默认如图6所示。

    图6 输入Nginx日志配置

    标准Nginx配置文件中,日志配置的部分通常以log_format开头。

    日志格式

    • 默认配置如下所示。
      log_format  main   '$remote_addr - $remote_user [$time_local] "$request" '                            '$status $body_bytes_sent "$http_referer" '                            '"$http_user_agent" "$http_x_forwarded_for"';
    • 用户也可进行自定义配置,具体配置格式要求如下所示。
      • 使用Nginx配置,不可为空
      • 以log_format开头,并且包含(')和字段名称
      • 长度最大限制为5000
      • 需要与示例日志内容匹配
      • log_format字段之间的间隔,除大小字母、数字、下划线及中划线外,可使用其他任意字符
      • 以(')或者(';)结尾

  1. 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。

    在“步骤3 字段提取”下单击“智能提取”。以如下原始日志为例进行分析:

    将以下原始日志输入待操作框中。

    39.149.31.187 - - [12/Mar/2020:12:24:02 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36" "-"

    并使用如下Nginx日志配置。

    log_format  main   '$remote_addr - $remote_user [$time_local] "$request" '                            '$status $body_bytes_sent "$http_referer" '                            '"$http_user_agent" "$http_x_forwarded_for"';

    通过智能提取结果如下图。

    当日志提取字段的类型为float时,精确度为7位有效数字。

    如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。

    自定义日志时间:日志时间默认为日志接入配置中的时间,云日志服务支持通过开启“自定义日志时间”开关配置自定义日志时间。

    开启后,需要配置的参数如下:

    表4 参数配置表

    参数

    说明

    示例

    字段key

    已提取字段的名称。单击下拉框选择已提取的字段,该字段为string或long类型。

    test

    字段value

    已提取的字段value,选择字段key后,将自动填充。

    说明:

    配置的字段value必须是当前时间前后24小时内的时间。

    2022-07-19 12:12:00

    时间格式

    填写时按照yyyy-MM-dd HH:mm:ss形式填写。

    • yyyy:表示年
    • MM:表示月
    • dd:表示日期
    • HH:表示小时
    • mm:表示分钟
    • ss:表示秒

    默认情况下,云日志服务中的日志时间戳精确到秒,所以时间格式只需配置到秒,无需配置毫秒、微秒等信息。

    yyyy-MM-dd HH:mm:ss

    操作

    单击“校验”,提示“时间格式和字段value匹配成功”则表示校验成功。

    -

    • 切换自定义日志时间开关时,可能会导致日志搜索界面的图8在切换时间点附近出现时间偏差,请勿频繁切换自定义日志时间开关。
      图7 日志时间-数量柱状图
    • 时间格式按照字段value值格式填写,常见的时间标准和对应的时间格式如下所示:
      • 当字段value值为2022.7.18 12:12:30,则对应的时间格式为yyyy.MM.dd HH:mm:ss
      • 当字段value值为2022-7-18 12:12:30,则对应的时间格式为yyyy-MM-dd HH:mm:ss
      • 当字段value值为20220718 12:12:30,则对应的时间格式为yyyyMMdd HH:mm:ss
      • 当字段value值为13位时间戳(毫秒级)和10位时间戳(秒级) 时,则对应的时间格式为%s
      • 当字段value值为2022.7.18 12:12:30.123,则对应的时间格式为yyyy.MM.dd HH:mm:ss.SSS,其中SSS表示毫秒

    在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考结构化字段设置

  2. 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。