

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

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

**--cluster-name, -n {{CLUSTER\_NAME}}**  
指定集群的名称。

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

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

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

**--end-time {{END\_TIME}}**  
指定用于收集日志事件的时间范围的结束时间，以 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\_S3\_OBJECTS}}**  
如果为 `true`，则会保留导出到 Amazon S3 的导出对象。（默认值为 `false`。）

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

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

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

**使用 Amazon 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`并从节点检索日志。