Skip to content

命令参考

Kafka Log Analyzer 命令完整参考

/kafka-analyze

解析 Kafka 日志,提取事件并检测异常。

语法

bash
/kafka-analyze [选项]

选项

选项类型默认值说明
--sourcefile | paste | exporter | loki-数据源类型(必填)
--pathstring-日志文件路径(source=file 时必填)
--clusterstring-集群名称(exporter/loki 源时使用)
--querystring-LogQL 查询表达式(loki 源时使用)
--limitnumber1000最大日志行数(loki 源时默认1000)
--focusstring[]-关注领域过滤,逗号分隔
--timelinestring-时间窗口:1m5m15m1h6h1d
--prioritystring[]-按优先级过滤异常:P0P1P2P3(逗号分隔)
--reportmarkdown | json | slack | folded-markdownmarkdown输出格式
--templatestring-诊断模板 ID(如 lag-diagnosis
--interactiveflagoff启动交互式 TUI 浏览器(-i
--localeen | zh自动检测设置语言(-l
--debugflagoff启用调试日志

示例

分析日志文件

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 [选项]

选项

选项类型说明
--clusterstring集群名称(可选)
--groupstring消费者组名称(可选)
--topicstringTopic 名称(可选)

示例

bash
# 查询所有消费者组积压
/kafka-lag

# 查询指定集群和消费者组
/kafka-lag --cluster production --group order-processor

CLI 命令

在 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 feishu

Hook 服务器(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 zh

MCP 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 字段。


相关文档

  • 配置 — 环境变量和数据源配置
  • API 参考 — MCP Tools 完整 API 文档

基于 MIT 许可发布