云服务器内容精选

  • 解析方式介绍 云日志 服务支持两种日志结构化解析方式:云端结构化解析和ICAgent结构化解析,且一个日志流只能配置一种结构化方式,例如选择云端结构化解析后,不能再选择ICAgent结构化解析,需要删除后,才能重新选择。更多信息请参考图1。 若用户在日志接入的时候没有配置结构化解析,可以单独给目标日志流配置ICAgent结构化解析或云端结构化解析。 ICAgent结构化解析是在采集侧做结构化,利用的是客户节点上的资源,将结构化完成的数据上报到LTS。推荐用户使用ICAgent结构化解析的方式,更多内容请参考ICAgent结构化解析规则说明。 云端结构化解析是通过不同的日志提取方式将日志流中的日志进行结构化,云端结构化解析会消耗LTS服务端算力,未来会按照日志大小收取日志加工流量费用。 图1 不同解析方式
  • 分隔符 分隔符是使用分隔符(例如:逗号、空格或字符)提取字段。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤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。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • 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字段之间的间隔,除大小字母、数字、下划线及中划线外,可使用其他任意字符 以(')或者(';)结尾 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤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。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • JSON JSON是通过提取JSON字段将其拆分为键值对。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤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 字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 {"a1": "a1", "b1": "b1", "c1": "c1", "d1": "d1"} 当日志提取字段的类型为float时,精度为16位有效数字。如果超过16位有效数字,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 当日志提取字段的类型为long时,日志内容超过16位有效数字,只会精确显示前16位有效数字,后面的数字会变为0。 当日志提取字段的类型为long时,日志内容超过21位有效数字,则会识别为float类型,建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • 云端结构化解析 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组和日志流名称。 在日志流详情页面,单击右上角,在弹出页面中,选择“云端结构化解析”,进行日志结构化配置。 正则分析:使用正则表达式提取字段。 JSON:通过提取JSON字段将其拆分为键值对。 分隔符:使用分隔符(例如:冒号、空格或字符等)提取字段。 Nginx:通过log_format指令来自定义访问日志的格式。 结构化模板:通过自定义模板或系统内置模板提取字段。 云端结构化解析配置完成后,支持修改或删除结构化配置。 在云端结构化解析页面中,单击,修改结构化配置。 在云端结构化解析页面中,单击,删除结构化配置。 结构化配置删除后,将无法恢复,请谨慎操作。
  • 开启自定义日志时间 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组和日志流名称。 在日志流详情页面,单击右上角,在弹出页面中,选择“云端结构化解析”,详细请参考设置日志云端结构化解析。 配置完成后,开启自定义日志时间开关,配置如下参数。 切换自定义日志时间开关时,可能会导致日志搜索界面在切换时间点附近出现时间偏差,请勿频繁切换自定义日志时间开关。 表1 参数配置表 参数 说明 示例 字段key 已提取字段的名称。单击下拉框选择已提取的字段,该字段为string或long类型。 test 字段value 已提取的字段value,选择字段key后,将自动填充。 2022-07-19 12:12:00 时间格式 请参考常见日志时间格式。 yyyy-MM-dd HH:mm:ss 操作 单击“校验”,提示“时间格式和字段value匹配成功”则表示校验成功。 -
  • 示例 常见的时间标准、示例及对应的时间表达式如下表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 自定义 [2022-12-11 15:05:07.012] [yyyy-MM-dd 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:05.999999999Z07:00 yyyy-MM-dd'T'HH:mm:ss Z RFC3339Nano 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。 表1 结构化字段设置规则 日志提取方式 字段名称 字段类型是否可修改 字段是否可删除 正则分析(自动生成) 用户自定义。 名称必须以字母开始,且仅包含字母和数字。 是 是 正则分析(手动输入) 支持在输入正则表达式时进行命名。 支持使用系统默认命名field1、field2、field3等。 是 是 JSON格式 智能提取字段名称,可定义别名。 是 是 分隔符 默认名称field1、field2、field3……,可进行修改。 是 是 Nginx 根据Nginx配置生成,可定义别名。 是 是 自定义模板 用户自定义。 是 是 正则分析(手动输入)、JSON格式、分隔符、Nginx和自定义模板的字段名称需要满足如下要求: 只支持输入英文、数字、中划线、下划线及小数点。 不能以小数点、下划线开头或以小数点结尾。 长度为1-64个字符。
  • 设置tag字段 设置结构化配置时,可以对日志维度信息进行tag字段设置,设置完成后可以在可视化界面对设置字段进行SQL查询。 在字段提取步骤中,选择“tag字段”页签,单击“添加字段”。 图1 添加tag字段 在tag字段列表中,输入需要设置 tag“字段名称”,例如hostIP。 tag字段功能上线前,已设置的结构化配置,在修改结构化配置进行tag字段设置时,系统tag不会带出示例字段。 如需添加多个字段可单击“添加字段”,继续添加。 设置完成后,单击“保存”。 tag支持的系统字段包括:category、clusterId、clusterName、containerName、hostIP、hostId、hostName、nameSpace、pathFile、podName。 tag不支持的系统字段包括:groupName、logStream、lineNum、content、logContent、logContentSize、collectTime。 日志提取字段和tag字段可以同时设置。