IBM Cloud Logs と Event Streams の統合

IBM® Event Streams for IBM Cloud®をIBM Cloud Logsと一緒に使うことで、ログデータをストリームし、管理することができます。IBM® Event Streams for IBM Cloud® はスケーラブルでマネージドな Apache Kafka サービスで、アプリケーションはメッセージを作成してトピックに送信することでデータを送信できます。 アプリケーションはこれらのトピックをサブスクライブしてメッセージを受信し、リアルタイムのデータ処理と分析を可能にする。

有効化後にストリーミング設定を更新すると、変更は自動的に選択される。 変更が適用されるまで数分かかる。

前提条件

  • IBM® Event Streams for IBM Cloud®インスタンスは、データをストリームする予定のIBM Cloud Logsインスタンスと同じアカウントにプロビジョニングされます。

    サービス・プランの制限事項を確認します。 詳しくは、制限と割り当て量を参照してください。

  • IBM® Event Streams for IBM Cloud®インスタンスにトピックを作成する権限があります。

    Event Streams でトピックを作成するには、 Event Streams インスタンスのマネージャ・ ロールが必要です。 このロールには messagehub.topic.manage このロールには、アプリまたはユーザーがトピックを作成または削除できるようにする IAM アクション・ロールが含まれます。

  • IBM® Cloud Logsインスタンスでストリーミングを設定する権限があります。

    manager サービス・ロールを持つ必要があります。

サービスとサービスの認可を作成する

IBM® Cloud LogsインスタンスからEvent Streamsインスタンスで定義されているトピックにデータを送信するための認証許可は、IBM CloudのIAMでサービス間認証を構成することで行われます。

サービスの認可を設定するには、S2S認可を作成してEvent Streamsサービスと連携する を参照してください。

トピックの作成

IBM® Event Streams for IBM Cloud® インスタンスでは、IBM Cloud Logs インスタンスがデータをストリームするトピックを定義する必要があります。

Event Streams トピックを作成するには、次の手順を実行します:

  1. メニューアイコンメニュー・アイコン > リソース・リストをクリックします。

  2. 使用する予定のEvent Streams・インスタンスを見つけて選択します。

  3. Event Streamsインスタンス・コンソールで、トピックをクリックします。

  4. トピックの作成 ] をクリックします。

  5. トピック名を入力し、**「次へ」**をクリックします。

  6. パーティションの数を入力し、**「次へ」**をクリックします。

    トピックは 1 つ以上のパーティションで構成されます。 パーティションは、メッセージの番号付きリストです。 トピックのスケーラビリティーを高めるために、パーティションは複数のブローカーにわたって分散されます。 また、コンシューマー・グループのメンバー間でメッセージを分散させるためにパーティションを使用することもできます。

  7. メッセージの保持を選択します。

    **「メッセージの保存 (Message retention)」**は、メッセージが削除されるまでの保存期間を定義します。 この期間内にメッセージがコンシューマーによって読み取られない場合、それらは失われます。

  8. トピックの作成 ] をクリックします。

ストリーミングの構成

IBM Cloud Logsインスタンスを構成して、IBM® Event Streams for IBM Cloud®インスタンスのトピックにデータをストリームします。

以下のステップを実行します。

  1. IBM Cloudアカウントにログインする.

  2. IBM Cloud Logsインスタンスにアクセスします

  3. データパイプラインアイコン データパイプラインアイコン > ストリームをクリックします。

  4. + ストリームの追加をクリックします。

  5. ストリームを設定する:

    • ストリーム名には、好きな名前を入力する。

    • ストリームURL には、_ブートストラップ・サーバー_のリストを入力する。 以下の手順でリストを入手する:

      メニューアイコンメニュー・アイコン > リソース・リストをクリックします。

      使用する予定のEvent Streams・インスタンスを見つけて選択します。

      トピックを選択します。 次に、このトピックに接続するをクリックします

      リソースセクションで、提供された_ブートストラップ・サーバー_リストのコピーを作成します。

      connect-to-service-page
      接続ダイアログ

    • トピック名には、IBM® Event Streams for IBM Cloud®トピックの名前を入力します。

    • トピックに送信されるデータを制限するには、送信したいログに一致するクエリを入力します。 例: $m.severity == ERROR

      データ・ルールを定義する方法の詳細については、ストリーミング・データ・ルールを設定する を参照してください。

次の画像はコンフィギュレーションのサンプルです:

add-streams
ストリームの設定例

コンフィギュレーションの検証

ストリーミングを開始する前に、テストログのサンプル行をトピックにストリーミングできることを確認する。

以下のステップを実行します。

  1. Kafka ツールを使用して、IBM® Event Streams for IBM Cloud® インスタンスに安全に接続します。 例えば、Use Kafka ConnectやksqlDB を使うことができる。

  2. サンプルログを送信して接続を確認する。

    サンプルログを送信をクリックして、接続をテストします。 1分以内にコンソールにサンプルのメッセージが表示されるはずだ。

ストリーミングの開始

サンプルログが正常に受信されたことを確認したら、ストリーミング設定をアクティブに設定し、ストリームを作成をクリックします。

設定を有効にすると、ストリーミング設定がストリーミングを開始するまでに数分かかります。

これでIBM® Event Streams for IBM Cloud®は指定されたクエリに従ってメッセージをフィルタリングし、受信するようになります。