云服务器内容精选

  • 分析日志 登录 云日志 服务控制台,进入“日志管理”页面。 单击目标日志组或日志流名称,进入日志详情页面。 选择“ 日志分析 ”页签。 在可视化页面支持交互式分析,通过该模块配置简单的分析语句,查询可视化数据,配置可视化图表。设置过滤条件,通过添加指标、添加分组、添加排序进行数据分析,方便用户操作。 选择时间范围,参考SQL分析语法介绍输入SQL语句,单击“查询”,在下方区域通过不同类型图表展示搜索结果。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间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的日志数据。 自定义:表示查询指定时间范围的日志数据。 SQL查询约束有: 单次查询返回结果最多10W条。 当聚合结果超过10W时,聚合结果可能存在误差。 SQL查询语句中,string类型的where条件的键值有限制: 精确查找value需添加英文单引号, 模糊查找value需添加英文单引号或者双引号,key与SQL内置保留字段名称相同时需添加英文双引号。 建议使用where条件时,使用where "key"='value',或者where "key" like '%value%'。 SQL查询语句中,float和long类型的where条件不受限制,但当与关键词冲突时可能会导致查询异常,建议使用where "key"='value',或者where "key" like '%value%'进行查询。 日志搜索框支持自定义上下拖动调整高度。 输入搜索语法后,单击设置格式化sql和反格式化sql,优化搜索语句,提高搜索效率。 当设置时间范围内日志量超过10亿行时会触发迭代查询,可以通过迭代查询分多次完成全部日志的查询,界面会显示“查询状态:结果精确”。 根据SQL查询返回的数据,依照业务需求选择不同图表类型,呈现查询结果。详细请参考使用统计图表将日志可视化。 对查询结果可执行如下操作: 单击“新建”,在弹出的“创建可视化图表”中,根据业务需求填写“图表名称”,开启“同时添加到仪表盘”,单击“确定”,可视化图表保存成功。 单击“保存”,对在弹出的“保存可视化图表”中,根据业务需求填写“图表名称”,开启“同时添加到仪表盘”,单击“确定”,可视化图表保存成功;当选中某个可视化图表时,单击“保存”,可对该图表进行修改。 单击“另存为”,在弹出的“另存为可视化图表”中,根据业务需求填写“图表名称”,开启“同时添加到仪表盘”,单击“确定”,对已有可视化图表进行复制。 须先保存一个图表后,才可另存为可视化图表。 单击“下载”,可下载当前SQL查询结果的可视化数据,该文件为.csv。 单击按钮添加告警,在弹出的“新建告警规则”中,为选中的可视化图表配置创建SQL告警规则。 须先保存一个图表后,才能新建告警规则。 单击“展开图表”,可对当前日志流下的可视化图表展开;单击“收起图表”,可收起当前日志流下展开的可视化图表。
  • 将图表添加到仪表盘 将图表添加到仪表盘有两种方式: 方式一: 鼠标悬浮可视化图表名称,单击选择“添加到仪表盘”。 在弹出的移动图表页面中,选择待存放的仪表盘。 完成后,单击“确定”。 方式二: 创建仪表盘。 在左侧导航栏中,选择“仪表盘”。 在仪表盘下方,选择仪表盘分组。 单击“添加仪表盘”,在创建仪表盘页面,配置相关参数。 关于仪表盘参数的说明,请参见仪表盘。 将图表添加到仪表盘。 在创建仪表盘页面,单击“开始添加图表”,进入添加可视化图表界面,选择目标日志新建的可视化图表。 完成后,单击“确定”。
  • 新建可视化图表 SQL查询与分析。 登录云日志服务控制台,在左侧导航栏中,选择“日志管理”。 在日志列表中,单击日志组名称前对应的,选择目标日志流,进入日志详情页面。 选择“日志分析”,在SQL查询条件框中,选择对应时间并输入SQL语句,单击“查询”进行日志搜索。 当设置时间范围内日志量超过10亿行时会触发迭代查询,可以通过迭代查询分多次完成全部日志的查询,界面会显示“查询状态:结果精确”。 根据SQL查询返回的数据,依照您的业务需求选择不同图表类型,呈现查询结果。 关于更多SQL查询的说明,请参见SQL查询语法。 新建图表。 单击“新建”,新建可视化图表。 或单击“保存”,将当前查询结果新建为可视化图表。当选中某个可视化图表时,单击“保存”,可对当前图表修改结果进行保存。 在创建图表页面中,配置相关参数。 如果开启“同时添加到仪表盘”按钮,新建图表可以直接添加到仪表盘中。 完成后,单击“确定”。 查看可视化图表。 单击“展开图表”,查看可视化图表。
  • 把日志中的时间转换成指定格式 把日志中的时间字段从字符转化成指定格式。 使用date_parse函数将时间字段,从字符串转化成年-月-日 时:分:秒。 使用date_format函数截取年-月-日部分。 使用group by进行分组。 日志样例: time:2017-05-17 09:45:00 SQL语句样例: * | select date_format (date_parse(time,'%Y-%m-%d %H:%i:%S'), '%Y-%m-%d') as day, count(1) as uv group by day order by day asc
  • 把__time以指定格式打印 使用date_format函数将字段__time,从 timestamp类型的日期和时间表达式的形式转换为指定格式。 * | select time_format( from_unixtime(__time), 'yyyy-MM-dd HH:mm:ss','+08:00') 使用time_format函数将字段__time,从 timestamp类型的日期和时间表达式的形式转换为指定格式。 * | select date_format(from_unixtime(__time,'+08:00'),'%Y-%m-%d %H:%i:%s')
  • 日志搜索的常用操作 日志搜索的常用操作有分享日志、刷新等操作,具体参考表1。 表1 常用操作 操作 说明 创建快速查询 单击按钮,创建快速查询。 查看仪表盘 单击按钮,在弹出来的仪表盘页面中,可查看已创建的仪表盘。 添加告警 单击按钮,在弹出的页面中,支持新建告警规则。 分享日志 单击复制当前日志搜索页面的链接,用于分享搜索日志。 刷新日志 单击对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。 手动刷新:单击“手动刷新”,可直接对日志进行刷新。 自动刷新:选择自动刷新的间隔时间,将对日志进行自动刷新。间隔时间范围为15秒、30秒、1分钟和5分钟。 复制 单击复制日志内容。 查看上下文 单击查看日志上下文。 说明: 支持选择简洁模式查看日志上下文。支持下载上下文内容。 更多操作 单击进入该时间段的日志详情页,查看更多日志信息。 在“扩展字段”页签,查看字段名称、字段值,在对应字段操作列,支持对该字段进行添加到查询、从查询中排除、字段存在、字段不存在、隐藏的方式搜索日志。 在“json格式”页签,查看日志的json格式。 在“上下文日志”页签,支持设置查询行数、过滤字段、下载日志、简洁模式等操作。 换行/取消换行 单击按钮,搜索的日志内容将换行显示。若不需要换行,单击按钮,取消换行。 说明: 默认开启换行按钮。 下载日志 该功能仅支持白名单用户使用,如有需要,请提交工单申请开通。 鼠标悬浮在按钮上,单击“下载日志”,在弹出的下载日志页面中支持“本地下载”和“前往创建转储”。 本地下载:将日志文件直接下载到本地,单次下载支持最大2,000万条日志。 在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地。 前往创建转储:通过OBS转储任务下载日志文件,单次下载支持最大2,000万条日志。单击“前往创建转储”,跳转至配置转储页面,详细请参考日志转储至OBS。 鼠标悬浮在按钮上,单击“日志下载历史”,在日志下载历史页面,支持查看、下载、删除日志下载记录。 全部折叠/全部展开 单击设置日志内容展示的行数。若不需要展示日志内容,再单击一次按钮即可关闭展示的日志内容。 说明: 默认不折叠。折叠后,默认显示2行,最多支持展示6行。 JSON设置 鼠标悬浮在按钮上,单击“JSON设置”,在弹出的JSON设置页面中,设置格式化显示。 说明: 默认开启格式化,JSON默认展开层级为2层。若日志包含多个反斜杠,当日志展示为json格式时,会丢失一个反斜杠,因为json解析会将第一个反斜杠作为转义符处理。 开启格式化按钮:设置JSON默认展开层级,最大设置为10层。 关闭格式化按钮:对于JSON格式的日志,将不会格式化层级显示。 日志折叠设置 鼠标悬浮在按钮上,单击“日志折叠设置”,在弹出的日志折叠设置页面中,设置长日志字符个数。 日志超过设置的长日志字符个数时,超出字符将被隐藏,单击“展开”按钮可查看全部内容。 说明: 默认开启自动折叠长日志,字符个数默认为400个。 日志时间展示 鼠标悬浮在按钮上,单击“日志时间展示”,在弹出的日志折叠设置页面中,设置是否展示毫秒、是否展示时区。 说明: 默认开启展示毫秒。 虚拟滚动设置 鼠标悬浮在按钮上,单击“虚拟滚动设置”,在弹出的虚拟滚动设置页面中,设置是否开启虚拟滚动、填写缓冲区大小。 说明: 虚拟滚动可以避免或减少滚动时卡顿的情况,提升操作体验,防止页面卡死。 滚动时数据会重新渲染,一定程度上影响数据流畅性。 缓冲区决定同时加载的数据量大小,缓冲区越大,同时加载的数据越多,但滚动性能会越差。 不可见字段列表 该列表展示版面设置中配置的不可见性字段。 当日志流未配置版面设置时,将不显示按钮。 当日志内容为“CONFIG_FILE”且未配置版面设置时,不可见字段默认有appName、clusterId、clusterName、containerName、hostIPv6、NameSpace、podName和serviceID。
  • 日志搜索分析 在云日志服务管理控制台,单击“日志管理”。 在日志组列表中,单击日志组名称前对应的按钮。 在日志流列表中,单击日志流名称,进入日志详情页面。 在“统计图表”页签,在右上角选择时间范围,可以查看原始日志和统计图表。在搜索框由搜索语句和SQL分析语句组成,两者通过管道符|联动,详细请参考SQL函数。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间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的日志数据。 自定义:表示查询指定时间范围的日志数据。 交互式搜索分析,适用于生成简单的分析语句,如果您需要使用更多的函数或者嵌套查询,请手动输入SQL语句。 单击搜索框前面的按钮,进入交互式搜索分析页面。 选择日志搜索的内容和条件。支持添加关联关系或添加组。 设置完成后,支持预览搜索语句。 在日志分析下方,进行添加指标和分组排序。通过统计函数计算出想要的指标信息,然后基于选定的字段进行分组排序。 设置完成后,单击“确定”,即可在搜索框快速生成分析语句。
  • 数据组织形式 管道符特性针对特定的数据组织形式,对于云日志服务而言,管道符特性的数据主要由两部分构成,一部分是结构化数据,一部分是原始日志。示例如下: {"id": 1, "name": "Bob", "job": "java", "age": 21, "sal": 8000, "gender": "female", "_log": "name: Bob, job: java, age: 21, sal: 8000, gender: female"} 其中:“id”,“name”,“job”,“age”,“sal”和“gender”是结构化数据的字段,“_log”是原始日志字段。
  • 背景信息 Log4j是Apache的一个开源项目,通过使用Log4j工具,我们可以将日志输出并保存到日志文件中,开发或运维人员会基于该日志统计日志级别的数量和占比,或者通过运行日志统计业务数据。 如统计今天某商品的交易量,示例日志如下: 2020-12-28_21:10:48.081 [http-nio-8083-exec-6] INFO discounted shoes - num is :9
  • 内置保留字段 在采集日志时,云日志服务会将采集时间、日志类型、主机IP等信息以Key-Value对的形式添加到日志中,这些字段是云日志服务的内置字段。 使用API写入日志数据或添加ICAgent配置时,请不要将字段名称设置为内置保留字段,否则可能会造成字段名称重复、查询不精确等问题。 日志服务为日志数据增加的内置保留字段当前免费,后续会按照按量付费方式正常收费(为其开启索引时也会产生少量索引流量及存储费用)。更多信息请参见价格计算器。 用户自定义日志字段名称中不能使用双下划线__,否则无法配置索引。 表4 内置保留字段说明 内置保留字段 数据格式 索引与统计设置 说明 collectTime 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为collectTime创建字段索引,索引数据类型为long类型。 查询时输入collectTime : xxx。 采集时间,指日志被采集器ICAgent采集时的时间。 例如示例中的"collectTime":"1681896081334",转换成标准时间是2023-04-19 17:21:21 __time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为time创建字段索引,索引数据类型为long类型。该字段不支持查询。 日志时间,指的是日志在控制台页面展示的日志时间。 例如示例中的"__time__":"1681896081334",转换成标准时间是2023-04-19 17:21:21 日志时间默认使用采集时间,也支持自定义日志时间。 lineNum 整型 索引设置:开启索引后,日志服务默认为lineNum创建字段索引,索引数据类型为long类型。 行号(偏移量),用来排序日志。 非高精度日志会根据collectTime生成,默认是collectTime * 1000000 + 1,高精度日志就是用户上报的纳秒值。 例如示例中的"lineNum":"1681896081333991900"。 category 字符串 索引设置:开启索引后,日志服务默认为category创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入category: xxx。 日志类型,表示该日志的来源。 例如ICAgent采集的日志该字段为LTS,某云服务例如D CS 上报的日志该字段为DCS。 clusterName 字符串 索引设置:开启索引后,日志服务默认为clusterName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入clusterName: xxx。 集群名称,k8s场景下集群名称。 例如示例中的"clusterName":"epstest"。 clusterId 字符串 索引设置:开启索引后,日志服务默认为clusterId创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入clusterId: xxx。 集群ID,k8s场景下集群ID。例如示例中的"clusterId":"c7f3f4a5-xxxx-11ed-a4ec-0255ac100b07"。 nameSpace 字符串 索引设置:开启索引后,日志服务默认为nameSpace创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入nameSpace: xxx。 命名空间,k8s场景下命名空间。 例如示例中的"nameSpace":"monitoring"。 appName 字符串 索引设置:开启索引后,日志服务默认为appName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入appName: xxx。 组件名称,k8s场景下工作负载的名称。 例如示例中的"appName":"alertmanager-alertmanager"。 serviceID 字符串 索引设置:开启索引后,日志服务默认为serviceID创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入serviceID: xxx。 工作负载ID,k8s场景下工作负载ID。 例如示例中的"serviceID":"cf5b453xxxad61d4c483b50da3fad5ad"。 podName 字符串 索引设置:开启索引后,日志服务默认为podName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入podName: xxx。 POD名称,k8s场景下POD名称。 例如示例中的"podName":"alertmanager-alertmanager-0"。 podIp 字符串 索引设置:开启索引后,日志服务默认为podIp创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入podIp: xxx。 pod的ip,k8s场景下pod的IP地址。 例如示例中的"podIp":"10.0.0.145"。 containerName 字符串 索引设置:开启索引后,日志服务默认为containerName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入containerName: xxx。 容器名称,k8s场景下容器名称。 例如示例中的"containerName":"config-reloader"。 hostName 字符串 索引设置:开启索引后,日志服务默认为hostName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostName: xxx。 主机名称,ICAgent所在主机的名称。 例如示例中的"hostName":"epstest-xx518"。 hostId 字符串 索引设置:开启索引后,日志服务默认为hostId创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostId: xxx。 主机ID,ICAgent所在主机的id,该id由ICAgent生成。例如示例中的"hostId":"318c02fe-xxxx-4c91-b5bb-6923513b6c34"。 hostIP 字符串 索引设置:开启索引后,日志服务默认为hostIP创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostIP: xxx。 主机IP,日志采集器所在主机的ip(适用于ipv4场景) 例如示例中的"hostIP":"192.168.0.31"。 hostIPv6 字符串 索引设置:开启索引后,日志服务默认为hostIPv6创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostIPv6: xxx。 主机IP,日志采集器所在主机的ip(适用于ipv6场景) 例如示例中的"hostIPv6":""。 pathFile 字符串 索引设置:开启索引后,日志服务默认为pathFile创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入pathFile: xxx。 文件路径,采集的日志文件的路径。 例如示例中的"pathFile":"stdout.log"。 content 字符串 索引设置:开启全文索引后,会使用全文索引定义的分词符对content字段的value进行分词;不支持将content字段配置到字段索引中。 日志原文, 例如示例中的"content":"level=error ts=2023-04-19T09:21:21.333895559Z" __receive_time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为__receive_time__创建字段索引,索引数据类型为long类型。 上报日志的服务端时间,相当于LTS采集端接收到日志的时间。 __client_time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为__client_time__创建字段索引,索引数据类型为long类型。 端侧日志的客户端上报时间。 _content_parse_fail_ 字符串 索引设置:开启索引后,日志服务默认为_content_parse_fail_创建字段索引,索引数据类型为string类型,分词字符为默认分词符。查询时输入_content_parse_fail_: xxx。 上报日志解析失败的日志内容。 __time 整型,Unix时间戳(毫秒) 不支持将__time字段配置到字段索引中。 不涉及。 logContent 字符串 不支持将logContent字段配置到字段索引中。 不涉及。 logContentSize 整型 不支持将logContentSize字段配置到字段索引中。 不涉及。 logIndexSize 整型 不支持将logIndexSize字段配置到字段索引中。 不涉及。 groupName 字符串 不支持将groupName字段配置到字段索引中。 不涉及。 logStream 字符串 不支持将logStream字段配置到字段索引中。 不涉及。
  • 配置字段索引 创建字段索引时,最多支持添加500个字段。其中JSON类型字段,最多支持添加100个子字段。 字段索引的自定义分词符和特殊分词符仅支持白名单用户提交工单申请使用。详细操作请参考提交工单。 配置全文索引后,在索引配置页面的日志分析下方,单击开启可视化后,配置的字段索引支持SQL可视化分析,否则无法查询到ICAgent结构化的可视化数据。 设置快速分析采样条数,默认值10万条,最小值为10万条,最大值1000万条。通过采样快速统计字段值取值分布,并非对全量数据进行分析,采样条数越多分析数据越慢。 在索引配置页面的字段索引下方,单击“添加字段”,配置字段索引。具体的参数配置请参考表5 自定义字段索引配置参数。 字段索引的参数配置仅对该字段生效。 当添加的字段在日志内容中不存在时,则配置的该索引字段无效。 更多内置字段请参考内置保留字段。 自动配置字段索引:单击“自动配置”,云日志服务会根据采集时预览数据中的第一条内容或常见内置保留字段(例如hostIP、hostName、pathFile)自动生成字段索引,您可以根据自己的需要增加或者删除字段。 批量配置字段索引:批量勾选字段,单击“批量配置”,进行批量配置字段索引。 表3 自定义字段索引配置参数 参数 说明 字段名称 日志字段名称,例如示例日志中的level。 字段名称只能包括字母、数字或下划线(_),且只能以字母或下划线(_)开头,字段名称中不能含有双下划线。 说明: 双下划线(__)在LTS不对用户呈现的内置保留字段中使用,用户自定义日志字段名中不能使用双下划线__,否则无法配置字段索引名称。 日志服务默认会对部分内置保留字段开启字段索引,请参见内置保留字段。 若是内置字段,在字段名称后会显示“内置”字眼,方便用户识别。 执行操作 显示字段的添加状态:新增、不修改、修改、删除。索引字段有变动后,单击“修改对比”,即可查看原配置内容与修改后配置内容的差异。 显示新增的字段不支持修改执行操作。 修改类型、大小写敏感、自定义分词符、特殊分词符、包含中文、快速分析时,会与原索引配置中的字段进行对比,若任意一项不同,则执行操作变为“修改”。 索引配置单击确定后,不会保存执行操作为“删除”的字段。 类型 日志字段值(Value)的数据类型,可选值为string、long、float、json。 说明: 字段json类型只对ICAgent结构化解析生效,对云端结构化解析不生效。 long类型和float类型不支持设置大小写敏感、包含中文和分词符。 大小写敏感 查询时是否区分英文字母的大小写。 打开大小写敏感开关,则查询时区分大小写。例如示例日志message字段中含有Know,那么您只能使用message:Know才能查询到该日志。 关闭大小写敏感开关,则查询时不区分大小写。例如示例日志message字段中含有Know,那么您使用关键字message:KNOW和message:know都能查到该日志。 自定义分词符 根据指定分词符,将日志内容拆分成多个词。当默认设置不能满足您的需求时,您可以自定义设置分词符。所有的ASCII码包括中文都可被定义为分词符。 如果设置分词符为空,则字段值将被当成一个整体,您只能通过完整字符串或模糊查询查找对应的日志。 例如示例日志message字段内容为:I Know 今天是星期一。 如果不设置任何分词符,整条日志被作为一个词I Know 今天是星期一,您只能通过完整字符串message:I Know 今天是星期一或模糊查询message:I Know 今天是*查找该日志。 如果设置分词符为空格,则原始日志被拆分为I、Know、今天是星期一3个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如message:Know或message:今天是星期一。 特殊分词符 单击“添加特殊分词符”,参考ASCII码对照表输入ASCII值。 包含中文 查询时是否区分中英文。 打开包含中文开关后,如果日志中包含中文,默认按照一元分词法拆分中文内容,按照分词符的设置拆分英文内容。 说明: 一元分词是指将中文字符串拆分为单个独立的中文字。 使用一元分词符的优点是对海量日志分词效率高,其他中文分词方法对写入速度影响大。 打开包含中文功能,会对中文使用一元分词(每个汉字单独分词),如果需要更精确的搜索结果,请用短语搜索,语法为:#"待搜索的短语"。 关闭包含中文开关后,按照分词符的设置拆分所有内容。 例如示例日志message字段内容为:I Know 今天是星期一。 关闭包含中文开关后,按照分词符的设置拆分英文内容,日志会被拆分为I、Know、今天是星期一,您可以通过message:Know或message:今天是星期一查找该日志。 打开包含中文开关后,日志服务后台分词器将日志拆分为I、Know、今、天、是、星、期、一,您通过message:Know或message:今天等词都可以查找到该日志。 快速分析 默认为开启状态,开启后,可以对字段值做采样统计,请参见11.6.4-快速分析。 说明: 快速分析的原理是对搜索命中的日志采样10万条进行数据统计,不是全量统计。 快速分析的字段长度最大为2000字节。 快速分析字段展示前100条数据。 操作 单击,删除添加的自定义字段。 图1 批量配置 完成后,单击“确定”。
  • 配置全文索引 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组和日志流名称。 在日志流详情页面,单击右上角,在弹出页面中,选择“索引配置”,进入索引配置页面。 在索引配置页面中,默认开启“全文索引”按钮,参考表3 自定义全文索引配置参数配置各参数信息。 在索引配置页面选择自动配置时,默认获取最近15分钟的原始日志和内置字段的交集,LTS自动将原始日志和内置字段的交集、当前结构化字段、tag字段一起组成字段索引下方的表格数据。 若15分钟内没有原始日志,则获取hostIP、hostName、pathFile、结构化字段、tag字段结合共同组成字段索引下方的表格数据。 ECS接入选择结构化配置时,进入索引配置页面,则会自动加上如下字段:category、 hostName、hostId、 hostIP、 hostIPv6、 pathFile,添加字段时,若某个字段已存在于索引配置,则不会重复添加。 CCE接入选择结构化配置时,进入索引配置页面,则会自动加上如下字段:category、 clusterId、 clusterName、 nameSpace、 podName、 containerName、 appName、 hostName、 hostId、 hostIP、 hostIPv6、 pathFile,添加字段时,若某个字段已存在于索引配置,则不会重复添加。 表2 自定义全文索引配置参数 参数 说明 全文索引 打开全文索引开关,表示创建全文索引。 大小写敏感 查询时是否区分英文字母的大小写。 打开大小写敏感开关,则查询时区分大小写。例如示例日志含有Know,那么您只能使用Know才能查询到该日志。 关闭大小写敏感开关,则查询时不区分大小写。例如示例日志含有Know,那么您使用关键字KNOW和know都能查到该日志。 包含中文 查询时是否区分中英文。 打开包含中文开关后,如果日志中包含中文,默认按照一元分词法拆分中文内容,按照分词符的设置拆分英文内容。 说明: 一元分词是指将中文字符串拆分为单个独立的中文字。 使用一元分词符的优点是对海量日志分词效率高,其他中文分词方法对写入速度影响大。 打开包含中文功能,会对中文使用一元分词(每个汉字单独分词),如果需要更精确的搜索结果,请用短语搜索,语法为:#"待搜索的短语"。 关闭包含中文开关后,按照分词符的设置拆分所有内容。 例如示例日志内容为: error,400,I Know 今天是星期一。 关闭包含中文开关后,按照分词符的设置拆分英文内容,日志会被拆分为error、400、I、Know、今天是星期一,您可以通过error或今天是星期一查找该日志。 打开包含中文开关后,日志服务后台分词器将日志拆分为error、400、I、Know、今、天、是、星、期、一,您通过error或今天等词都可以查找到该日志。 分词符 根据指定分词符,将日志内容拆分成多个词。当默认设置不能满足您的需求时,您可以自定义设置分词符。所有的ASCII码包括中文都可被定义为分词符。 如果设置分词符为空,则字段值将被当成一个整体,您只能通过完整字符串或模糊查询查找对应的日志。 单击“预览”,查看分词预览效果。 例如示例日志内容为: error,400,I Know 今天是星期一。 如果不设置任何分词符,整条日志被作为一个词error,400,I Know 今天是星期一,您只能通过完整字符串error,400,I Know 今天是星期一或模糊查询error,400,I K*查找该日志。 如果设置分词符为逗号(,),则原始日志被拆分为error、400、I Know 今天是星期一3个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如error、400、I Kn*、今天是*。 如果设置分词符为逗号(,)和空格,则原始日志被拆分为error、400、I、Know、今天是星期一5个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如Know、今天是*。 特殊分词符 单击“添加特殊分词符”,参考ASCII码对照表输入ASCII值。 完成后,单击“确定”。
  • 注意事项 全文索引属性和字段索引属性必须至少启用一种。 创建索引会产生索引流量和索引存储空间,费用说明请参见价格计算器。 关闭索引后,历史索引的存储空间将在当前日志流的数据保存时间到期后,自动被清除。 云日志服务默认已为部分内置保留字段创建字段索引,请参见内置保留字段。 不同的索引配置,会产生不同的查询和分析结果,请根据您的需求,合理创建索引。全文索引和字段索引互不影响。 索引配置修改后,对新写入的日志数据生效,历史日志数据不会生效。 在字段索引功能上线前,SQL分析支持的字段来自于云端结构化解析;在字段索引功能上线后,只要用户配置了字段索引,SQL分析支持的字段将来自于字段索引,因此修改字段索引可能对现有的可视化图表、仪表盘、SQL告警、定时SQL、Grafana接入中的查询结果产生影响,请谨慎操作! 字段索引配置为JSON数据类型时,在“日志搜索”页面不支持对JSON子字段使用快速分析、跳转图表,不支持可视化;在“搜索分析”页面下支持JSON子字段使用快速分析和SQL可视化功能。 字段索引配置为JSON数据类型时,对JSON父字段查询时支持对命中结果高亮,对JSON子字段查询时不支持对命中结果高亮。
  • 索引类型 云日志服务LTS 支持全文索引和字段索引,详细请参考表1。 表1 索引类型 索引类型 说明 全文索引 开启全文索引后,日志服务根据您设置的分词符将整条日志所有字段值拆分成多个词并构建索引。 说明: 用户上传的自定义标签(label)字段,不包含在全文索引中,如果您需要搜索自定义标签字段,请添加对应的字段索引。 LTS内置保留字段,不包含在全文索引中,您需要通过字段索引Key:Value的方式进行搜索,请参考内置保留字段。 字段索引 配置字段索引后,您可以指定字段名称和字段值(Key:Value)进行查询,缩小查询范围。 说明: 日志服务默认为部分内置保留字段创建字段索引,请参考内置保留字段。 如果您的某个字段单独配置了字段索引,那么该字段值的分词符以字段索引配置为准。 结构化配置中的快速分析列已被移除,如果您要使用快速分析功能,则必须配置字段索引且开启对应字段的快速分析按钮。 关于日志示例有两种情况: 在日志示例中,配置了level和status两个字段索引,其中level是string类型,字段值是error,单独配置了分词符,status是long类型,不需要配置分词符;您可以使用level : error的方式精确搜索level字段值为error的所有日志。 在日志示例中,云日志服务LTS会默认为hostName、hostIP、pathFile这些内置保留字段创建字段索引。
  • 配置字段索引 创建字段索引时,最多支持添加500个字段。其中JSON类型字段,最多支持添加100个子字段。 字段索引的自定义分词符和特殊分词符仅支持白名单用户提交工单申请使用。详细操作请参考提交工单。 配置全文索引后,在索引配置页面的日志分析下方,单击开启可视化后,配置的字段索引支持SQL可视化分析,否则无法查询到ICAgent结构化的可视化数据。 设置快速分析采样条数,默认值10万条,最小值为10万条,最大值1000万条。通过采样快速统计字段值取值分布,并非对全量数据进行分析,采样条数越多分析数据越慢。 在索引配置页面的字段索引下方,单击“添加字段”,配置字段索引。具体的参数配置请参考表5 自定义字段索引配置参数。 字段索引的参数配置仅对该字段生效。 当添加的字段在日志内容中不存在时,则配置的该索引字段无效。 更多内置字段请参考内置保留字段。 自动配置字段索引:单击“自动配置”,云日志服务会根据采集时预览数据中的第一条内容或常见内置保留字段(例如hostIP、hostName、pathFile)自动生成字段索引,您可以根据自己的需要增加或者删除字段。 批量配置字段索引:批量勾选字段,单击“批量配置”,进行批量配置字段索引。 表3 自定义字段索引配置参数 参数 说明 字段名称 日志字段名称,例如示例日志中的level。 字段名称只能包括字母、数字或下划线(_),且只能以字母或下划线(_)开头,字段名称中不能含有双下划线。 说明: 双下划线(__)在LTS不对用户呈现的内置保留字段中使用,用户自定义日志字段名中不能使用双下划线__,否则无法配置字段索引名称。 日志服务默认会对部分内置保留字段开启字段索引,请参见内置保留字段。 若是内置字段,在字段名称后会显示“内置”字眼,方便用户识别。 执行操作 显示字段的添加状态:新增、不修改、修改、删除。索引字段有变动后,单击“修改对比”,即可查看原配置内容与修改后配置内容的差异。 显示新增的字段不支持修改执行操作。 修改类型、大小写敏感、自定义分词符、特殊分词符、包含中文、快速分析时,会与原索引配置中的字段进行对比,若任意一项不同,则执行操作变为“修改”。 索引配置单击确定后,不会保存执行操作为“删除”的字段。 类型 日志字段值(Value)的数据类型,可选值为string、long、float、json。 说明: 字段json类型只对ICAgent结构化解析生效,对云端结构化解析不生效。 long类型和float类型不支持设置大小写敏感、包含中文和分词符。 大小写敏感 查询时是否区分英文字母的大小写。 打开大小写敏感开关,则查询时区分大小写。例如示例日志message字段中含有Know,那么您只能使用message:Know才能查询到该日志。 关闭大小写敏感开关,则查询时不区分大小写。例如示例日志message字段中含有Know,那么您使用关键字message:KNOW和message:know都能查到该日志。 自定义分词符 根据指定分词符,将日志内容拆分成多个词。当默认设置不能满足您的需求时,您可以自定义设置分词符。所有的ASCII码包括中文都可被定义为分词符。 如果设置分词符为空,则字段值将被当成一个整体,您只能通过完整字符串或模糊查询查找对应的日志。 例如示例日志message字段内容为:I Know 今天是星期一。 如果不设置任何分词符,整条日志被作为一个词I Know 今天是星期一,您只能通过完整字符串message:I Know 今天是星期一或模糊查询message:I Know 今天是*查找该日志。 如果设置分词符为空格,则原始日志被拆分为I、Know、今天是星期一3个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如message:Know或message:今天是星期一。 特殊分词符 单击“添加特殊分词符”,参考ASCII码对照表输入ASCII值。 包含中文 查询时是否区分中英文。 打开包含中文开关后,如果日志中包含中文,默认按照一元分词法拆分中文内容,按照分词符的设置拆分英文内容。 说明: 一元分词是指将中文字符串拆分为单个独立的中文字。 使用一元分词符的优点是对海量日志分词效率高,其他中文分词方法对写入速度影响大。 打开包含中文功能,会对中文使用一元分词(每个汉字单独分词),如果需要更精确的搜索结果,请用短语搜索,语法为:#"待搜索的短语"。 关闭包含中文开关后,按照分词符的设置拆分所有内容。 例如示例日志message字段内容为:I Know 今天是星期一。 关闭包含中文开关后,按照分词符的设置拆分英文内容,日志会被拆分为I、Know、今天是星期一,您可以通过message:Know或message:今天是星期一查找该日志。 打开包含中文开关后,日志服务后台分词器将日志拆分为I、Know、今、天、是、星、期、一,您通过message:Know或message:今天等词都可以查找到该日志。 快速分析 默认为开启状态,开启后,可以对字段值做采样统计,请参见11.6.4-快速分析。 说明: 快速分析的原理是对搜索命中的日志采样10万条进行数据统计,不是全量统计。 快速分析的字段长度最大为2000字节。 快速分析字段展示前100条数据。 操作 单击,删除添加的自定义字段。 图1 批量配置 完成后,单击“确定”。