SuperAPI AI 工具集

quickwit-log-search

部署与运维

查看项目

更新于 10-16 04:14

技能介绍

用途

本技能用于使用 Quickwit 搜索引擎进行日志探索与分析,集成于 Terraphim AI,面向日志可观测性与事故排查工作流。主要用途包括:调查生产事故、分析跨服务的错误模式、排查性能问题、进行安全日志审计,以及设置日志搜索配置。

主要能力

  • 全文日志搜索:可搜索数百万条日志条目。
  • 字段级过滤:可按级别(level)、服务(service)、时间戳(timestamp)等字段查询。
  • 多种索引模式:
    • 显式索引(Explicit Index):面向生产监控,已知索引时使用,API 调用 1 次,延迟约 100ms。
    • 自动发现(Auto-Discovery):面向日志探索与发现新索引,API 调用为 N+1,延迟约 300-500ms。
    • 过滤发现(Filtered Discovery):面向多服务监控且需要控制范围,API 调用为 N+1(过滤后),延迟约 200-400ms。
  • 优雅降级:网络故障时返回空结果,不会崩溃。

使用方式

通过配置项调用,配置包含 location、service 与 extra_parameters 等字段。示例配置:

显式索引(生产,快速):

{
  "location": "http://localhost:7280",
  "service": "Quickwit",
  "extra_parameters": {
    "default_index": "workers-logs",
    "max_hits": "100",
    "sort_by": "-timestamp"
  }
}

自动发现(探索,便捷):

{
  "location": "http://localhost:7280",
  "service": "Quickwit",
  "extra_parameters": {
    "max_hits": "50",
    "sort_by": "-timestamp"
  }
}

过滤发现(均衡):

{
  "location": "http://localhost:7280",
  "service": "Quickwit",
  "extra_parameters": {
    "index_filter": "workers-*",
    "max_hits": "100",
    "sort_by": "-timestamp"
  }
}

查询语法支持:

  • 基础查询:简单文本搜索 /search error、短语搜索 /search "connection refused"、通配符 /search err*。
  • 字段查询:/search "level:ERROR"、/search "level:WARN OR level:ERROR"、/search "service:api-gateway"、/search "level:ERROR AND service:auth"。
  • 时间范围查询:/search "timestamp:[2024-01-01 TO *]"、/search "timestamp:[2024-01-01 TO 2024-01-31]"、/search "level:ERROR AND timestamp:[now-1h TO now]"。
  • 布尔运算符:AND、OR、NOT 以及分组 (error OR warning) AND database。

认证方式:

  • Bearer Token:在 extra_parameters 中设置 auth_token。
  • Basic Auth 配合 1Password:
export QUICKWIT_PASSWORD=$(op read "op://Private/Quickwit/password")

配置中设置 auth_username 与 auth_password(引用环境变量 ${QUICKWIT_PASSWORD})。

配置参数:default_index(显式搜索索引,默认无)、index_filter(自动发现的 glob 模式,默认无)、max_hits(每个索引最大结果数,默认 "100")、sort_by(排序字段,默认 "-timestamp",前缀 - 表示降序)、timeout_seconds(HTTP 请求超时,默认 "10")、auth_token、auth_username、auth_password。

常见工作流

  • 事故调查:先广泛搜索(level:ERROR),再按时间窗口收窄,聚焦特定服务,最后寻找模式(如 timeout OR connection refused)。
  • 错误模式分析:查找所有错误类型,按消息模式分组(数据库、超时、认证等)。
  • 性能排查:查找慢请求(duration:>1000)、检查特定端点(path:/api/users AND duration:>500)。

适用场景

适用于需要日志检索与可观测性分析的工作流,包括生产监控、探索性日志分析、多服务日志模式分析、事故响应与安全审计。

限制与依赖

  • 依赖:Quickwit 服务器、Terraphim AI。
  • 类型:Data Integration;复杂度:Medium;状态:Production Ready。
  • 故障处理提示:连接被拒时区分为 Quickwit 未运行或 API 路径前缀问题(Quickwit 使用 /api/v1/);自动发现无结果时需确认索引存在并检查 filter 模式,可回退显式索引模式;搜索结果为空时测试直接搜索并核对查询语法与字段名、排序字段是否存在。
  • 性能建议:生产监控用显式索引模式;限制 max_hits(常见 50-100);添加时间约束缩小范围;索引较多时用过滤发现代替完整自动发现。
  • 具体收费、价格、平台限制等信息暂未提供。