メイン コンテンツをスキップする 補完的コンテンツへスキップ

定期的に実行ログをフェッチして分析

/monitoring/executions/{runId}/logsエンドポイントと/monitoring/executions/{runId}/logs/statusエンドポイントを使って、特定期間の実行ログをフェッチします。

  • /monitoring/executions/{runId}/logsPOSTメソッドを使って、特定期間のフルログとそのログにアクセスするためのトークンを生成します。このトークンの有効期限は生成から1時間です。

    ログの完全性を確保できるよう、ログが必要な実行が完了したかどうかチェックし、APIコールを送信する前に30秒間待ちます。

  • /monitoring/executions/{runId}/logs/statusPOSTメソッドを使って、このログがダウンロード可能かどうかをチェックしてダウンロードURLを生成します。

始める前に

  • TMCトークンを生成:

    生成されたサービスアカウントトークンは30分後に期限切れになります。期限切れになった場合は、エンドポイントhttps://api.<env>.cloud.talend.com/security/oauth/tokenPOSTメソッドを使って新しいトークンを生成します。トークンの生成に関する詳細は、サービスアカウントトークンを生成をご覧ください。

  • 使用するユーザーまたはサービスアカウントが監視するタスクが属するワークスペースで、[Author] (作成者)[Viewer] (ビューアー)[Executor] (エグゼキューター)の各権限を持っていること。
  • 監視が必要なタスク実行のIDがあること。

    このIDは、[Task execution log] (タスク実行ログ)ページの[Task execution ID] (タスク実行ID)が相当します。このIDはまた、/processing/executables/tasks/{taskId}/executionsエンドポイントのGETコールを使って取得することもできます。

このタスクについて

この例では、Talend API Testerを使ってAPIリクエストを発行します。Talend API Testerの詳細は、Talend Cloud API Testerユーザーガイドをご覧ください。

手順

  1. ブラウザーでTalend API Testerを開き、[Method] (メソッド)リストでPOSTを選択します。
  2. [Method] (メソッド)ドロップダウンリストの横にあるフィールドに、使用するエンドポイントとしてhttps://api.<env>.cloud.talend.com/monitoring/executions/<runId>/logsと入力します。
  3. [Add query parameter] (クエリーパラメーターを追加)ボタンをクリックし、startTimeパラメーターとendTimeパラメーターを追加します。これらのパラメーターによって、ログの特定の時間範囲にクエリーを限定できるようになります。
    日付値は次の形式であることが必要です。
    yyyy-mm-ddThh:mm:ssZ
    たとえば、2021-09-01T07:01:45Zとなります。
  4. オプション: 生成するログファイルの形式を指定する場合は、fileFormatパラメーターを追加します。
    利用可能な形式は次のとおりです。
    • json

      これはデフォルトの形式でもあります。

    • text

      これは人が読める形式です。

  5. オプション: 生成するログのファイル名にタスクIDや実行IDを含める必要があるかどうかを示す場合は、newFileNameパラメーターを追加します。
    これはブール型パラメーターです。これらのIDを含める場合はtrueを、古いファイル名の形式を使う場合はfalseを入力します。古いファイル名の形式は非推奨となるため、この値をtrueに設定することをお勧めします。
  6. [HEADERS] (ヘッダー)エリアで[Add header] (ヘッダーを追加)をクリックし、表示される[name] (名前)フィールドにAuthorizationを、[value] (値)フィールドにBearerとパーソナルアクセストークンまたはサービスアカウントアクセストークンをそれぞれ入力します。Bearerとトークンの間に空白を入力して区切ります。
  7. ログが必要な実行が終了したかどうか確認します。
  8. 30秒以上待ちます。
    この実行の終了時刻が30秒以上前の場合は、このステップをスキップしてください。
  9. [Send] (送信)をクリックしてリクエストを送信します。
    レスポンスには、生成されたフルログのサイズとそれにアクセスするためのトークンが含まれています。例:
    {
    "size": the_full_log_size,
    "token": "the_generated_token"
    }
  10. [Save] (保存)ボタンをクリックし、Talend API Testerの自分のリポジトリーにこのリクエストを保存します。リクエストを保存する時は名前が必要です。この例でのリクエスト名はgenerate-full-log-and-tokenです。
  11. Talend API Testerで新しいリクエストを作成してPOSTコールを発行します。
  12. [Method] (メソッド)リストでPOSTを選択します。
  13. [Method] (メソッド)ドロップダウンリストの横にあるフィールドに、使用するエンドポイントとしてhttps://api.<env>.cloud.talend.com/monitoring/executions/<runId>/logs/statusと入力します。
  14. [Body] (ボディ)フィールドに、前回のリクエストで取得したワンタイムトークンを入力します。

    Talend API Testerで静的トークンの代わりに式ビルダーを使って式を入力すると、前回のリクエストで生成された最新のトークンを動的に取得できます。なお、このリクエストはTalend API Testerのリポジトリーに保存されていることが必要です。この例ではgenerate-full-log-and-tokenが保存済みリクエストです。
    Talend Cloud API Testerで、保存済みリクエストがボディに表示されている状態。

    式ビルダーは次のようになります:式ビルダー。

  15. [Send] (送信)をクリックしてリクエストを送信します。
    レスポンスには、生成されたフルログのダウンロードURLと、このログがダウンロード可能かどうかのステータスが含まれています。

    ステータスでログがREADYではない表示された場合は、このコールを再発行します。ログの準備ができたら、返されるURLを使ってそのログをダウンロードします。

    例:
    {
    "presignedURL": "URL_to_download_logs",
    "status": "READY"
    }

タスクの結果

自分の監視システムにこれらのAPIリクエストを統合することで、指定された時間範囲のフルログを定期的に生成およびダウンロードして分析できるようになります。

デモンストレーションのため、このシナリオで使用される実行は1つのみです。タスクの実行をすべて分析したい場合は、次のエンドポイントでGETメソッドを使用し、その実行のIDを取得します。
 https://api.<env>.cloud.talend.com/processing/executables/tasks/{taskId}/executions

次に、各IDを/monitoring/executions/{runId}/logsエンドポイントと/monitoring/executions/{runId}/logs/statusエンドポイントに動的に渡し、使用するログを準備します。

最終的には、Talendジョブなどのプログラムを開発し、自分の監視システムでプロセス全体を自動化できるようになります。

tRESTClient、tExtractJSONFields、tFlowToIterate、tRunJobの各コンポーネントを伴うジョブ。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。