SDK を使用して ApsaraMQ for Kafka インスタンスに接続してメッセージを送受信する際に、メッセージを送受信できない場合、または接続を確立できない場合は、ApsaraMQ for Kafka が提供するセルフチェックツールを使用して、インスタンスのヘルスチェックを実行できます。ヘルスチェックは、ネットワークが接続されているかどうか、インスタンスが想定どおりに実行されているかどうか、およびクライアントコードが正しく構成されているかどうかを判断するのに役立ちます。
前提条件
JDK 1.8 以降がインストールされている。詳細については、「Java のダウンロード」をご参照ください。
セルフチェックツール kafka-checker.zip がダウンロードされ、解凍されている。
ApsaraMQ for Kafka インスタンスにトピックとコンシューマーグループが作成されている。詳細については、「手順 3: リソースの作成」をご参照ください。トピックとコンシューマーグループは、メッセージの生成と消費をテストするために使用されます。
ネットワーク接続のテスト
ApsaraMQ for Kafka インスタンスのエンドポイントを取得します。
ApsaraMQ for Kafka コンソール にログインします。
リソースの分布概要 ページの セクションで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。
インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
アクセスポイント情報 セクションの インスタンスの詳細 ページで、インスタンスのエンドポイントを表示します。
説明さまざまなタイプのエンドポイントの違いについては、「エンドポイントの比較」をご参照ください。
telnet を使用してネットワーク接続をテストします。この例では、Linux オペレーティングシステムが使用されています。
Linux オペレーティングシステムにログインし、KafkaChecker.jar ツールが存在するパスを入力します。
cd /usr/opt/kafka-checker/usr/opt/kafka-checkerを実際のローカルパスに置き換えます。次のコマンドを実行して、クライアントが ApsaraMQ for Kafka に接続できるかどうかをテストします。
java -jar KafkaChecker.jar telnet -s Endpointたとえば、クライアントがデフォルトのエンドポイントを使用して仮想プライベートクラウド ( VPC ) 経由で ApsaraMQ for Kafka インスタンスに接続されている場合は、
java -jar KafkaChecker.jar telnet -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092,alikafka-pre-cn-zv**********-2-vpc.alikafka.aliyuncs.com:9092,alikafka-pre-cn-zv**********-3-vpc.alikafka.aliyuncs.com:9092を実行します。説明クライアントがデフォルトのエンドポイントを使用して VPC 経由で ApsaraMQ for Kafka インスタンスに接続されている場合は、クライアントとインスタンスが同じ VPC にデプロイされていることを確認してください。
次の図のような情報が返された場合、ネットワークは接続されています。

次の図のような情報が返された場合、ApsaraMQ for Kafka インスタンスのエンドポイントホワイトリストが構成されていません。ホワイトリストの構成方法については、「ホワイトリストの構成」をご参照ください。

