直接从归档中查询数据

通过将第三方框架与相关框架和所需模式提供的标准 Apache Parquet 阅读器配合使用,可以查询 IBM Cloud Logs 归档。

归档文件夹结构

IBM Cloud Logs 归档数据存储在具有以下分区字段的标准 hive 类分区中:

team_id=<team-id>: IBM Cloud Logs Team ID
dt=YYYY-MM-DD: Date of the data in UTC
hr=HH: Hour of the data in UTC

这些字段可以定义为框架内的虚拟列,并且可以用作查询中的过滤器。

请注意以下几点:

  • dthr 都基于事件时间戳记。
  • team_id=<team-id> 分区允许您复用同一存储区和前缀,以从多个 IBM Cloud Logs 团队写入数据,并在一个查询中查询这些数据。

字段

每个 Apache Parquet 文件都有三个数据为 JSON 格式的字符串的字段:

  • src_obj__event_metadata: 包含与事件相关的元数据的 JSON 对象。
  • src_obj__event_labels: 包含事件标签的 JSON 对象 (例如 IBM Cloud Logs applicationNamesubsystemName)。
  • src_obj__user_data: 包含实际事件数据的 JSON 对象。

以下是 src_obj__event_metadata 的示例:

{
  "timestamp": "2022-03-28T08:50:57.946",
  "severity": "Debug",
  "priorityclass": "low",
  "logid": "some-uuid"
}

以下是 src_obj__event_labels 的示例:

{
  "applicationname": "some-app",
  "subsystemname": "some-subsystem",
  "category": "some-category",
  "classname": "some-class",
  "methodname": "some-method",
  "computername": "some-computer",
  "threadid": "some-thread-id",
  "ipaddress": "some-ip-address"
}

以下是 src_obj__user_data 的示例:

{
  "_container_id": "0f099482cf3b507462020e9052516554b65865fb761af8e076735312772352bf",
  "host": "ip-10-1-11-144",
  "short_message": "10.1.11.144 - - [28/Mar/2022:08:50:57 +0000] \\"GET /check HTTP/1.1\\" 200 16559 \\"-\\" \\"Consul Health Check\\" \\"-\\""
}

存档查询和解析

利用 IBM Cloud Logs 归档查询功能,您可以使用 Lucene、DataPrime, 和 regex 查询语法直接从归档中查询日志,而无需计算每日配额,即使数据从未编入索引也是如此。 您可以在 分析和警报 和 存储和搜索 管道 中存储更多数据,并利用 IBM Cloud Logs 实时分析和远程存储搜索功能。 这意味着您可以使用较短的保留期,但仍能快速查询所有数据。

归档查询在 IBM Cloud Logs 中设置的归档上运行,可用于所有 TCO 日志记录级别。 例如,如果将日志优先用于 分析和警报 管道,则仍可在不编制数据索引的情况下查询日志。 您还可以在 LiveTail, 中查看和查询它们,接收实时警报和异常通知,使用解析规则、日志聚合和事件度量,成本低于发送到 优先级洞察 管道的数据。