ログをIBM CloudLogsに転送する

プラットフォームログは、IBM Cloudプラットフォーム上の様々なサービスによってユーザに公開されるログです。IBM Analytics Engineは、IBM Analytics Engineサービスから、プラットフォームログの受信を有効にしたIBM CloudLogsインスタンスへのログの転送をサポートしています。

  • プラットフォーム・ログはリージョンごとのものです。

    サービスが使用可能な地域のIBM Cloud上のIBM Analytics Engineからログをモニターできます。

  • その場所のプラットフォームログを収集するために、IBM CloudLogsのインスタンスは1リージョン、1IBM Cloudアカウントにつき1つだけ構成できます。

    1つの場所に複数のIBM CloudLogsインスタンスを持つことができます。 ただし、ロケーション(リージョン)内の1つのインスタンスのみを構成し、IBM CloudロケーションのIBM Analytics EngineなどのIBM Cloudサービスからログを受信できます。

    また、あるアカウントに属するIBM Analytics Engineインスタンスによって生成されたログは、同じIBM Cloudアカウントに属するIBM CloudLogsインスタンスに転送されます。

プラットフォーム・ログを受信するように構成されているIBM CloudLogs サービスを確認するには、Observability ダッシュボード を参照してください。

プラットフォーム・ロギングを有効にする前提条件

IBM Analytics Engineプラットフォーム・ログを表示するには、IBM Cloudのプログラム識別情報ダッシュボードを使用して、プラットフォーム・ロギングを構成する必要があります。 「プログラム識別情報」ダッシュボードでロギングを有効にするために実行する必要がある手順については、 「プログラム識別情報ダッシュボードを使用したプラットフォーム・ログの構成」 を参照してください。

ロギング API

「プログラム識別情報」ダッシュボードでプラットフォーム・ロギングを有効にした後、以下のセクションの手順に従って、API エンドポイントを使用してロギングを有効にする方法、ロギングを無効にする方法、およびロギング構成を表示する方法について学習します。

ロギング API 呼び出しには、サービス・インスタンスの GUID が必要です。 GUIDをメモしていない場合は、サーバーレス・インスタンスのGUIDの取得を参照してください。

現在、以下の 2 つのロギング API エンドポイントが公開されています。

  • log_forwarding_config
  • logging。 この API エンドポイントは推奨されておらず、まもなく廃止されます。 このエンドポイントを使用できますが、 log_forwarding_config エンドポイントの使用を開始する必要があります。

IBM Analytics Engineからのログ転送の有効化

IBM CloudLogsへのIBM Analytics Engineプラットフォーム・ログの転送を有効にするには、既存のAnalytics Engineインスタンスに対して以下のAPIを呼び出します。

ログの転送を有効にするには、以下の 2 つの方法を使用できます。

  • デフォルト: この場合、ログ転送を有効にするための要求のみを書き込み、デフォルトのログ・ソース (spark-driver) に関連するログの転送が開始されます。 これは、以下のいずれかの方法で行うことができます。

    • log_forwarding_config API エンドポイントを使用する場合:
      curl -X PUT https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/log_forwarding_config -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d '{"enabled":true}'
      
    • logging API エンドポイントを使用する場合 (非推奨):
      curl -X PUT https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/logging -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d '{"enable":true}
      
  • カスタマイズ済み: このオプションを使用すると、ログ転送構成をより詳細に制御できます。 例えば、転送したいログのソースを指定することができます。 また、ログにいくつかのタグを関連付けることもでき、後でIBM CloudLogs で検索キーワードとして使用し、該当するログを絞り込むことができます。 これは、以下のいずれかの方法で行うことができます。

    • log_forwarding_config API エンドポイントを使用する場合:
      curl -X PUT https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/log_forwarding_config -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d ' {"enabled":true,"sources": ["spark-driver", "spark-executor"],"tags": ["<tag_1>", "<tag_2>",...]} '
      
    • logging API エンドポイントを使用する場合 (非推奨):
      curl -X PUT https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/logging -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d ' {"enable":true,"components": ["spark-driver", "spark-executor"],"tags": ["<tag_1>", "<tag_2>",...]} '
      

IBM Analytics Engineからのプラットフォーム・ロギングの無効化

