擷取和保留記錄 - AWS ParallelCluster

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

擷取和保留記錄

AWS ParallelCluster 為 HeadNode 和運算執行個體和儲存建立 Amazon EC2 指標。您可以在 CloudWatch 主控台「自訂儀表板」中檢視指標。 AWS ParallelCluster 也會在 CloudWatch 記錄群組中建立叢集記錄串流。您可以在 CloudWatch 主控台「自訂儀表板」或「記錄」群組中檢視這些記錄監督叢集組態段落說明如何修改叢集 CloudWatch日誌和儀表板。如需詳細資訊,請參閱 與 Amazon Amazon Amazon CloudWatch 的整合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

封存記錄

您可以將日誌存檔在 Amazon S3 或本機檔案中 (視--output-file參數而定)。

注意

將許可新增至 Amazon S3 儲存貯體政策以授予 CloudWatch 存取權。如需詳細資訊,請參閱CloudWatch 日誌使用者指南中的在 Amazon S3 儲存貯體上設定許可。

$ 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 堆疊事件。命令完成所需的時間取決於叢集中的節點數目以及 CloudWatch 記錄檔中可用的記錄串流數目。如需有關可用記錄資料流的詳細資訊,請參閱與 Amazon Amazon Amazon CloudWatch 的整合

保留的記錄

從版本 3.0.0 開始,刪除叢集時,預設 AWS ParallelCluster 會保留 CloudWatch 記錄檔。如果您想要刪除叢集並保留其記錄,請確定叢集配置DeleteDeletionPolicy未將 MonitoringLogsCloudWatch///設定為。否則,請將此欄位的值變更為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 有記錄檔,請提交啟動叢集擴展動作的工作。等待執行個體失敗,並擷取執行個體主控台記錄。

登入叢集頭節點並instance-id/var/log/parallelcluster/slurm_resume.log檔案取得計算節點。

使用下列命令擷取執行個體主控台記錄檔:

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

當運算節點記錄檔無法使用時,主控台輸出記錄檔可協助您偵錯運算節點失敗的根本原因。