イベントストリーム開発者チートシート
この記事では、イベントストリームを使ったアプリケーションの実装、デバッグ、運用のためのトップヒントを紹介しています。
Sysdigモニタリングの有効化¶
Event StreamsはIBM Cloud Monitoring with Sysdigをサポートしています。Sysdigは、アプリケーションやサービス、プラットフォームのパフォーマンスや健全性を運用面で可視化するために、さまざまな指標を監視することができます。Sysdigは、管理者、DevOpsチーム、開発者に、モニタリングやトラブルシューティング、アラートの定義、カスタム・ダッシュボードのデザインなどの高度な機能を備えたフルスタック・テレメトリを提供します。
監視できるメトリクスの詳細については、ドキュメントのMonitoring Event Streams metrics using IBM Cloud Monitoring with Sysdigを参照してください。
クライアントの動作と診断¶
ほとんどのKafkaクライアントは、ログやメトリクスを生成します。アプリケーションを実行する際、問題が発生した場合に問題の調査に役立つことが多いため、ログやメトリクスを取得することは重要です。
例えば、Javaクライアントの場合。
-
ログ。ログの設定はlog4jで行います。最小限の推奨設定ファイルは
そして、アプリケーションの起動時に、以下のJVM引数を渡します。
-
メトリクスデフォルトでは、メトリクスはJMX経由で出力されます。また、
metric.reporter
を設定することで、メトリクスパイプライン用のカスタムレポーターを構成することができます。
接続問題のデバッグ¶
接続の問題をデバッグする場合は、以下の手順で行うことをお勧めします。
- Kafkaクライアントに設定されているブートストラップサーバーを確認する。 2.セキュリティプロトコルがSASLおよびSSLに設定されていることを確認する。 3.SASLに設定されているパスワードを確認する。 4.ServiceIDに正しいIAM権限が設定されていることを確認します。 5.5. 最大接続クライアント数に達していないことを確認する。
詳細は、ドキュメントのTroubleshooting sectionを参照してください。
Event Streams サンプルリポジトリを使用する¶
Event Streams sample GitHub repositoryには、Java、Node.js、Pythonなどの複数の言語でKafkaアプリケーションを構築するためのベストプラクティスを示すサンプルアプリが含まれています。
このリポジトリには、以下を行うための手順とDockerイメージも含まれています。
-
Run Kafka Connect。このサンプルには、
ibmcom/eventstreams-kafkaconnect
というDockerイメージの構築に必要なアーティファクトが含まれています。このイメージには、Kafka ConnectランタイムとIBM Cloud Object Storage sink connectorとIBM MQ source connectorが含まれており、Kubernetes上で実行する方法も説明されています。 -
Run MirrorMakerを参照してください。 このリポジトリには、
ibmcom/eventstreams-kafkamirrormaker
というDockerイメージの構築に必要なアーティファクトが含まれています。このイメージにはKafka Mirror Makerが含まれており、クラスター間でのデータのレプリケーションに使用できます。
イベントストリームのCLIを使う¶
Event Streams CLIは、クラスターの詳細を素早く簡単に収集することができます。サポートしています。
- トピックの作成、一覧表示、更新、および削除。
- コンシューマ・グループのリストアップ、削除、およびリセット。
- クラスタの説明。
詳細については、Event Streams CLI referenceを参照してください。
イベントストリームの必須収集情報¶
Event Streamsチームのサポートを受けたい場合、チケットを開く際には、以下の情報を提供するのがベストです。
-
使用しているEvent StreamsサービスのCRN IDは何ですか?この ID は、サービスをクリックした後に IBM Cloud コンソールの完全な URL を貼り付けるか、以下の CLI コマンドの出力を貼り付けることで提供できます。
-
問題が最初に発生したのはいつですか(具体的な時間、日付、タイムゾーン)?この問題が発生する前、アプリはどのくらいの期間実行されていましたか?
- 問題はまだ発生していますか?それを再現できますか?
- あなたのアプリケーションはどのKafkaクライアントを使用していますか?そのバージョンの詳細は何ですか?
- クライアントの構成の詳細は何ですか?プロデューサとコンシューマの設定を知る必要がありますので、プロデューサまたはコンシューマの作成に渡したデフォルト以外のオプションをすべて列挙してください。
- 問題を示すアプリケーションログの断片はありますか?
- 表示されている問題は何ですか?どのトピック、クライアントID、グループID、トランザクションIDが影響を受けますか?
- 問題はサービスにどのような影響を与えていますか?
詳しくは、Reporting a problem to the Event Streams teamをご覧ください。
まとめと次のステップ¶
これらのヒントをすべて活用すれば、プロのようにEvent Streamsのインスタンスとアプリケーションを管理することができるはずです。また、何か問題が発生しても、すぐにデバッグすることができるでしょう。
Event Streamsのドキュメントの中には、FAQセクションがあり、ユーザーからの最も一般的な質問をカバーしています。質問があるときは、いつでもこのセクションをご覧になることをお勧めします。
クイズに答えて IBM Event Streams Developer Essentials バッジを取得する準備ができたら、IBM Event Streams Developer Essentials バッジページに戻って、クイズをクリックしてください!