

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

# 创建、更新和查看服务器的日志记录
为服务器创建日志

对于所有 Amazon Transfer Family 服务器，我们都提供结构化日志记录。我们建议您对所有新的和现有的 Transfer Family 服务器使用结构化日志记录。使用结构化日志的好处包括以下几点：
+ 接收结构化 JSON 格式的日志。
+ 使用 Amazon Logs Insights 查询您的 CloudWatch 日志，它会自动发现 JSON 格式的字段。
+ 跨 Amazon Transfer Family 资源共享日志组允许您将来自多个服务器的日志流合并到一个日志组中，从而更轻松地管理监控配置和日志保留设置。
+ 创建可添加到 CloudWatch仪表板的聚合指标和可视化效果。
+ 使用日志组创建整合的日志指标、可视化效果和控制面板，从而跟踪使用情况和性能数据。

要为连接到服务器的工作流程启用日志记录，必须使用日志记录角色。

**注意**  
添加日志记录角色时，日志组始终处于状态`/aws/transfer/your-serverID`，并且无法更改。这意味着，除非您将结构化服务器日志发送到同一个组，否则您将登录到两个不同的日志组。  
如果您知道要将工作流程与服务器关联，因此需要添加日志记录角色，则可以设置结构化日志记录以记录到默认日志组`/aws/transfer/your-serverID`。  
要修改您的日志组，请参阅 *Amazon Transfer Family API 参考[StructuredLogDestinations](https://docs.amazonaws.cn/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations)*中的。

如果使用 Transfer Family 控制台创建新的服务器，将默认启用日志记录。创建服务器后，您可以使用 `UpdateServer` API 操作来更改日志配置。有关更多信息，请参阅 [StructuredLogDestinations](https://docs.amazonaws.cn/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations)。

目前，对于工作流程，如果要启用日志记录，则必须指定日志记录角色：
+ 如果您使用`CreateServer`或 `UpdateServer` API 操作将工作流与服务器关联，则系统不会自动创建日志记录角色。如果要记录工作流程事件，则需要将日志记录角色显式附加到服务器。
+ 如果您使用 Transfer Family 控制台创建服务器并附加工作流程，则日志将发送到名称中包含服务器 ID 的日志组。格式为 `/aws/transfer/server-id`，例如 `/aws/transfer/s-1111aaaa2222bbbb3`。服务器日志可以发送到同一个日志组或另一个日志组。

**在控制台中创建和编辑服务器的日志记录注意事项**
+ 除非将工作流程附加到服务器，否则通过控制台创建的新服务器仅支持结构化 JSON 日志记录。
+ *无日志记录*不是您在控制台中创建的新服务器的选项。
+ 现有服务器可以随时通过控制台启用结构化 JSON 日志记录。
+ 通过控制台启用结构化 JSON 日志记录会禁用现有的日志记录方法，以免向客户重复收费。如果将工作流程附加到服务器，则例外。
+ 如果启用结构化 JSON 日志记录，则以后无法通过控制台将其禁用。
+ 如果启用结构化 JSON 日志记录，则可以随时通过控制台更改日志组目标。
+ 如果启用结构化 JSON 日志记录，则如果通过 API 启用了两种日志记录类型，则无法通过控制台编辑日志记录角色。如果服务器已附加工作流程，则例外。但是，日志记录角色会继续出现在**其他详细信息**中。

**使用 API 或 SDK 创建和编辑服务器的日志记录注意事项**
+ 如果您通过 API 创建新服务器，则可以配置其中一种或两种类型的日志记录，或者选择不记录日志。
+ 对于现有服务器，可以随时启用和禁用结构化 JSON 日志记录。
+ 您可以随时通过 API 更改日志组。
+ 您可以随时通过 API 更改日志记录角色。

**若要启用结构化日志记录，您必须登录到具有以下权限的账户**
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

该部分提供了策略示例[配置 CloudWatch 日志记录角色](configure-cw-logging-role.md)。

**Topics**
+ [

## 为服务器创建日志
](#log-server-create)
+ [

## 更新服务器的日志记录
](#log-server-update)
+ [

## 查看服务器配置
](#log-server-config)

## 为服务器创建日志


创建新服务器时，可以在**配置其他详细信息**页面上指定现有日志组或创建新日志组。

![\[在创建服务器向导中配置其他详细信息的日志记录窗格。选择“选择现有日志组”。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-choose-existing-group.png)


如果选择**创建日志组**，则 CloudWatch 控制台 ([https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)) 将打开**创建日志组**页面。有关详细信息，请参阅[在 Log CloudWatch s 中创建日志组](https://docs.amazonaws.cn//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group)。

## 更新服务器的日志记录


日志记录的详细信息取决于您的更新场景。

**注意**  
当您选择使用结构化 JSON 日志记录时，在极少数情况下，Transfer Family 会停止使用旧格式进行日志记录，但需要一些时间才能开始使用新的 JSON 格式进行日志记录。这可能会导致事件不被记录。不会出现任何服务中断，但是在更改日志记录方法后的第一个小时内，您应该谨慎传输文件，因为日志可能会被丢弃。

如果您正在编辑现有服务器，则选项取决于服务器的状态。
+ 服务器已启用日志记录角色，但未启用结构化 JSON 日志记录。  
![\[日志窗格显示了现有的日志记录角色。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-choose-role.png)
+ 服务器未启用任何日志记录。  
![\[如果服务器未启用任何日志记录，则显示日志记录窗格。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-edit-none.png)
+ 服务器已启用结构化 JSON 日志记录，但未指定日志记录角色。  
![\[如果服务器尚未启用日志记录，则显示日志记录窗格。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-edit-add-json-02.png)
+ 服务器已启用结构化 JSON 日志记录，且已指定日志记录角色。  
![\[如果服务器启用了结构化日志记录，并且还指定了日志记录角色，则显示日志记录窗格。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-edit-both.png)

## 查看服务器配置


服务器配置页面的详细信息取决于您的场景：

根据您的场景，服务器配置页面可能类似于以下示例之一：
+ 无日志记录已启用。  
![\[未配置日志记录的日志记录配置。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-config-none.png)
+ 已启用结构化 JSON 日志记录。  
![\[已配置结构化日志记录的日志记录配置。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-config-structured.png)
+ 日志记录角色已启用，但未启用结构化 JSON 日志记录。  
![\[已配置日志记录角色的日志记录配置。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-config-legacy.png)
+ 两种类型的日志记录（日志记录角色和结构化 JSON 日志记录）均已启用。  
![\[已配置两种日志类型（日志记录角色和结构化 JSON 日志记录）的日志记录配置。\]](http://docs.amazonaws.cn/transfer/latest/userguide/images/logging-server-config-both.png)