ログの取得と保存 - AWS ParallelCluster

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

ログの取得と保存

AWS ParallelCluster は、 HeadNode およびコンピューティングインスタンスとストレージの Amazon EC2 メトリクスを作成します。メトリクスは CloudWatch コンソールのカスタムダッシュボード で表示できます。 は CloudWatch 、ロググループにクラスターログストリーム AWS ParallelCluster も作成します。これらのログは、 CloudWatch コンソールのカスタムダッシュボードまたはロググループ で表示できます。クラスター設定のモニタリングセクションでは、クラスター CloudWatchログとダッシュボードを変更する方法について説明します。詳細については、「Amazon CloudWatch Logs との統合」および「Amazon CloudWatch ダッシュボード」を参照してください。

ログは問題を解決するための有用なリソースです。障害が発生したクラスターを削除する場合は、まずクラスターログのアーカイブを作成すると役立つことがあります。ログのアーカイブ の手順に従ってアーカイブを作成します。

で使用できないクラスターログ CloudWatch

クラスターログが で利用できない場合は CloudWatch、設定にカスタム AWS ParallelCluster CloudWatch ログを追加するときにログ設定が上書きされていないことを確認してください。

CloudWatch 設定にカスタムログを追加するには、フェッチして上書きするのではなく、必ず設定に を追加します。fetch-config および の詳細についてはappend-config、「 ユーザーガイド」の「複数の CloudWatch エージェント設定ファイルCloudWatch 」を参照してください。

AWS ParallelCluster CloudWatch ログ設定を復元するには、 AWS ParallelCluster ノード内で次のコマンドを実行します。

$ PLATFORM="$(ohai platform | jq -r ".[]")" LOG_GROUP_NAME="$(cat /etc/chef/dna.json | jq -r ".cluster.log_group_name")" SCHEDULER="$(cat /etc/chef/dna.json | jq -r ".cluster.scheduler")" NODE_ROLE="$(cat /etc/chef/dna.json | jq -r ".cluster.node_type")" CONFIG_DATA_PATH="/usr/local/etc/cloudwatch_agent_config.json" /opt/parallelcluster/pyenv/versions/cookbook_virtualenv/bin/python /usr/local/bin/write_cloudwatch_agent_json.py --platform $PLATFORM --config $CONFIG_DATA_PATH --log-group $LOG_GROUP_NAME --scheduler $SCHEDULER --node-role $NODE_ROLE /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s

ログのアーカイブ

ログは S3 またはローカルファイルにアーカイブできます (--output-file パラメータに依存します)。

注記

Amazon S3 バケットポリシーにアクセス許可を追加して、 CloudWatch アクセスを許可します。詳細については、「 ログユーザーガイドAmazon S3 バケットに対するアクセス許可の設定」を参照してください。 CloudWatch

$ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs { "url": "https://bucketname.s3.eu-west-1.amazonaws.com/export-log/mycluster-logs-202109071136.tar.gz?..." } # use the --output-file parameter to save the logs locally $ pcluster export-cluster-logs --cluster-name mycluster --region eu-west-1 \ --bucket bucketname --bucket-prefix logs --output-file /tmp/archive.tar.gz { "path": "/tmp/archive.tar.gz" }

アーカイブには、設定または export-cluster-logs コマンドのパラメータで明示的に指定されていない限り、過去 14 日間のヘッドノードとコンピューティングノードからの Amazon CloudWatch Logs ストリームと AWS CloudFormation スタックイベントが含まれます。コマンドが完了するまでにかかる時間は、クラスター内のノード数と Logs で使用可能な CloudWatch ログストリームの数によって異なります。利用できるすべてのログストリームについての詳細は、「Amazon CloudWatch Logs との統合」を参照してください。

保存されたログ

バージョン 3.0.0 以降、クラスターが削除されると、 はデフォルトで CloudWatch ログ AWS ParallelCluster を保持します。クラスターを削除してそのログを保存したい場合は、クラスター設定で Monitoring/Logs/CloudWatch/DeletionPolicyDelete に設定されていないことを確認してください。そうでない場合は、このフィールドの値を Retain に変更して pcluster update-cluster コマンドを実行します。次に、 pcluster delete-cluster --cluster-name <cluster_name>を実行してクラスターを削除しますが、Amazon に保存されているロググループは保持します CloudWatch。

終了したノードログ

静的コンピューティングノード CloudWatch が予期せず終了し、ログがない場合は、 AWS ParallelCluster がそのコンピューティングノードのコンソール出力をヘッドノードに/var/log/parallelcluster/compute_console_outputログに記録しているかどうかを確認します。詳細については、「デバッグ用のキーログ」を参照してください。

/var/log/parallelcluster/compute_console_output ログが利用できない場合、またはノードの出力が含まれていない場合は、 を使用して、障害が発生したノードからコンソール出力 AWS CLI を取得します。クラスターヘッドノードにログインし、障害が発生したノード instance-id/var/log/parallelcluster/slurm_resume.log ファイルから取得します。

コンソール出力を取得するには、次のコマンドを instance-id と共に使用します。

$ aws ec2 get-console-output --instance-id i-abcdef01234567890

動的コンピューティングノードが起動後に自己終了し、ログ CloudWatch がない場合は、クラスタースケーリングアクションをアクティブ化するジョブを送信します。インスタンスに障害が発生するのを待ち、インスタンスコンソールログを取得します。

クラスターヘッドノードにログインし、/var/log/parallelcluster/slurm_resume.log ファイルからコンピューティングノード instance-id を取得します。

インスタンスコンソールログを取得するには、次のコマンドを使用します。

$ aws ec2 get-console-output --instance-id i-abcdef01234567890

コンソール出力ログは、コンピューティングノードログが利用できない場合にコンピューティングノード障害の根本原因をデバッグするのに役立ちます。