kafka-connector-review について
Kafka Connect コネクターの設定をレビューするスキルです。コネクター運用者や開発者向けに、稼働状態とプラグインスキーマへの適合性を確認し、よくある設定リスクと推奨変更を報告します。
主な機能
- 01コネクターとタスクの状態一覧
- 02コネクター設定全体の確認
- 03プラグインスキーマによる設定検証
- 04エラー処理・コンバーター・変換の監査
- 05推奨設定を添えた所見の報告
活用シーン
- 01Kafka Connect 環境のコネクター確認
- 02失敗したシンクコネクターの診断
- 03単一コネクター設定の詳細レビュー
MCP 対応
Lenses MCP ツールでコネクター一覧と設定を取得し、プラグインスキーマに照らして検証します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lensesio/ agentic-engineering-for-apache-kafka --skill kafka-connector-reviewインストール後、Claude Code で/kafka-connector-reviewを入力して読み込まれたか確認します。
同梱ファイルreferences/test-cases.md
詳細
Kafka Connect の構成レビュー
Kafka Connect コネクターの構成をレビューし、よくある設定ミスを確認します。コネクターは JSON/YAML で定義され、言語に依存しません。
対象環境:$ARGUMENTS
ワークフロー
このチェックリストをコピーして、進捗を記録してください。
Connector Review Progress:
- [ ] Step 1: List all connectors
- [ ] Step 2: Inspect each connector's configuration
- [ ] Step 3: Validate configurations against plugin schemas
- [ ] Step 4: Audit for common misconfigurations
- [ ] Step 5: Generate report
- すべてのコネクターを一覧表示する(ステータスとタスク状態を含む)
- 各コネクターの構成を詳細に確認する
- プラグインのスキーマに照らして構成を検証する
- よくある設定ミスを監査する
- 現在の構成と推奨構成を添えて、調査結果を報告する
ステップ 1:すべてのコネクターを一覧表示する
Lenses MCP の list_kafka_connectors ツールを使用して、以下の情報を含むすべてのコネクターを取得します。
- コネクター名、クラス、タイプ(ソース/シンク)
- ステータス(RUNNING、PAUSED、FAILED、UNASSIGNED)
- タスクの状態と数
- クラスター情報
以下をただちに指摘します。
- 重大:FAILED 状態のコネクター
- 重大:FAILED 状態のタスク
- 警告:明確な理由がないのに PAUSED 状態のコネクター
期待される出力:すべてのコネクターの名前、クラス、ステータス、タスク状態の一覧。
検証:コネクターが返されない場合は、Connect クラスターが構成されていないことを報告して終了します。
ステップ 2:構成を確認する
Lenses MCP の get_kafka_connector_target_definition ツールを使用して、各コネクターの完全な構成 YAML を取得します。
ステップ 3:構成を検証する
Lenses MCP の validate_connector_configuration ツールを使用して、各コネクターの構成を対応するプラグインのスキーマに照らして検証します。これにより、以下を検出できます。
- 必須構成フィールドの不足
- 無効な構成値
- 型の不一致
ステップ 4:よくある設定ミスを監査する
エラー処理
- 重大:
errors.tolerance=allが設定されているのにerrors.deadletterqueue.topic.nameがない(メッセージが通知なく破棄されます) - 警告:
errors.toleranceがない(デフォルトはnoneで、エラーが発生するとコネクターが停止します) - 警告:
errors.log.enable=trueがない(エラーがログに記録されません) - 提案:DLQ メタデータを充実させるため、
errors.deadletterqueue.context.headers.enable=trueを追加します
コンバーター
- 警告:
key.converterまたはvalue.converterがトピックのシリアライズ形式と一致しない - 警告:構造化データに
org.apache.kafka.connect.storage.StringConverterを使用している(Avro/JSON/Protobuf コンバーターを使用してください) - 警告:スキーマが想定される場合に
schemas.enableの設定がない
変換(SMT)
- 警告:デバッグが困難になる可能性がある、複雑な変換チェーン(SMT が 3 個を超える)
- 提案:複雑な変換には Kafka Streams または ksqlDB の利用を検討します
- 変換クラス名が有効で、正しい順序になっていることを確認します
タスク数
- 警告:スループットの高いコネクターで
tasks.max=1を設定している(並列処理が制限されます) - 提案:ソースコネクターでは、
tasks.maxをソースのパーティション構成に合わせます - 提案:シンクコネクターでは、
tasks.maxをトピックのパーティション数に合わせます
接続と再試行
- 警告:外部システムと連携するコネクターに再試行の構成がない
- 警告:接続タイムアウトの設定がない
- 提案:パフォーマンス調整のため、
consumer.override.*またはproducer.override.*を明示的に設定します
命名規則
- 提案:コネクター名に一貫したパターンを使用します(例:
{source/sink}-{system}-{entity})
成功基準
定量的
- コネクター関連のクエリの 90% で起動する(表現を変えた 10~20 個の例でテスト)
- MCP ツールの呼び出し 10 回未満でレビューを完了する
- プラグインのスキーマで報告された検証エラーを 100% 検出する
定性的
- 失敗したコネクターがステータス概要でただちに指摘される
- エラー処理の不備(DLQ の欠如、通知のない破棄)が必ず特定される
- コネクターの運用担当者と開発者のどちらにとっても役立つレポートになる
例
例 1:定期的なコネクターレビュー
ユーザーの発言:「ステージング環境のすべてのコネクターをレビューしてください」
アクション:
- ステータスとともにすべてのコネクターを一覧表示します
- 各コネクターの設定を確認して検証します
- よくある設定ミスを監査します 結果:すべてのコネクターを対象に、優先度を付けた指摘事項を含む完全なレポート
例 2:失敗したコネクターの調査
ユーザーの発言:「シンクコネクターが失敗しています。原因を確認してもらえますか?」
アクション:
- コネクターを一覧表示し、FAILED 状態のものを特定します
- 失敗したコネクターの完全な設定を取得します
- プラグインのスキーマに照らして設定を検証します
- よくある問題(DLQ、コンバーター、エラー処理)を確認します 結果:具体的な失敗原因の診断と修正手順
例 3:単一コネクターの詳細調査
ユーザーの発言:「elasticsearch-sink コネクターの設定をレビューしてください」
アクション:
- 指定されたコネクターのターゲット定義を取得します
- プラグインのスキーマに照らして検証します
- エラー処理、コンバーター、タスク数を監査します 結果:単一のコネクターに焦点を当てたレポート
トラブルシューティング
コネクターが返されない
原因:環境に Kafka Connect クラスターが設定されていないか、コネクターがデプロイされていません。
解決策:Lenses UI で Connect クラスターが存在することを確認します。get_deployment_targets で利用可能な Connect クラスターを確認します。
不明なプラグインとして検証に失敗する
原因:コネクタープラグインのクラスが Connect クラスターにインストールされていません。 解決策:不足しているプラグインを報告します。これはデプロイ上の問題であり、設定の問題ではありません。
コネクターが RUNNING と表示されるが、タスクが FAILED になっている
原因:コネクターフレームワークは実行中ですが、個々のタスクでエラーが発生しています。 解決策:各タスクのステータスを確認します。よくある原因として、認証の失敗、ネットワークの問題、外部システムとのスキーマの不一致があります。
出力形式
## Connector Review Report
### Environment: {name}
### Connector Status Overview
| Connector | Class | Status | Tasks | Failed Tasks |
|-----------|-------|--------|-------|-------------|
| name | class | RUNNING | 3/3 | 0 |
### Critical (must fix)
- [connector-name] Description of the issue
Current: {current config} | Recommended: {recommended config}
### Warning (should fix)
- [connector-name] Description of the issue
Current: {current config} | Recommended: {recommended config}
### Validation Errors
- [connector-name] {field}: {validation error message}
### Suggestion (consider improving)
- [connector-name] Description of the suggestion
Recommendation: {how to improve}
### Summary
- X connectors reviewed
- Y critical issues found
- Z warnings found
- Failed connectors: N
- Failed tasks: M