定期的に実行ログを取得して分析 - Cloud

Talend Cloud APIユーザーガイド

Version
Cloud
Language
日本語 (日本)
Product
Talend Cloud
Module
Talend API Designer
Talend API Tester
Talend Data Preparation
Talend Data Stewardship
Talend Management Console
Content
ジョブデザインと開発 > Designing APIs
ジョブデザインと開発 > Testing APIs

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

  • /executions/{runId}/logsPOSTメソッドを使い、特定期間のフルログとそのログにアクセスするためのトークンを生成します。このトークンの有効期限は生成から1時間です。
  • /executions/{runId}/logs/statusPOSTメソッドを使い、このログがダウンロード可能かどうかをチェックしてダウンロードURLを生成します。

始める前に

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

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

このタスクについて

Management Console APIにはhttps://api.us.cloud.talend.com/tmc/swagger/swagger-ui.html経由でアクセスできます。各データセンターに該当するURLのリストは、Talend CloudのリージョンとURLで確認できます。

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

手順

  1. パーソナルアクセストークンがまだない場合は、Talend Cloud Management Console[Users] (ユーザー)ページで自分のアカウント用にパーソナルアクセストークンを生成します。
  2. ブラウザーでTalend API Testerを開き、[Method] (メソッド) リストで[POST]を選択します。
  3. [Method] (メソッド)ドロップダウンリストの横にあるフィールドに、使用するエンドポイントをhttps://api.<your_environment>.cloud.talend.com/tmc/v2.5/executions/<runId>/logsという形式で入力します。
  4. [Add query parameter] (クエリーパラメーターを追加)ボタンをクリックし、startTimeパラメーターとendTimeパラメーターを追加します。これらのパラメーターによって、ログの特定の時間範囲にクエリーを限定できるようになります。
    日付値は次の形式であることが必要です。
    yyyy-mm-ddThh:mm:ssZ
    たとえば、2021-09-01T07:01:45Zとなります。
  5. [HEADERS] (ヘッダー)エリアで[Add header] (ヘッダーを追加)をクリックし、表示される[name] (名前)フィールドにAuthorizationを、[value] (値)フィールドにBearerとパーソナルアクセストークンをそれぞれ入力します。Bearerとパーソナルアクセストークンは空白で区切ります。
  6. [Send] (送信)をクリックしてリクエストを送信します。
    レスポンスには、生成されたフルログのサイズとそれにアクセスするためのトークンが含まれています。例:
    {
    "size": the_full_log_size,
    "token": "the_generated_token"
    }
  7. [Save] (保存)ボタンをクリックし、Talend API Testerの自分のリポジトリーにこのリクエストを保存します。リクエストを保存する時は名前が必要です。この例でのリクエスト名はgenerate-full-log-and-tokenです。
  8. Talend API Testerで新しいリクエストを作成してPOST呼び出しを発行します。
  9. [Method] (メソッド)リストでPOSTを選択します。
  10. [Method] (メソッド)ドロップダウンリストの横にあるフィールドに、使用するエンドポイントをhttps://api.<your_environment>.cloud.talend.com/tmc/v2.5/executions/<runId>/logsとして入力します。
  11. [Body] (ボディ)フィールドに、前回のリクエストで取得したワンタイムトークンを入力します。

    例え

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

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

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

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

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

タスクの結果

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

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

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

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