命令参考
Kafka Log Analyzer 命令完整参考
/kafka-analyze
解析 Kafka 日志,提取事件并检测异常。
语法
bash
/kafka-analyze [选项]选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--source | file | paste | exporter | loki | - | 数据源类型(必填) |
--path | string | - | 日志文件路径(source=file 时必填) |
--cluster | string | - | 集群名称(exporter/loki 源时使用) |
--query | string | - | LogQL 查询表达式(loki 源时使用) |
--limit | number | 1000 | 最大日志行数(loki 源时默认1000) |
--focus | string[] | - | 关注领域过滤,逗号分隔 |
--timeline | string | - | 时间窗口:1m、5m、15m、1h、6h、1d |
--priority | string[] | - | 按优先级过滤异常:P0、P1、P2、P3(逗号分隔) |
--report | markdown | json | slack | folded-markdown | markdown | 输出格式 |
--template | string | - | 诊断模板 ID(如 lag-diagnosis) |
--interactive | flag | off | 启动交互式 TUI 浏览器(-i) |
--locale | en | zh | 自动检测 | 设置语言(-l) |
--debug | flag | off | 启用调试日志 |
示例
分析日志文件
bash
/kafka-analyze --source file --path /var/log/kafka/server.log从 Kafka Exporter 分析
bash
/kafka-analyze --source exporter --cluster production从 Prometheus/Kafka Exporter 获取实时指标,自动检测积压异常。
从 Loki 分析
bash
/kafka-analyze --source loki --cluster production --limit 500通过 LogQL 查询 Loki 中的 Kafka 日志,复用 Python 分析管线。
指定关注领域
bash
/kafka-analyze --source file --path server.log --focus producer,error可用的关注领域:
producer— 生产者相关事件consumer— 消费者相关事件broker— Broker 相关事件lag— 消费积压相关error— 错误和异常
/kafka-lag
从 Prometheus / Kafka Exporter 获取 Consumer Lag 指标。
需要配置
PROMETHEUS_URL环境变量
语法
bash
/kafka-lag [选项]选项
| 选项 | 类型 | 说明 |
|---|---|---|
--cluster | string | 集群名称(可选) |
--group | string | 消费者组名称(可选) |
--topic | string | Topic 名称(可选) |
示例
bash
# 查询所有消费者组积压
/kafka-lag
# 查询指定集群和消费者组
/kafka-lag --cluster production --group order-processorCLI 命令
在 Claude Code 外部使用时,CLI 提供直接访问:
bash
# 分析日志文件
npx kafka-log-analyze analyze server.log --focus producer,error
# 通过 stdin 粘贴日志
cat error.log | npx kafka-log-analyze analyze-paste
# 从 Prometheus 获取消费积压
npx kafka-log-analyze lag --cluster production --group order-processor
# 从 Kafka Exporter 分析
npx kafka-log-analyze analyze-exporter --cluster production
# 从 Loki 日志系统分析
npx kafka-log-analyze analyze-loki --cluster production --limit 500
# 启动 Hook 服务器(v0.4.0+)
npx kafka-log-analyze hooks --port 3100
# 测试推送集成(v0.4.0+)
npx kafka-log-analyze push-test --target feishuHook 服务器(v0.4.0+)
Hook 服务器接收 Grafana/PagerDuty 的 Webhook 告警,自动触发分析并将结果推送到已配置的目标(飞书/Slack/JIRA)。
端点
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /hooks/grafana | 接收 Grafana 统一/遗留告警 Webhook |
POST | /hooks/pagerduty | 接收 PagerDuty Events API v2 告警 |
GET | /hooks/health | 健康检查端点 |
启动服务器
bash
# 使用默认端口(GRAFANA_WEBHOOK_PORT 或 3100)
npx kafka-log-analyze hooks
# 指定端口
npx kafka-log-analyze hooks --port 3200传入告警根据配置的 TTL 窗口(HOOK_DEDUP_WINDOW_MS,默认 5 分钟)按 fingerprint 去重,并在达到 HOOK_MAX_MERGE_COUNT 后触发分析。
推送测试
bash
# 测试飞书推送
npx kafka-log-analyze push-test --target feishu
# 测试 Slack 推送
npx kafka-log-analyze push-test --target slack
# 测试所有已配置的目标
npx kafka-log-analyze push-test --target all
# 生成 Shell 补全脚本(v1.1.0+)
npx kafka-log-analyze completion bash > /etc/bash_completion.d/kafka-log-analyze
# 列出诊断模板(v1.1.0+)
npx kafka-log-analyze templates
# 使用诊断模板分析(v1.1.0+)
npx kafka-log-analyze analyze server.log --template lag-diagnosis
# 交互式 TUI 浏览器(v1.1.0+)
npx kafka-log-analyze analyze server.log --interactive
# 使用中文界面(v1.1.0+)
npx kafka-log-analyze analyze server.log --locale zhMCP Tools
除了斜杠命令,还可以直接调用 MCP Tools。
analyze_log
json
{
"tool": "analyze_log",
"input": {
"source": "file",
"path": "/var/log/kafka/server.log",
"focus": ["producer", "error"],
"timeline": "1h",
"priority": ["P0", "P1"],
"report": "markdown"
}
}Exporter 源:
json
{
"tool": "analyze_log",
"input": {
"source": "exporter",
"cluster": "production"
}
}Loki 源:
json
{
"tool": "analyze_log",
"input": {
"source": "loki",
"cluster": "production",
"limit": 500
}
}get_lag
json
{
"tool": "get_lag",
"input": {
"cluster": "production",
"consumer_group": "order-processor"
}
}返回结构化的消费积压数据。当 Prometheus 不可用时,返回空结果及 warning 字段。