2026年7月1日 2 分钟阅读

LogClaw 实战教程:用 AI SRE 在自有 VPC 中实现日志异常检测与自动告警

tinyash 0 条评论

slug: logclaw-ai-sre-log-monitoring-tutorial

title: LogClaw 实战教程:用 AI SRE 在自有 VPC 中实现日志异常检测与自动告警

背景

现代微服务架构每天产生海量日志——支付超时、数据库连接失败、上游服务 5xx——这些错误日志散落在各个服务的 stdout 和文件中。传统的做法是部署 ELK 或 Loki 做集中日志,然后依赖 SRE 手动编写告警规则。问题是:告警规则永远滞后于故障模式。新服务上线后,你得等着它出一次故障,然后才能针对那个模式写一条新规则。

LogClaw 是一个开源的 AI SRE 平台,它部署在你的 VPC 内,基于 OpenTelemetry OTLP 协议接收日志,自动检测异常、关联 trace 链路、创建事件工单,甚至提供 AI 根因分析。所有数据不离开你的基础设施。

核心能力一览

  • OTLP 原生采集——任何支持 OpenTelemetry 的服务均可直接发日志
  • AI 异常检测——统计评分 + ML 管道,无需手动编写告警规则
  • Trace 关联工单——根据 trace_id 追踪级联故障,计算爆炸半径
  • 多平台事件推送——PagerDuty、Jira、ServiceNow、Slack 等 6 个平台
  • MCP 服务端——让 Claude Code、Cursor 能直接查询 LogClaw 的事件和日志
  • Apache 2.0 开源——可自由部署和修改

安装与环境

LogClaw 提供三种部署方式:Docker Compose(最简)、Kind 集群(完整功能)、Helm + ArgoCD(生产)。

最容易上手的是 Docker Compose,只需要两条命令:

curl -O https://raw.githubusercontent.com/logclaw/logclaw/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/logclaw/logclaw/main/otel-collector-config.yaml
docker compose up -d

启动后,访问 http://localhost:3000 即可看到 LogClaw Dashboard。整个栈包含 6 个核心组件:

Dashboard (:3000)      — 事件管理与日志查询(Next.js 界面)
OTel Collector (:4318) — OTLP 日志接收端点
Bridge (:8080)         — 异常检测 + trace 关联引擎
Ticketing Agent        — AI 事件创建与多平台推送
OpenSearch (:9200)     — 日志存储与搜索
Kafka (:9092)          — 事件总线

所有镜像来自 ghcr.io/logclaw/,无需注册认证。

本地 Docker Compose 模式关闭了 LLM 驱动的根因分析(AI RCA)。如需完整 AI 功能,部署到 Kubernetes 并设置 LLM_PROVIDER=ollama|openai|claude

实战场景 1:发送一条日志并查看异常检测

用 curl 向 OTel Collector 发送一条 OTLP HTTP 日志:

curl -X POST http://localhost:4318/v1/logs \
  -H "Content-Type: application/json" \
  -d '{
    "resourceLogs": [{
      "resource": {
        "attributes": [
          {"key": "service.name", "value": {"stringValue": "payment-api"}}
        ]
      },
      "scopeLogs": [{
        "logRecords": [{
          "timeUnixNano": "'$(date +%s)000000000'",
          "severityText": "ERROR",
          "body": {"stringValue": "Connection refused to database"},
          "traceId": "abcdef1234567890abcdef1234567890",
          "spanId": "abcdef12345678"
        }]
      }]
    }]
  }'

LogClaw 的 Bridge 组件会自动分析这条 ERROR 日志,提取 service.nametraceId。如果同一个 trace_id 下连续出现多条 ERROR,Bridge 的统计异常评分器会将其标记为异常,并触发 Ticketing Agent 创建事件工单。

任何 OpenTelemetry SDK(Python、Java、Node.js、Go)都可以向 LogClaw 发送日志——不需要自定义集成代码。

实战场景 2:批量导入模拟数据,体验 AI 事件自动创建

