LogClaw 实战教程:用 AI SRE 在自有 VPC 中实现日志异常检测与自动告警
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.name 和 traceId。如果同一个 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 引擎会执行五层处理:
- ETL Consumer — 从 Kafka 消费已富化的日志
- Anomaly Detector — 对错误率做 Z-score 统计异常评分
- OpenSearch Indexer — 索引日志用于搜索和关联
- Lifecycle Engine — 按
trace_id追溯因果链,计算爆炸半径 - 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 运维平台 的闭环——开发者在同一个终端里就能排查生产问题。
最佳实践
- 从 Docker Compose 开始,按需升级到 K8s:单机测试用 Compose,生产环境用 Helm chart——
logclaw-tenantumbrella chart 一次安装即可部署完整栈
- 为关键服务配置 Per-severity 路由:可以将 critical 事件路由到 PagerDuty,medium 事件路由到 Jira,info 事件只进 Slack
- 空气隔离模式(Air-Gapped):配合 Zammad(自托管 ITSM)和 Ollama(本地 LLM),可以做到完全断网运行——零出站流量
- AI RCA 需要 LLM 提供商:要开启 AI 根因分析,在 Helm values 中设置
global.llm.provider=ollama或openai或claude。Ollama 在本地加载模型,数据不出集群
- 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