Skip to content

配置

Kafka Log Analyzer 配置参考

环境变量

基础配置

变量说明默认值必填
LOG_LEVEL日志级别info
NODE_ENV运行环境development

数据源配置(v0.3.0+)

变量说明默认值必填
PROMETHEUS_URLPrometheus API 地址http://localhost:9090v0.3.0+
KAFKA_EXPORTER_URLKafka Exporter 地址http://localhost:9308v0.3.0+
LOKI_URLLoki 日志 API 地址http://localhost:3100v0.3.0+

Hook & 推送配置(v0.4.0+)

变量说明默认值必填
GRAFANA_WEBHOOK_PORTHook 服务器监听端口3100v0.4.0+
PAGERDUTY_WEBHOOK_PORTPagerDuty Webhook 端口3101
FEISHU_WEBHOOK_URL飞书 Webhook 地址-飞书推送
SLACK_WEBHOOK_URLSlack Webhook 地址-Slack 推送
JIRA_URLJIRA 基础地址-JIRA 推送
JIRA_TOKENJIRA API 令牌-JIRA 推送
JIRA_PROJECT_KEYJIRA 项目 Key-JIRA 推送
HOOK_DEDUP_WINDOW_MS去重 TTL 窗口(毫秒)300000
HOOK_MAX_MERGE_COUNT每个 fingerprint 最大合并计数10

存储配置(v0.5.0+)

变量说明默认值必填
SQLITE_PATHSQLite 数据库路径./storage/kafka-analyzer.dbv0.5.0+
STORAGE_RETENTION_DAYS数据保留天数30v0.5.0+
STORAGE_AUTO_CLEANUP启用每日自动清理true

用户体验配置(v1.1.0+)

变量描述默认值必填
LOCALE国际化语言(enzh自动检测系统语言
CACHE_SESSION启用内存会话缓存true
CACHE_TTL默认缓存过期时间(秒)86400

.env 文件示例

bash
# .env

# Phase 1 (基础功能) - 无需配置

# Phase 2 (数据源集成)
PROMETHEUS_URL=http://prometheus:9090
KAFKA_EXPORTER_URL=http://kafka-exporter:9308
LOKI_URL=http://loki:3100

# Phase 3 (Hook & 推送集成)
GRAFANA_WEBHOOK_PORT=3100
PAGERDUTY_WEBHOOK_PORT=3101
FEISHU_WEBHOOK_URL=https://open.feishu.cn/open-apis/bot/v2/hook/xxx
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/xxx
JIRA_URL=https://your-domain.atlassian.net
JIRA_TOKEN=your-api-token
JIRA_PROJECT_KEY=KAFKA
HOOK_DEDUP_WINDOW_MS=300000
HOOK_MAX_MERGE_COUNT=10

# Phase 4 (历史对比)
SQLITE_PATH=./storage/kafka-analyzer.db

# Phase 5 (用户体验)
LOCALE=en
CACHE_SESSION=true
CACHE_TTL=86400

# 日志配置
LOG_LEVEL=info
LOG_FORMAT=json
NODE_ENV=production

配置文件

plugin.json

Plugin 元数据配置:

json
{
  "name": "kafka-log-analyzer",
  "version": "1.0.0",
  "description": "Intelligent Kafka log analysis tool for Claude Code",
  "main": "dist/index.js",
  "commands": ["kafka-analyze", "kafka-lag"],
  "mcp": {
    "server": "dist/mcp-server/index.js"
  }
}

Prometheus 配置

Scrape 配置

yaml
# prometheus.yml
scrape_configs:
  - job_name: 'kafka-exporter'
    static_configs:
      - targets: ['kafka-exporter:9308']
    scrape_interval: 15s

常用查询

txt
# Consumer Lag
kafka_consumer_lag_records

# Producer 发送速率
kafka_producer_record_send_rate

# Broker Leader 选主次数
kafka_broker_leader_election_rate

# 按消费组过滤
kafka_consumer_lag_records{group="order-processor"}

Kafka Exporter 配置

Docker 启动

bash
docker run -d \
  --name kafka-exporter \
  -p 9308:9308 \
  danielqsj/kafka-exporter \
  --kafka.server=kafka:9092

Loki 配置

日志查询

txt
# Kafka 错误日志
{app="kafka"} |= "ERROR"

# 按时间范围过滤
{app="kafka"} |= "ERROR" [1h]

# Producer 相关错误
{app="kafka", component="producer"} |= "ERROR"

检测规则配置

可以在 config/detection-rules.json 中自定义检测规则:

json
{
  "rules": [
    {
      "name": "high_lag",
      "condition": "lag > 10000",
      "severity": "P1",
      "recommendation": "Check consumer processing speed"
    },
    {
      "name": "rebalance_storm",
      "condition": "rebalances > 3 in 5m",
      "severity": "P0",
      "recommendation": "Review consumer group configuration"
    }
  ]
}

相关文档

基于 MIT 许可发布