

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

# 创建和管理日志转换器


日志转换器包括一个或多个一起处于逻辑管线中的*处理器*。每个处理器都按照它们在转换器配置中列出的顺序依次应用于日志事件。

有些处理器属于*解析器*类型。每个转换器必须至少有一个解析器，并且转换器中的第一个处理器必须是解析器。

有些解析器是针对特定类型的 AWS 公开发布的日志进行了配置的内置解析器。

其他处理器类型包括字符串变异器、JSON 变异器和数据处理器。

您可以为单个日志组创建转换器，也可以创建适用于账户中所有或多个日志组的账户级转换器。如果某个日志组具有日志组级转换器，则该转换器会覆盖原本适用于该日志组的任何账户级转换器。在您的账户中，一个区域最多可以有 20 个账户级转换器。

在创建转换器时，必须遵循以下准则：
+ 如果您为某种类型的已 AWS 售日志包含预配置的解析器，则该解析器必须是转换器中列出的第一个处理器。只能在转换器中包含一个此类处理器。
+ 只能在转换器中包含一个 `grok` 处理器。
+ 转换器必须至少包含一个解析器类型的处理器。最多可以包含五个解析器类型的处理器。此五个限制包括内置解析器和可配置的解析器。
+ 转换器最多可包含 20 个处理器。
+ 只能在转换器中包含一个 **addKeys** 处理器。
+ 只能在转换器中包含一个 **copyValue** 处理器。
+ 每个转换器最多可以从日志事件中提取 200 个字段。
+ 每个日志事件**必须**低于 512KB。日志事件的总大小仍然可以超过 512KB。

**Topics**
+ [

# 创建账户级转换器策略
](CloudWatchLogs-Transformer-CreateAccountLevel.md)
+ [

# 编辑或删除账户级转换器策略
](CloudWatchLogs-Transformer-EditAccountLevel.md)
+ [

# 从头开始创建对 log-group-level数转换器
](CloudWatch-Logs-Transformation-CreateNew.md)
+ [

# 通过复制现有的 log-group-level变压器来创建变压器
](CloudWatch-Logs-Transformation-Copy.md)
+ [

# 编辑变 log-group-level压器
](CloudWatch-Logs-Transformation-Edit.md)
+ [

# 删除变 log-group-level压器
](CloudWatch-Logs-Transformation-Delete.md)

# 创建账户级转换器策略


请按照本节中的步骤创建适用于账户中的所有日志组或者日志组名称以相同字符串（前缀）开头的多个日志组的转换器策略。一个区域中最多可以有 20 个账户级转换器策略。

您不能在同一区域创建两个使用相同前缀或一个前缀包含在另一个前缀中的转换器策略。例如，如果您为字符串前缀 `/aws/lambda` 创建了一个转换器策略，则不能再使用前缀 `/aws` 创建另一个转换器策略。但是，您可以为 `/aws/lambda` 创建一个转换器策略，而为 `/aws/waf` 创建另一个转换器策略

**创建账户级转换器策略**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在左侧导航窗格上，选择**设置**，然后选择**日志**选项卡。

1. 在**账户的转换器策略**部分，选择**创建转换器策略**。

1. 对于**转换器策略名称**，输入新策略的名称。

1. 对于**选择日志组**，请执行下列操作之一：
   + 选择**所有标准日志组**，将转换器策略应用于账户中的所有标准类日志组。
   + 选择**按前缀匹配选择日志组**，将策略应用于名称以相同字符串开头的日志组子集。然后，在**选择标准**中输入这些日志组的前缀。

1. 在**选择解析器**区域中，使用**解析器**选择要包含在转换器中的解析器。

   如果它是预先配置的解析器，则无需为其指定任何配置。 AWS 

   如果是其他解析器，则需要指定其配置。有关更多信息，请参阅[可配置的解析器类型处理器](CloudWatch-Logs-Transformation-Configurable.md)中该处理器的相关信息。

1. 要添加其他处理器，请选择**选择处理器**。然后在**处理器**框中选择所需的处理器，并填写配置参数。

   请记住，处理器会按照您将日志事件添加到转换器的顺序对其进行操作。

1. （可选）要添加其他处理器，请选择 **\$1 处理器**并重复上一步。

1. （可选）您可以随时测试迄今为止您根据示例日志事件构建的转换器。为此，请在**转换器预览**部分执行以下操作之一：
   + 在**选择日志组**中最多选择五个日志组，然后选择**加载最新的日志事件**。然后选择**测试转换器**。
   + 将日志事件直接复制到**示例日志事件**中，然后选择**测试转换器**。

   随后会显示日志的转换后版本。

1. 添加完处理器并对示例日志的测试感到满意后，请选择**保存**。

1. 完成后，选择**创建**。

# 编辑或删除账户级转换器策略


请按照本部分中的步骤编辑或删除账户级转换器策略。

