Skip to content

Command Reference

Kafka Log Analyzer complete command reference

/kafka-analyze

Parse Kafka logs, extract events, and detect anomalies.

Syntax

bash
/kafka-analyze [options]

Options

OptionTypeDefaultDescription
--sourcefile | paste | exporter | loki-Data source type (required)
--pathstring-Log file path (required when source=file)
--clusterstring-Cluster name (for exporter/loki sources)
--querystring-LogQL query expression (for loki source)
--limitnumber1000Max log lines (for loki source)
--focusstring[]-Focus area filter, comma-separated
--timelinestring-Time window: 1m, 5m, 15m, 1h, 6h, 1d
--prioritystring[]-Filter anomalies by priority: P0, P1, P2, P3 (comma-separated)
--reportmarkdown | json | slack | folded-markdownmarkdownOutput format
--templatestring-Diagnostic template ID (e.g. lag-diagnosis)
--interactiveflagoffLaunch interactive TUI browser (-i)
--localeen | zhautoSet language (-l)
--debugflagoffEnable debug logging

Examples

Analyze Log File

bash
/kafka-analyze --source file --path /var/log/kafka/server.log

Paste Log Analysis

/kafka-analyze

[2026-01-15 10:00:01] ERROR [producer] Failed to send record to topic orders
[2026-01-15 10:00:02] WARN  [consumer] lag exceeded threshold (5000 messages)

Analyze from Kafka Exporter

bash
/kafka-analyze --source exporter --cluster production

Fetches real-time metrics from Prometheus/Kafka Exporter and detects anomalies from lag data.

Analyze from Loki

bash
/kafka-analyze --source loki --cluster production --limit 500

Queries Kafka logs from Loki via LogQL, then reuses the Python analysis pipeline.

Specify Focus Areas

bash
/kafka-analyze --source file --path server.log --focus producer,error

Available focus areas:

  • producer — Producer-related events
  • consumer — Consumer-related events
  • broker — Broker-related events
  • lag — Consumer Lag-related
  • error — Errors and exceptions

Specify Time Window

bash
/kafka-analyze --source file --path server.log --timeline 1h

JSON Output

bash
/kafka-analyze --source file --path server.log --output json

/kafka-lag

Get Consumer Lag metrics from Prometheus / Kafka Exporter.

Requires PROMETHEUS_URL environment variable to be configured

Syntax

bash
/kafka-lag [options]

Options

OptionTypeDescription
--clusterstringCluster name (optional)
--groupstringConsumer group name (optional)
--topicstringTopic name (optional)

Examples

Query All Consumer Groups Lag

bash
/kafka-lag

Query Specific Cluster and Consumer Group

bash
/kafka-lag --cluster production --group order-processor

Query Specific Topic

bash
/kafka-lag --topic orders

CLI Commands

For use outside Claude Code, the CLI provides direct access:

bash
# Analyze log file
npx kafka-log-analyze analyze server.log --focus producer,error

# Paste log content via stdin
cat error.log | npx kafka-log-analyze analyze-paste

# Fetch consumer lag from Prometheus
npx kafka-log-analyze lag --cluster production --group order-processor

# Analyze from Kafka Exporter
npx kafka-log-analyze analyze-exporter --cluster production

# Analyze from Loki
npx kafka-log-analyze analyze-loki --cluster production --limit 500

# Start hook server for Grafana/PagerDuty alerts (v0.4.0+)
npx kafka-log-analyze hooks --port 3100

# Test push integration (v0.4.0+)
npx kafka-log-analyze push-test --target feishu

# Generate shell completion script (v1.1.0+)
npx kafka-log-analyze completion bash > /etc/bash_completion.d/kafka-log-analyze

# List diagnostic templates (v1.1.0+)
npx kafka-log-analyze templates

# Analyze with a diagnostic template (v1.1.0+)
npx kafka-log-analyze analyze server.log --template lag-diagnosis

# Interactive TUI browser (v1.1.0+)
npx kafka-log-analyze analyze server.log --interactive

# Use Chinese locale (v1.1.0+)
npx kafka-log-analyze analyze server.log --locale zh

Hook Server (v0.4.0+)

The hook server listens for Grafana/PagerDuty webhook alerts, auto-triggers analysis, and pushes results to configured targets (Feishu/Slack/JIRA).

Endpoints

MethodPathDescription
POST/hooks/grafanaReceive Grafana unified/legacy alert webhooks
POST/hooks/pagerdutyReceive PagerDuty Events API v2 alerts
GET/hooks/healthHealth check endpoint

Start the Server

bash
# Start on default port (GRAFANA_WEBHOOK_PORT or 3100)
npx kafka-log-analyze hooks

# Start on a custom port
npx kafka-log-analyze hooks --port 3200

Incoming alerts are deduplicated by fingerprint within the configured TTL window (HOOK_DEDUP_WINDOW_MS, default 5 minutes) and merged up to HOOK_MAX_MERGE_COUNT before triggering analysis.

Push Test

bash
# Test Feishu push
npx kafka-log-analyze push-test --target feishu

# Test Slack push
npx kafka-log-analyze push-test --target slack

# Test all configured targets
npx kafka-log-analyze push-test --target all

MCP Tools

In addition to slash commands, you can directly invoke 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 source:

json
{
  "tool": "analyze_log",
  "input": {
    "source": "exporter",
    "cluster": "production"
  }
}

Loki source:

json
{
  "tool": "analyze_log",
  "input": {
    "source": "loki",
    "cluster": "production",
    "limit": 500
  }
}

get_lag

json
{
  "tool": "get_lag",
  "input": {
    "cluster": "production",
    "consumer_group": "order-processor"
  }
}

Returns structured consumer lag data. When Prometheus is unavailable, returns empty results with a warning field.


Released under the MIT License.