了解建立索引和字段映射
要在优先级洞察 中以最佳方式查询日志,了解IBM Cloud Logs在分析数据后如何编制索引非常重要。
通过对日志建立索引,您可以使用以下命令通过日志快速检索匹配项:
- 自由文本搜索
- 正则表达式
- 字段搜索
建议将日志序列化为 JSON,以从 IBM Cloud Logs 分析功能获取最大值。 有关将非结构化日志解析为 JSON 的更多信息,请参阅 将非结构化文本配置为 JSON。
数据类型
IBM Cloud Logs 支持以下数据类型:
- 文本
-
此类型表示在建立索引之前分析为术语的非结构化人类可读内容。
- 关键词
-
此类型表示在建立索引之前未通过分析器的文本。 此数据类型适用于正则表达式,聚集和排序。
在查询中使用关键字数据类型的语法为:
<fieldName>.keyword。当字段超过 256 个字符时,IBM Cloud Logs 无法创建关键字类型。
- 数值
-
此类型适用于范围查询和算术聚集 (
avg,max,min和sum)。在查询中使用数字数据类型的语法为:
<fieldName>.numeric。 - 日期
-
此类型允许您按时间戳记或绘制时间序列图进行过滤。 值应格式化为戳记毫秒。
- 格奥波林特
-
此类型允许您在 Grafana 地图上绘制经度和纬度对。
- 对象
-
此类型表示层次结构。 这意味着它可以包含任何其他类型 (包括对象) 的字段。
数据类型注意事项
查询数据时,请考虑以下事项:
-
时间戳记和地理提示支持显式映射。 将
_timestamp或_geopoint追加到您的字段名称后,将分别将其映射为日期或地理位置。 例如,将名为duration_timestamp的字段映射为日期。 -
动态映射用于所有其他字段。 这意味着在建立索引时,新字段的值将确定映射的数据类型。
-
数组是有效的 JSON。 但是,IBM Cloud Logs中没有专用数组数据类型。 这意味着:
-
一个字段可以包含多个值,并且所有值都应该是同一数据类型。 否则,将发生映射异常。
-
数组中的第一个值确定字段映射。
-
对于对象数组,无法独立查询每个对象。
-
-
日志中的每个字段都映射为 3 数据类型之一:
- 文本,对象,日期或地理位置
- 关键词
- 数值
检查索引字段的数量
要查看每个实例的索引字段数量以及已使用的索引字段数量,请在导航栏中点击使用方法图标>制图统计。 您可以在“今天已使用的键”部分获取每天使用的索引总数。
对于服务实例,索引字段的每日默认限制设置为 3000。
索引计数器在世界协调时午夜重置。
当一天的索引字段数达到上限时会发生什么情况?
当一天的索引字段数达到上限时,新的字段将不会被索引,直到第二天重新设置计数器。
有映射异常且无法索引的字段上将显示感叹号。
搜索包含映射异常的数据
在优先级洞察中搜索时,可通过自由文本查询未编入索引的字段,以及编入索引的字段的键值对来搜索包含映射异常的日志记录。
如果实例关联了数据桶,则可以通过“所有日志” 搜索日志。 您可以使用自由文本查询或键值对进行搜索。
告警
警报功能不受数据映射异常的影响,将继续正常触发。