-
自定义模板 在“选择模板”下,选择“自定义模板”,选择已有的结构化模板。自定义模板主要来源有以下两种: 在配置正则分析、JSON、分隔符或Nginx方式时,单击左下角的“另存为模板”,系统会弹出“另存为模板”页面,输入模板名称,单击“确定”,保存自定义模板。该模板会在“自定义模板”下的模板列表展示。 新增结构化模板,具体操作如下: 在“选择模板”下,选择“自定义模板”,单击“新增结构化模板”。 在“新增结构化模板”页面中,选择正则分析、JSON、分隔符或Nginx方式,进行配置。 配置完成后输入模板名称,单击“确定”,完成自定义模板的保存,会在“自定义模板”下的模板列表展示。
-
JSON JSON是通过提取JSON字段将其拆分为键值对。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 将以下参考示例原始日志输入待操作框中,在“步骤2 字段提取”下单击“智能提取”。 {"a1": "a1", "b1": "b1", "c1": "c1", "d1": "d1"} 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 当日志提取字段的类型为float时,精度为16位有效数字。如果超过16位有效数字,则会导致提取字段内容不准确,从而影响快速分析,因此建议将字段类型修改为String。 当日志提取字段的类型为long时,日志内容超过16位有效数字,只会精确显示前16位有效数字,后面的数字会变为0。 当日志提取字段的类型为long时,日志内容超过21位有效数字,则会识别为float类型,建议将字段类型修改为String。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
-
Nginx Nginx是通过log_format指令来自定义访问日志的格式。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据。 在“步骤2 输入Nginx日志配置”中需要输入Nginx日志配置,根据输入或选择的日志进行配置。其中有默认配置可使用,单击“默认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字段之间的间隔,除大小字母、数字、下划线及中划线外,可使用其他任意字符 以(')或者(';)结尾 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 将以下原始日志示例输入待操作框中。 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"'; 在“步骤3 字段提取”下单击“智能提取”。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响快速分析,因此建议将字段类型修改为String。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
-
分隔符 分隔符是使用分隔符(例如:逗号、空格或字符)提取字段。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据。 在“步骤2 指定分隔符”需要根据原始日志内容选择分隔符,或自定义其他需要的特殊字符作为分隔符。 不可见字符需要输入0x开头的16进制字符,长度为0-4个字符,总共32个不可见字符。 自定义字符支持输入1-10个字符,每个字符都作为独立的分隔符。 自定义字符串支持输入1-30个字符,字符串整体作为一个分隔符。 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 将以下原始日志示例输入待操作框中,在“步骤3字段提取”下单击“智能提取”。 1 5f67944957444bd6bb4fe3b367de8f3d 1d515d18-1b36-47dc-a983-bd6512aed4bd 192.168.0.154 192.168.3.25 38929 53 17 1 96 1548752136 1548752736 ACCEPT OK 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响快速分析,因此建议将字段类型修改为String。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
-
云端结构化解析 登录
云日志 服务控制台,进入“日志管理”页面。 单击目标日志组或日志流名称,进入日志流详情页面。 在“日志搜索”页面,单击右上角或日志设置,在弹出页面中,选择“云端结构化解析”,进行日志结构化配置。 仅在华北-北京四、华北-乌兰察布一、华东-上海一、中国-香港、亚太-新加坡区域时显示“日志设置”,其他局点还是。 开启“保留原始日志”后,原始日志将作为content字段的值存储到云日志服务。同时在资源统计和计费时content字段均会统计在内。 开启“上传解析失败日志”后,原始日志将作为_content_parse_fail_字段的值上传到云日志服务。 关于开启或关闭“保留原始日志”和“上传解析失败日志”时,日志上报参考如下。 该功能仅支持华北-北京四、华北-乌兰察布一、华东-上海一、中国-香港、亚太-新加坡区域,其他局点暂不支持该功能。 图1 云端结构化解析 表1 日志上报说明 参数 日志上报说明 开启“保留原始日志” 开启“上传解析失败日志” 解析成功:上报解析后日志和原始日志content字段。 解析失败:为了避免日志冗余,只上报原始日志content字段,不重复上报_content_parse_fail_字段。 开启“保留原始日志” 关闭“上传解析失败日志” 解析成功:上报解析后日志和原始日志content字段。 解析失败:上报原始日志content字段。 关闭“保留原始日志” 开启“上传解析失败日志” 解析成功:上报解析后日志。 解析失败:上报_content_parse_fail_字段。 关闭“保留原始日志” 关闭“上传解析失败日志” 解析成功:上报解析后日志。 解析失败:仅上报内置字段和label字段。 结构化不支持的系统字段包括:groupName、logStream、lineNum、content、logContent、logContentSize、collectTime、category、clusterId、clusterName、containerName、hostIP、hostId、hostName、nameSpace、pathFile、podName。 正则分析:使用正则表达式提取字段。 JSON:通过提取JSON字段将其拆分为键值对。 分隔符:使用分隔符(例如:冒号、空格或字符等)提取字段。 Nginx:通过log_format指令来自定义访问日志的格式。 结构化模板:通过自定义模板或系统内置模板提取字段。 云端结构化解析配置完成后,支持修改或删除结构化配置。 在云端结构化解析页面中,单击,修改结构化配置。 在云端结构化解析页面中,单击,删除结构化配置。 结构化配置删除后,将无法恢复,请谨慎操作。
-
示例 常见的时间标准、示例及对应的时间表达式如下表3。 表3 示例 示例 时间表达式 时间标准 2022-07-14T19:57:36+08:00 yyyy-MM-dd'T'HH:mm:ssXXX 自定义 1548752136 %s 自定义 27/Jan/2022:15:56:44 dd/MMM/yyyy:HH:mm:ss 自定义 2022-08-15 17:53:23+08 yyyy-MM-dd HH:mm:ssX 自定义 2022-08-05T08:24:15.536+0000 yyyy-MM-dd'T'HH:mm:ss.SSSZ 自定义 2022-08-20T10:04:03.204000Z yyyy-MM-dd'T'HH:mm:ss.SSSZ 自定义 2022-08-22T06:52:08Z yyyy-MM-dd'T'HH:mm:ssZ 自定义 2022-07-24T10:06:41.000 yyyy-MM-dd'T'HH:mm:ss.SSS 自定义 Monday, 02-Jan-06 15:04:05 MST EEEE, dd-MMM-yy HH:mm:ss Z RFC850 Mon, 02 Jan 2006 15:04:05 MST EEE, dd MMM yyyy HH:mm:ss Z RFC1123 02 Jan 06 15:04 MST dd MMM yy HH:mm Z RFC822 02 Jan 06 15:04 -0700 dd MMM yy HH:mm Z RFC822Z 2023-01-02T15:04:05Z07:00 yyyy-MM-dd'T'HH:mm:ss Z RFC3339 2022-12-11 15:05:07 yyyy-MM-dd HH:mm:ss 自定义
-
开启自定义日志时间 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组或日志流名称,进入日志流详情页面。 在“日志搜索”页面,单击右上角或日志设置,在弹出页面中,选择“云端结构化解析”,详细请参考设置日志云端结构化解析。 仅在华北-乌兰察布一、华东-上海一、中国-香港、亚太-新加坡区域时显示“日志设置”,其他局点还是。 配置完成后,开启自定义日志时间开关,配置如下参数。 切换自定义日志时间开关时,可能会导致日志搜索界面在切换时间点附近出现时间偏差,请勿频繁切换自定义日志时间开关。 表1 参数配置表 参数 说明 示例 字段key 已提取字段的名称。单击下拉框选择已提取的字段,该字段为string或long类型。 test 字段value 已提取的字段value,选择字段key后,将自动填充。 2022-07-19 12:12:00 时间格式 请参考常见日志时间格式。 yyyy-MM-dd HH:mm:ss 操作 单击“校验”,提示“时间格式和字段value匹配成功”则表示校验成功。 -
-
常见日志时间格式 常见日志时间格式如下表2。 默认情况下,
云日志服务LTS 中的日志时间戳精确到秒,因此时间格式只需配置到秒,无需配置毫秒、微秒等信息。 表2 时间格式 时间格式 说明 示例 EEE 星期的缩写。 Fri EEEE 星期的全称。 Friday MMM 月份的缩写。 Jan MMMM 月份的全称。 January dd 每月第几天,十进制,范围为01~31。 07, 31 HH 小时,24小时制。 22 hh 小时,12小时制。 11 MM 月份,十进制,范围为01~12。 08 mm 分钟,十进制,范围为00~59。 59 a AM或PM。 AM、PM hh:mm:ss a 12小时制的时间组合。 11:59:59 AM HH:mm 小时和分钟组合。 23:59 ss 秒数,十进制,范围为00~59。 59 yy 年份,十进制,不带世纪,范围为00~99。 04、98 yyyy 年份,十进制。 2004、1998 d 每月第几天,十进制,范围为1~31。 7、31 DDD 一年中的天数,十进制,范围为001~366。 365 u 星期几,十进制,范围为1~7,1表示周一。 2 w 每年的第几周,星期天是一周的开始,范围为00~53。 23 W 每月的第几周,范围为0~5。 2 U 星期几,十进制,范围为0~6,0代表周日。 5 EEE MMM dd HH:mm:ss yyyy 标准的日期和时间。 Tue Nov 20 14:12:58 2020 EEE MMM dd yyyy 标准的日期,不带时间。 Tue Nov 20 2020 HH:mm:ss 标准的时间,不带日期。 11:59:59 %s Unix时间戳。 147618725
-
示例 常见的时间标准、示例及对应的时间表达式如下表3。 表3 示例 示例 时间表达式 时间标准 2022-07-14T19:57:36+08:00 yyyy-MM-dd'T'HH:mm:ssXXX 自定义 1548752136 %s 自定义 27/Jan/2022:15:56:44 dd/MMM/yyyy:HH:mm:ss 自定义 2022-08-15 17:53:23+08 yyyy-MM-dd HH:mm:ssX 自定义 2022-08-05T08:24:15.536+0000 yyyy-MM-dd'T'HH:mm:ss.SSSZ 自定义 2022-08-20T10:04:03.204000Z yyyy-MM-dd'T'HH:mm:ss.SSSZ 自定义 2022-08-22T06:52:08Z yyyy-MM-dd'T'HH:mm:ssZ 自定义 2022-07-24T10:06:41.000 yyyy-MM-dd'T'HH:mm:ss.SSS 自定义 Monday, 02-Jan-06 15:04:05 MST EEEE, dd-MMM-yy HH:mm:ss Z RFC850 Mon, 02 Jan 2006 15:04:05 MST EEE, dd MMM yyyy HH:mm:ss Z RFC1123 02 Jan 06 15:04 MST dd MMM yy HH:mm Z RFC822 02 Jan 06 15:04 -0700 dd MMM yy HH:mm Z RFC822Z 2023-01-02T15:04:05Z07:00 yyyy-MM-dd'T'HH:mm:ss Z RFC3339 2022-12-11 15:05:07 yyyy-MM-dd HH:mm:ss 自定义
-
常见日志时间格式 常见日志时间格式如下表2。 默认情况下,云日志服务LTS中的日志时间戳精确到秒,因此时间格式只需配置到秒,无需配置毫秒、微秒等信息。 表2 时间格式 时间格式 说明 示例 EEE 星期的缩写。 Fri EEEE 星期的全称。 Friday MMM 月份的缩写。 Jan MMMM 月份的全称。 January dd 每月第几天,十进制,范围为01~31。 07, 31 HH 小时,24小时制。 22 hh 小时,12小时制。 11 MM 月份,十进制,范围为01~12。 08 mm 分钟,十进制,范围为00~59。 59 a AM或PM。 AM、PM hh:mm:ss a 12小时制的时间组合。 11:59:59 AM HH:mm 小时和分钟组合。 23:59 ss 秒数,十进制,范围为00~59。 59 yy 年份,十进制,不带世纪,范围为00~99。 04、98 yyyy 年份,十进制。 2004、1998 d 每月第几天,十进制,范围为1~31。 7、31 DDD 一年中的天数,十进制,范围为001~366。 365 u 星期几,十进制,范围为1~7,1表示周一。 2 w 每年的第几周,星期天是一周的开始,范围为00~53。 23 W 每月的第几周,范围为0~5。 2 U 星期几,十进制,范围为0~6,0代表周日。 5 EEE MMM dd HH:mm:ss yyyy 标准的日期和时间。 Tue Nov 20 14:12:58 2020 EEE MMM dd yyyy 标准的日期,不带时间。 Tue Nov 20 2020 HH:mm:ss 标准的时间,不带日期。 11:59:59 %s Unix时间戳。 147618725
-
开启自定义日志时间 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组或日志流名称,进入日志流详情页面。 在“日志搜索”页面,单击右上角或日志设置,在弹出页面中,选择“云端结构化解析”,详细请参考设置日志云端结构化解析。 仅在华北-乌兰察布一、华东-上海一、中国-香港、亚太-新加坡区域时显示“日志设置”,其他局点还是。 配置完成后,开启自定义日志时间开关,配置如下参数。 切换自定义日志时间开关时,可能会导致日志搜索界面在切换时间点附近出现时间偏差,请勿频繁切换自定义日志时间开关。 表1 参数配置表 参数 说明 示例 字段key 已提取字段的名称。单击下拉框选择已提取的字段,该字段为string或long类型。 test 字段value 已提取的字段value,选择字段key后,将自动填充。 2022-07-19 12:12:00 时间格式 请参考常见日志时间格式。 yyyy-MM-dd HH:mm:ss 操作 单击“校验”,提示“时间格式和字段value匹配成功”则表示校验成功。 -
-
解析方式介绍 云日志服务支持两种日志结构化解析方式:云端结构化解析和ICAgent结构化解析,且一个日志流只能配置一种结构化方式,例如选择云端结构化解析后,不能再选择ICAgent结构化解析,需要删除后,才能重新选择。更多信息请参考图1。 若用户在日志接入的时候没有配置结构化解析,可以单独给目标日志流配置ICAgent结构化解析或云端结构化解析。 ICAgent结构化解析是在采集侧做结构化,支持插件组合解析,单个日志流的多个采集配置支持不同结构化解析规则,推荐使用ICAgent结构化解析的方式,更多内容请参考ICAgent结构化解析规则说明。 云端结构化解析是通过不同的日志提取方式将日志流中的日志进行结构化,云端结构化解析会消耗LTS服务端算力,未来会按照日志大小收取日志加工流量费用。 图1 不同解析方式