

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `pcluster export-cluster-logs`
<a name="pcluster.export-cluster-logs-v3"></a>

通过 Amazon S3 存储桶，将集群的日志导出到本地 `tar.gz` 存档。

```
pcluster export-cluster-logs [-h]
                 --cluster-name CLUSTER_NAME
                [--bucket BUCKET_NAME]
                [--bucket-prefix BUCKET_PREFIX]
                [--debug]
                [--end-time END_TIME]
                [--filters FILTER [FILTER ...]]
                [--keep-s3-objects KEEP_S3_OBJECTS]
                [--output-file OUTPUT_FILE]
                [--region REGION]
                [--start-time START_TIME]
```

**注意**  
该`export-cluster-logs`命令会等待 CloudWatch Logs 完成日志的导出，因此预计会有一段时间没有任何输出。

## 命名的参数
<a name="pcluster-v3.export-cluster-logs.namedargs"></a>

**-h, --help**  
显示 `pcluster export-cluster-logs` 的帮助文本。

**--bucket *BUCKET\$1NAME***  
指定要将集群日志数据导出到的 Amazon S3 存储桶的名称。它必须与集群位于相同的区域。  
+ 您必须向 Amazon S3 存储桶策略添加权限才能授予 CloudWatch 访问权限。有关更多信息，请参阅*CloudWatch 日志用户指南*中的对 [Amazon S3 存储桶设置权限](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3ExportTasks.html#S3Permissions)。
+ **从 **3.12.0 AWS ParallelCluster ** 版开始，该`--bucket`选项是可选的。**如果未指定该选项，则要么使用 AWS ParallelCluster 区域默认存储桶 (`parallelcluster-hash-v1-DO-NOT-DELETE`)，要么如果在集群配置中指定了指向`CustomS3Bucket`的 Amazon S3 存储桶，则将使用该存储桶。如果您未指定该`--bucket`选项而使用默认 AWS ParallelCluster 存储桶，则无法将日志导出到该`parallelcluster/`文件夹，因为该文件夹是保留给内部使用的受保护文件夹。
如果使用 AWS ParallelCluster 默认存储桶，pcluster 将负责配置存储桶策略。如果您自定义了存储桶策略，然后升级到 AWS ParallelCluster 版本 **3.12.0**，则存储桶策略将被覆盖，您将需要重新应用更改。

**--cluster-name, -n *CLUSTER\$1NAME***  
指定集群的名称。

**--bucket-prefix *BUCKET\$1PREFIX***  
指定导出的日志数据在 Amazon S3 存储桶中的存储位置的路径。  
默认情况下，存储桶前缀为：  

```
cluster-name-logs-202209061743.tar.gz
```
`202209061743`是时间`%Y%m%d%H%M`格式的示例。  
从 AWS ParallelCluster 版本 **3.12.0** 开始，如果您未指定该`--bucket`选项并使用默认 AWS ParallelCluster 存储桶，则无法将日志导出到该`parallelcluster/`文件夹，因为它是保留供内部使用的受保护文件夹。

**--debug**  
启用调试日志记录。

**--end-time *END\$1TIME***  
指定用于收集日志事件的时间范围的结束时间，以 ISO 8601 格式（`YYYY-MM-DDThh:mm:ssZ`，例如 `2021-01-01T20:00:00Z`）表示。不包括时间戳等于或晚于该时间的事件。可以省略时间元素（例如分和秒）。默认值为当前时间。

**--filters *FILTER* [*FILTER* ...]**  
为日志指定筛选器。格式：`Name=a,Values=1 Name=b,Values=2,3`。支持的筛选器为：    
`private-dns-name`  
指定实例私有 DNS 名称的短格式（例如 `ip-10-0-0-101`）。  
`node-type`  
指定节点类型，此筛选器唯一接受的值是 `HeadNode`。

**--keep-s3-objects *KEEP\$1S3\$1OBJECTS***  
如果为 `true`，则会保留导出到 Amazon S3 的导出对象。（默认值为 `false`。）

**--output-file *OUTPUT\$1FILE***  
指定要将日志存档保存到的文件路径。如果提供此参数，则在本地保存日志。否则会通过输出中返回的 URL 将日志上传到 Amazon S3。默认为上传到 Amazon S3。

**--region, -r *REGION***  
指定 AWS 区域 要使用的。 AWS 区域 必须使用`AWS_DEFAULT_REGION`环境变量、`~/.aws/config`文件`[default]`部分中的`region`设置或`--region`参数来指定。

**--start-time *START\$1TIME***  
指定时间范围的开始时间，以 ISO 8601 格式（`YYYY-MM-DDThh:mm:ssZ`，例如 `2021-01-01T20:00:00Z`）表示。包括时间戳等于或晚于该时间的日志事件。如果未指定，则默认为集群的创建时间。

**使用 AWS ParallelCluster 版本 3.1.4 的示例：**

```
$ pcluster export-cluster-logs --bucket cluster-v3-bucket -n cluster-v3
{
  "url": "https://cluster-v3-bucket..."
}
```

## 无法检索日志？
<a name="pcluster-v3.export-cluster-logs.retrieve-logs"></a>

如果您无法使用`export-cluster-logs`命令检索日志，请执行以下操作之一：
+ 从集群的 CloudWatch 日志组中手动检索日志。
+ 如果日志组为空，请通过 SSH 进入群集节点并检索中列出的日志[排查节点初始化问题](troubleshooting-v3-scaling-issues.md#troubleshooting-v3-node-init)。
+ 如果由于集群创建失败而无法访问群集节点，则使用选项重新创建集群`--rollback-on-failure false`并从节点检索日志。