**编辑或删除账户级转换器策略**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在左侧导航窗格上，选择**设置**，然后选择**日志**选项卡。

1. 在**转换器账户策略**部分中，选择**管理**。

1. 选择要管理的转换器策略旁边的按钮，然后选择**编辑**或**删除**。

   如果您正在编辑策略，请参阅[可配置的解析器类型处理器](CloudWatch-Logs-Transformation-Configurable.md)中的步骤 5-11 以查看您的选项。

# 从头开始创建对 log-group-level数转换器


使用这些步骤从头开始创建 log-group-level变压器。

**使用控制台为日志组创建日志转换器**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，依次选择**日志**和**日志组**。

1. 选择要为其创建转换器的日志组。

1. 选择**转换器**选项卡。您可能需要向右滚动选项卡列表才能看到它。

1. 选择**创建转换器**。

1. 在**选择解析器**框中，选择要包含在转换器中的解析器。

   如果它是预先配置的解析器，则无需为其指定任何配置。 AWS 

   如果是其他解析器，则需要指定其配置。有关更多信息，请参阅[可配置的解析器类型处理器](CloudWatch-Logs-Transformation-Configurable.md)中该处理器的相关信息。

1. 要添加其他处理器，请选择 **\$1 添加处理器**。然后在**选择处理器**框中选择所需的处理器，并填写配置参数。

   请记住，处理器会按照您将日志事件添加到转换器的顺序对其进行操作。

1. （可选）您可以随时测试迄今为止您根据示例日志事件构建的转换器。为此，请执行以下操作：

   1. 在**转换预览**部分，选择**加载示例日志**以从此转换器适用的日志组加载示例日志事件，或者将日志事件粘贴到文本框中。

     选择**测试转换器**。随后会显示日志的转换后版本 

1. 添加完处理器并对示例日志的测试感到满意后，请选择**保存**。

**使用从头 AWS CLI 开始创建对数转换器**
+ 使用 `aws logs put-transformer` 命令。当使用 `parseJSON` 作为第一个处理器时，您必须使用 `@message` 作为源字段来解析整个日志事件。在初始 JSON 解析后，您可以在后续处理器中操作特定字段。以下示例创建了一个包含 `parseJSON` 和 `addKeys` 处理器的转换器：

  ```
   aws logs put-transformer \
    --transformer-config '[{"parseJSON":{"source":"@message"}},{"addKeys":{"entries":[{"key":"metadata.transformed_in","value":"CloudWatchLogs"},{"key":"feature","value":"Transformation"}]}},{"trimString":{"withKeys":["status"]}}]' \
    --log-group-identifier my-log-group-name
  ```

# 通过复制现有的 log-group-level变压器来创建变压器


您可以使用控制台复制现有转换器的 JSON 配置。然后，您可以使用该代码创建相同的转换器 AWS CLI，也可以先修改配置。

**通过复制现有日志转换器来创建日志转换器**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，依次选择**日志**和**日志组**。

1. 选择包含要复制的转换器的日志组。

1. 选择**转换**选项卡。您可能需要向右滚动选项卡列表才能看到它。

1. 选择**管理转换器**。

1. 选择**复制转换器**。此时会将转换器 JSON 复制到剪贴板。

1. 创建一个文件并粘贴转换器配置。在此示例中，我们将调用文件 `CopiedTransformer.json`

1. 使用创建具有 AWS CLI 该配置的新变压器。

   ```
   aws logs put-transformer --log-group-identifier my-log-group-name \
   --transformer-config file://CopiedTransformer.json
   ```

# 编辑变 log-group-level压器


请按照以下步骤编辑现有的日志转换器。

**编辑日志转换器**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，依次选择**日志**和**日志组**。

1. 选择包含要编辑的转换器的日志组。

1. 选择**转换**选项卡。您可能需要向右滚动选项卡列表才能看到它。

1. 选择**管理转换器**。

1. 在**解析器**和**处理器**部分，进行更改。

1. 要添加其他处理器，请选择 **\$1 添加处理器**。然后在**处理器**框中选择所需的处理器，并填写配置参数。

   请记住，处理器会按照您将日志事件添加到转换器的顺序对其进行操作。

1. （可选）您可以随时测试迄今为止您根据示例日志事件构建的转换器。为此，请执行以下操作：

   1. 在**转换预览**部分，选择**加载示例日志**以从此转换器适用的日志组加载示例日志事件，或者将日志事件粘贴到文本框中。

     选择**测试转换**。随后会显示日志的转换后版本 

1. 添加完处理器并对示例日志的测试感到满意后，请选择**保存**。

# 删除变 log-group-level压器


请按照以下步骤删除日志转换器。

**删除日志转换器**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，依次选择**日志**和**日志组**。

1. 选择包含要编辑的转换器的日志组。

1. 选择**转换**选项卡。您可能需要向右滚动选项卡列表才能看到它。

1. 选择**删除**。

1. 在确认框中，选择**删除策略**。