View a markdown version of this page

ワークフロー実行のモニタリング - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ワークフロー実行のモニタリング

Amazon CloudWatch は、 AWS クラウド で実行している AWS リソースとアプリケーションをリアルタイムでモニタリングします。Amazon CloudWatch を使って、ワークフローを測定できる変数であるメトリクスを収集し、追跡できます。Amazon CloudWatch を使用してワークフローメトリックスと統合ログを表示できます。

ワークフローの CloudWatch ログ記録

CloudWatch は、ワークフローの進行状況と結果に関する統合監査とログ記録を提供します。

AWS Transfer Family には、マネージドワークフロー実行ログを Amazon CloudWatch に配信する 2 つの方法があります。

  • 指定したロググループ (構造化ログの送信先) – CloudWatch Logs ロググループをワークフローの構造化ログの送信先として指定し、Transfer Family はそのロググループにワークフロー実行ログを配信します。このオプションは、ログ記録ロールを必要としません。これを使用するには、ワークフローを作成するときに、 StructuredLogDestinationsパラメータでロググループの Amazon リソースネーム (ARN) を指定します ( AWS Transfer Family API リファレンスの StructuredLogDestinations を参照)。ロググループは、ワークフローと同じ AWS アカウント および AWS リージョン に存在する必要があります。

    構造化ログの送信先を設定するには、ワークフローを作成するプリンシパルの IAM ポリシーに次のアクセス許可が含まれている必要があります。

    • logs:CreateLogDelivery

    • logs:DeleteLogDelivery

    • logs:DescribeLogGroups

    • logs:DescribeResourcePolicies

    • logs:GetLogDelivery

    • logs:ListLogDeliveries

    • logs:PutResourcePolicy

    • logs:UpdateLogDelivery

  • ログ記録ロール – ワークフローがアタッチされているサーバーに IAM ログ記録ロールをアタッチします。Transfer Family は、ワークフロー実行ログを という名前のロググループに書き込むロールを引き受けます/aws/transfer/server-id。詳細については、「CloudWatch ログ記録ロールを設定する」を参照してください。

どちらのメカニズムも、同じワークフロー実行ログコンテンツを同じ JSON 形式で書き込みます。違いは、ログが配信される場合のみです。指定したロググループ、またはログ記録ロールを使用してサーバー上の/aws/transfer/server-idロググループに配信されます。

ワークフローの Amazon CloudWatch Logs を表示する
  1. https://console.aws.amazon.com/cloudwatch/ で Amazon CloudWatch コンソールを開きます。

  2. 左側のナビゲーションペインで、「ログ」を選択し、「ロググループ」を選択します。

  3. ロググループページのナビゲーションバーで、 AWS Transfer Family サーバーに適したリージョンを選択します。

  4. ワークフローログを含むロググループを選択します。

    • ワークフローが構造化ログの送信先を使用している場合は、ワークフローの StructuredLogDestinationsパラメータで ARN を指定したロググループを選択します。

    • ワークフローがサーバーでログ記録ロールを使用している場合は、サーバーに対応するロググループを選択します。例えば、サーバー ID が s-1234567890abcdef0 であれば、ロググループは /aws/transfer/s-1234567890abcdef0 です。

  5. ロググループの詳細ページには、最新のログストリームが表示されます。ワークフローのログストリーム名は、ワークフローが使用するログ記録メカニズムによって異なります。

    • 構造化ログの送信先の場合、ワークフローログストリームの名前は ですworkflowID/executionID。例えば、次のようになります。

      w-abcdef01234567890/021345abcdef6789
    • ログ記録ロールの場合、サーバーロググループには、調査するユーザーの 2 つのログストリームが含まれます。1 つは Secure Shell (SSH) ファイル転送プロトコル (SFTP) セッションごとに、もう 1 つは実行中のワークフロー用です。ワークフローログストリームの形式は ですusername.workflowID.uniqueStreamSuffix。

    例えば、ユーザーが mary-major である場合、以下のようなログストリームがある:

    mary-major-east.1234567890abcdef0 mary.w-abcdef01234567890.021345abcdef6789
    注記

    この例に挙げた 16 桁の英数字の識別子は架空のものです。Amazon CloudWatch に表示される値は異なります。

ワークフローログストリームのログイベントページには、ワークフロー実行の詳細が含まれています。ワークフローがログ記録ロールを使用する場合、mary-major-usa-east.1234567890abcdef0ストリームには各ユーザーセッションの詳細が表示され、mary.w-abcdef01234567890.021345abcdef6789ストリームにはワークフローの詳細が含まれます。ワークフローが構造化ログの送信先を使用している場合、w-abcdef01234567890/021345abcdef6789ストリームにはワークフローの詳細が含まれます。

以下は、コピーステップを含むワークフロー(w-abcdef01234567890)に基づく、mary.w-abcdef01234567890.021345abcdef6789 のログストリームのサンプルです。

{ "type": "ExecutionStarted", "details": { "input": { "initialFileLocation": { "bucket": "amzn-s3-demo-bucket", "key": "mary/workflowSteps2.json", "versionId": "version-id", "etag": "etag-id" } } }, "workflowId":"w-abcdef01234567890", "executionId":"execution-id", "transferDetails": { "serverId":"s-server-id", "username":"mary", "sessionId":"session-id" } }, { "type":"StepStarted", "details": { "input": { "fileLocation": { "backingStore":"S3", "bucket":"amzn-s3-demo-bucket", "key":"mary/workflowSteps2.json", "versionId":"version-id", "etag":"etag-id" } }, "stepType":"COPY", "stepName":"copyToShared" }, "workflowId":"w-abcdef01234567890", "executionId":"execution-id", "transferDetails": { "serverId":"s-server-id", "username":"mary", "sessionId":"session-id" } }, { "type":"StepCompleted", "details":{ "output":{}, "stepType":"COPY", "stepName":"copyToShared" }, "workflowId":"w-abcdef01234567890", "executionId":"execution-id", "transferDetails":{ "serverId":"server-id", "username":"mary", "sessionId":"session-id" } }, { "type":"ExecutionCompleted", "details": {}, "workflowId":"w-abcdef01234567890", "executionId":"execution-id", "transferDetails":{ "serverId":"s-server-id", "username":"mary", "sessionId":"session-id" } }

ワークフローの CloudWatch メトリクス

AWS Transfer Family には、ワークフローの複数のメトリクスが用意されています。過去 1 分間に開始された、正常に完了した、失敗したワークフロー実行の数を示す指標を表示できます。Transfer Family の CloudWatch メトリクスについては、Transfer Family サーバーの CloudWatch メトリクスの使用で説明しています。