首先克隆 LogClaw 仓库(脚本和示例数据仅在仓库中可用):

git clone https://github.com/logclaw/logclaw.git
cd logclaw

仓库附带了两组模拟 Apple Pay 交易的 OTLP 日志脚本。运行以下命令生成并导入它们:

python3 scripts/generate-applepay-logs.py     # → 500 条支付流转日志
python3 scripts/generate-applepay-logs-2.py   # → 400 条基础设施/安全错误日志
./scripts/ingest-logs.sh scripts/applepay-otel-500.json
./scripts/ingest-logs.sh scripts/applepay-otel-400-batch2.json

导入后,直接用 curl 查询 OpenSearch 中自动创建的事件工单(Docker Compose 模式下 OpenSearch 直接暴露在 9200 端口):

curl -s 'http://localhost:9200/logclaw-incidents-*/_search?size=5&sort=created_at:desc' | python3 -m json.tool

LogClaw 的 Bridge 引擎会执行五层处理:

  1. ETL Consumer — 从 Kafka 消费已富化的日志
  2. Anomaly Detector — 对错误率做 Z-score 统计异常评分
  3. OpenSearch Indexer — 索引日志用于搜索和关联
  4. Lifecycle Engine — 按 trace_id 追溯因果链,计算爆炸半径
  5. Incident Creator — 创建去重的事件工单

这是 LogClaw 与传统 ELK 方案最大的差异:你不需要预先编写告警规则——异常检测引擎会自动发现错误模式并生成事件。

实战场景 3:通过 MCP 让 AI 编码 Agent 查询事件

LogClaw 提供了一个 MCP 服务端(logclaw-mcp-server),支持 8 个工具,让 Claude Code、Cursor 等 AI 编码工具直接查询 LogClaw 的事件和日志。

一行命令启动:

npx logclaw-mcp-server

在 Claude Code 的 MCP 配置中添加:

{
  "mcpServers": {
    "logclaw": {
      "command": "npx",
      "args": ["-y", "logclaw-mcp-server"]
    }
  }
}

配置后,你可以直接在 Claude Code 会话中问类似这样的问题:

“LogClaw 现在有哪些活跃事件?帮我查一下 payment-api 服务最近 1 小时的错误日志。”

MCP 服务端会查询 LogClaw 的 OpenSearch 后端,将结果返回给 LLM,再由 LLM 汇总成你需要的答案。这实现了 AI 编码 Agent → AI 运维平台 的闭环——开发者在同一个终端里就能排查生产问题。

最佳实践

  1. 从 Docker Compose 开始,按需升级到 K8s:单机测试用 Compose,生产环境用 Helm chart——logclaw-tenant umbrella chart 一次安装即可部署完整栈
  1. 为关键服务配置 Per-severity 路由:可以将 critical 事件路由到 PagerDuty,medium 事件路由到 Jira,info 事件只进 Slack
  1. 空气隔离模式(Air-Gapped):配合 Zammad(自托管 ITSM)和 Ollama(本地 LLM),可以做到完全断网运行——零出站流量
  1. AI RCA 需要 LLM 提供商:要开启 AI 根因分析,在 Helm values 中设置 global.llm.provider=ollamaopenaiclaude。Ollama 在本地加载模型,数据不出集群
  1. LogClaw 不是 ELK 替代品,而是 ELK 的上层:它底层使用 OpenSearch 做存储和搜索,你可以在 LogClaw 查不到时直接查询 OpenSearch 的原始数据

总结

LogClaw 的核心价值在于把「手写告警规则」的 SRE 工作流变成了「日志一进来就自动检测异常和关联工单」的 AI 驱动流水线。对于中小团队,这意味着不需要专职 SRE 维护告警规则库;对于大型团队,它让 SRE 从告警疲劳中解脱出来,专注于真正的故障修复。

  • GitHub:https://github.com/logclaw/logclaw
  • 在线演示:https://console.logclaw.ai
  • 文档:https://docs.logclaw.ai
  • 许可证:Apache 2.0

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。