以下のいずれかの方法で、IBM CloudLogsへのIBM Analytics Engineプラットフォーム・ログの転送を無効にします。

  • log_forwarding_config API エンドポイントを使用する場合:

    curl -X PATCH https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/log_forwarding_config -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d '{"enabled":false}'
    
  • logging API エンドポイントを使用する場合 (非推奨):

    curl -X PATCH https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/logging -H "Authorization: Bearer $TOKEN" -H "content-type: application/json" -d '{"enable":false}'
    

IBM Analytics Engine インスタンスのログ転送構成の表示

以下のいずれかの方法で、 IBM Analytics Engine インスタンスの現在のロギング構成を表示します。

  • log_forwarding_config API エンドポイントを使用する場合:

    curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/log_forwarding_config -H "Authorization: Bearer $TOKEN"
    
  • logging API エンドポイントを使用する場合 (非推奨):

    curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_guid>/logging -H "Authorization: Bearer $TOKEN"
    

IBM CloudLogs ダッシュボードでのIBM Analytics Engineログ検索の例

以下のようにして、 IBM Analytics Engine に関連するプラットフォーム・ログの検索を絞り込むことができます。

  1. IBM CloudLogsダッシュボードの「Sources」をクリックし、「ibmanalyticsengine」を選択してIBM Analytics Engineからログを取得します。
  2. 検索をさらに絞り込むために、検索ウィンドウで Spark アプリケーションに関連する任意のキーワードを入力して検索することができます。

検索の例

このセクションでは、ログの検索方法の例をリストします。 これらの例ではすべて、以下のサンプル値を使用しています。

  • IBM Analytics EngineインスタンスID: '4308f7a6-2cfd-4d7e-b7a7-678e71a27957
  • Spark アプリケーション ID: 5438585f-6413-4bb2-9251-8162d34f3dc3
  • ログ転送が有効になっているソース: spark-driver および spark-executor
  • 関連タグ: prod および us-south

次の画像は、IBM CloudLogs ダッシュボードで返される検索結果の例です。 イメージの下部に、検索照会を入力する検索入力フィールドが表示されます。 この例では、アプリケーション ID 5438585f-6413-4bb2-9251-8162d34f3dc3 とソース spark-driver が入力されています。

検索の例:

  • 特定の IBM Analytics Engine インスタンスでサブミットされたすべての Spark アプリケーションのログを取得するには、検索ウィンドウでインスタンス ID を渡します。

    4308f7a6-2cfd-4d7e-b7a7-678e71a27957
    
  • 特定の Spark アプリケーションのログをフェッチするために、以下を渡すことができます。

    • IBM Analytics Engine のインスタンス ID と Spark アプリケーション ID を組み合わせたもの。
      4308f7a6-2cfd-4d7e-b7a7-678e71a27957 5438585f-6413-4bb2-9251-8162d34f3dc3
      
    • アプリケーション ID のみ:
      5438585f-6413-4bb2-9251-8162d34f3dc3
      
  • アプリケーションの Spark マスター・ログを検索するために、以下を渡すことができます。

    • 以下のように、 IBM Analytics Engine インスタンス ID、Spark アプリケーション ID、およびキーワード spark-driver の組み合わせ。
      4308f7a6-2cfd-4d7e-b7a7-678e71a27957 5438585f-6413-4bb2-9251-8162d34f3dc3 spark-driver
      
    • アプリケーション ID とキーワード spark-driver の組み合わせは、以下のとおりです。
      5438585f-6413-4bb2-9251-8162d34f3dc3 spark-driver
      
  • 複数のログ・ソース名で検索するには、以下を渡すことができます。

    • 以下のように、 IBM Analytics Engine インスタンス ID、Spark アプリケーション ID、およびソース名の組み合わせ。
      4308f7a6-2cfd-4d7e-b7a7-678e71a27957 5438585f-6413-4bb2-9251-8162d34f3dc3 (spark-driver OR spark-executor-2)
      
    • アプリケーション ID とログ・ソース名の組み合わせは、以下のとおりです。
      5438585f-6413-4bb2-9251-8162d34f3dc3 (spark-driver OR spark-executor-2)
      
  • us-south 領域および prod 環境内の特定のインスタンスで実行されているすべてのアプリケーションに関連するログを取得するには、検索フィールドに以下を入力します。

    4308f7a6-2cfd-4d7e-b7a7-678e71a27957 "prod us-south"