メッセージ送信のテスト
メッセージが送信されると、実際のテストデータが生成されます。実際のビジネスデータへの影響を防ぐために、セルフチェック専用に使用するトピックを作成する必要があります。
ネットワークタイプに基づいて、次のいずれかのコマンドを実行してメッセージを送信します。
クライアントがデフォルトのエンドポイントとポート 9092 を使用して ApsaraMQ for Kafka インスタンスに接続されている場合は、次のコマンドを実行します。
java -jar KafkaChecker.jar send -s endpoint: 9092 --topic Topic name例:
java -jar KafkaChecker.jar send -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092 --topic testクライアントが Secure Sockets Layer ( SSL ) エンドポイントとポート 9093 を使用してインターネット経由で ApsaraMQ for Kafka インスタンスに接続されている場合、Simple Authentication and Security Layer ( SASL ) を使用すると、PLAIN または SCRAM-SHA-256 メカニズムを使用して認証できます。この場合は、認証メカニズムに対応するコマンドを実行してメッセージを送信します。
説明クライアントがインターネット経由で ApsaraMQ for Kafka インスタンスに接続されている場合、インスタンスのデフォルトの SASL ユーザーは PLAIN メカニズムを使用して認証します。
きめ細かいアクセス制御を実行するために、Simple Authentication and Security Layer ( SASL ) ユーザーを作成できます。認証メカニズムとして PLAIN または SCRAM-SHA-256 を指定できます。詳細については、「SASL ユーザーへの権限の付与」をご参照ください。メッセージを送信するには、認証メカニズムに対応するコマンドを実行する必要があります。
PLAIN メカニズム
java -jar KafkaChecker.jar send -sm PLAIN -ss true -u username -psw password -s Endpoint domain name:9093 --topic Topic name例:
java -jar KafkaChecker.jar send -sm PLAIN -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic testSCRAM-SHA-256 メカニズム
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -ss true -u username -psw password -s Endpoint domain name:9093 --topic Topic name例:
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic testクライアントが SSL エンドポイントとポート 9094 を使用して VPC 経由で ApsaraMQ for Kafka インスタンスに接続されている場合、SASL を使用すると、PLAIN または SCRAM-SHA-256 メカニズムを使用して認証できます。この場合は、認証メカニズムに対応するコマンドを実行してメッセージを送信します。
PLAIN メカニズム
java -jar KafkaChecker.jar send -sm PLAIN -sp true -u username -psw password -s Endpoint domain name:9094 --topic Topic name例:
java -jar KafkaChecker.jar send -sm PLAIN -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic testSCRAM-SHA-256 メカニズム
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -sp true -u username -psw password -s Endpoint domain name:9094 --topic Topic name例:
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test
次の図のような情報が返された場合、メッセージは送信されています。
メッセージ消費のテスト
ネットワークタイプに基づいて、次のいずれかのコマンドを実行してメッセージを消費します。
クライアントがデフォルトのエンドポイントとポート 9092 を使用して ApsaraMQ for Kafka インスタンスに接続されている場合は、次のコマンドを実行します。
java -jar KafkaChecker.jar pull -s Endpoint domain name:9092 --topic Topic name --group Group name --partition 0 --offset 0 --count 10例:
java -jar KafkaChecker.jar pull -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092 --topic test --group test --partition 0 --offset 0 --count 10クライアントが SSL エンドポイントとポート 9093 を使用してインターネット経由で ApsaraMQ for Kafka インスタンスに接続されている場合、SASL を使用すると、PLAIN または SCRAM-SHA-256 メカニズムを使用して認証できます。この場合は、認証メカニズムに対応するコマンドを実行してメッセージを消費します。
説明クライアントがインターネット経由で ApsaraMQ for Kafka インスタンスに接続されている場合、インスタンスのデフォルトの SASL ユーザーは PLAIN メカニズムを使用して認証します。
きめ細かいアクセス制御を実行するために、SASL ユーザーを作成できます。認証メカニズムとして PLAIN または SCRAM-SHA-256 を指定できます。詳細については、「SASL ユーザーへの権限の付与」をご参照ください。メッセージを消費するには、認証メカニズムに対応するコマンドを実行する必要があります。
PLAIN メカニズム
java -jar KafkaChecker.jar pull -sm PLAIN -ss true -u username -psw password -s Endpoint domain name:9093 --topic Topic name --group Group name --partition 0 --offset 0 --count 10例:
java -jar KafkaChecker.jar pull -sm PLAIN -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic test --group test --partition 0 --offset 0 --count 10SCRAM-SHA-256 メカニズム
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -ss true -u username -psw password -s Endpoint domain name:9093 --topic Topic name --group Group name --partition 0 --offset 0 --count 10例:
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic test --group test --partition 0 --offset 0 --count 10クライアントが SSL エンドポイントとポート 9094 を使用して VPC 経由で ApsaraMQ for Kafka インスタンスに接続されている場合、SASL を使用すると、PLAIN または SCRAM-SHA-256 メカニズムを使用して認証できます。この場合は、認証メカニズムに対応するコマンドを実行してメッセージを消費します。
PLAIN メカニズム
java -jar KafkaChecker.jar pull -sm PLAIN -sp true -u username -psw password -s Endpoint domain name:9094 --topic Topic name --group Group name --partition 0 --offset 0 --count 10例:
java -jar KafkaChecker.jar pull -sm PLAIN -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test --group test --partition 0 --offset 0 --count 10SCRAM-SHA-256 メカニズム
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -sp true -u username -psw password -s Endpoint domain name:9094 --topic Topic name --group Group name --partition 0 --offset 0 --count 10例:
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test --group test --partition 0 --offset 0 --count 10
次の図のような情報が返された場合、メッセージは消費されています。
関連情報
関連する SDK コードパッケージについては、「概要」をご参照ください。