

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

# 使用日志组和日志流
<a name="Working-with-log-groups-and-streams"></a>

 日志流是共享同一来源的一系列日志事件。Logs 中每个单独的 CloudWatch 日志源构成一个单独的日志流。

 日志组是一组具有相同保留期、监控和访问控制设置的日志流。您可以定义日志组并指定向各组中放入哪些流。对可属于一个日志组的日志流数没有限制。

对于需要整合来自多个账户和地区的日志数据的组织，您可以使用 CloudWatch 日志集中将日志组自动复制到中央账户。有关更多信息，请参阅 [跨账户跨区域日志集中化](CloudWatchLogs_Centralization.md)。

 您可以使用本部分中的过程处理日志组和日志流。

## 在 Log CloudWatch s 中创建日志组
<a name="Create-Log-Group"></a>

当您按照《Amazon CloudWatch 日志用户指南》前几节中的步骤在 Amazon CloudWatch EC2 实例上安装日志代理时，将在该过程中创建日志组。您也可以直接在 CloudWatch 控制台中创建日志组。

**创建日志组**

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

1.  在导航窗格中，选择 “**日志管理**”。

1.  选择**操作**，然后选择**创建日志组**。

1.  输入日志组的名称，然后选择**创建日志组**。

**提示**  
 您可以通过导航窗格中的 ***Favorites and recents***（收藏夹和最近记录）菜单收藏日志组以及控制面板和警报。在 ***Recently visited***（最近访问）列中，将鼠标悬停在您想要收藏的日志组上，然后选择旁边的星形符号。

## 将日志发送到日志组
<a name="SendingLogData"></a>

CloudWatch 日志会自动接收来自多个 Amazon 服务的日志事件。您也可以使用以下方法之一将其他 CloudWatch 日志事件发送到 Logs：
+ **CloudWatch 代理** — 统一 CloudWatch 代理可以将指标和日志发送到 CloudWatch 日志。有关安装和使用 CloudWatch 代理的信息，请参阅《亚马逊* CloudWatch 用户指南*》中的使用[ CloudWatch 代理从 Amazon EC2 实例和本地服务器收集指标和日志](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)。
+ **Amazon CLI**— 将成批的日志事件[put-log-events](https://docs.amazonaws.cn/cli/latest/reference/logs/put-log-events.html)上传到 CloudWatch 日志。
+ **以编程方式** — [PutLogEvents](https://docs.amazonaws.cn/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)API 使您能够以编程方式将成批的日志事件上传到 CloudWatch 日志。

## 查看发送到日志的 CloudWatch 日志数据
<a name="ViewingLogData"></a>

您可以 stream-by-stream根据日志代理发送到 Logs 的日志数据来 CloudWatch 查看和滚动浏览 CloudWatch 日志数据。您可以指定要查看的日志数据的时间范围。

**查看日志数据**

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

1. 在导航窗格中，选择 “**日志管理**”。

1. 对于 **Log Groups（日志组）**，选择日志组以查看日志流。

1. 在日志组列表中，选择要查看的日志组的名称。

1. 从日志流列表中，选择要查看的日志流的名称。

1. 要更改日志数据的显示方式，请执行下列操作之一：
   + 要展开单个日志事件，请选择该日志事件旁边的箭头。
   + 要展开所有日志事件并以纯文本形式查看它们，请在日志事件列表上方选择 **Text**。
   + 要筛选日志事件，请在搜索字段中键入所需的搜索筛选条件。有关更多信息，请参阅 [使用筛选条件从日志事件创建指标](MonitoringLogData.md)。
   + 要查看指定日期和时间范围的日志数据，请在搜索筛选条件旁边，选择日期和时间旁的箭头。要指定日期和时间范围，请选择 **Absolute（绝对）**。要选择预定义的分钟数、小时数、天数或周数，请选择 **Relative（相对）**。还可以在 UTC 和本地时区之间切换。

## 更改日志中的 CloudWatch 日志数据保留期
<a name="SttingLogRetention"></a>

默认情况下，日志数据无限期地存储在 CloudWatch 日志中。但是，您可以配置要在日志组中存储日志数据多长时间。存储时间超过当前保留期设置的所有数据将被删除。您可以随时更改每个日志组的日志保留期。

**注意**  
CloudWatch Logs 不会在日志事件达到保留设置时立即将其删除。此后通常需要 72 小时才能删除日志事件，但在极少数情况下可能需要更长时间。  
这意味着，如果将日志组更改为具有更长的保留期设置，而该日志组包含已过期但实际上尚未删除的日志事件，则在达到新保留日期后，这些日志事件最多需要 72 小时才能被删除。要确保永久删除日志数据，请将日志组保留在较低的保留期设置，直到上一个保留期结束后 72 小时过去，或者您确认已删除较早的日志事件。  
当日志事件达到其保留设置时，这些日志事件将被标记为待删除。在被标记为待删除后，即使它们要等到以后才真正被删除，也不会再增加您的档案存储成本。当您使用 API 检索 `storedBytes` 值以查看日志组存储了多少字节时，这些标记为待删除的日志事件也不包括在内。

**更改日志保留期设置**

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

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

1. 找到要更新的日志组。

1. 在该日志组的**保留**列中，选择当前保留期设置，例如 **Never Expire**。

1. 在**保留设置**中，对于**事件过期时间**，选择日志保留值，然后选择**保存**。

## 保护日志组不被删除
<a name="protecting-log-groups-from-deletion-overview"></a>

您可以选择启用删除保护，以防止意外删除重要的日志组。有关删除保护的详细信息，请参阅[保护日志组不被删除](protecting-log-groups-from-deletion.md)。

## 在 Amazon 日志中标记 CloudWatch 日志组
<a name="log-group-tagging"></a>

您可以将自己的元数据以*标签*的形式分配给您在 Amazon Logs 中创建的 CloudWatch 日志组。标签是您为日志组定义的键值对。使用标签是一种管理 Amazon 资源和整理数据（包括账单数据）的简单而强大的方法。

**注意**  
您可以使用标签来控制对 CloudWatch 日志资源的访问权限，包括日志组和目标。由于日志组和日志流之间存在分层关系，因此在日志组级别控制对日志流的访问。有关使用标签控制访问的更多信息，请参阅[使用标签控制对 Amazon Web Services 资源的访问](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_tags.html)。

**Topics**
+ [有关标签的基本知识](#tagging-basics)
+ [使用标签跟踪成本](#tagging-billing)
+ [标签限制](#tagging-restrictions)
+ [使用标记日志组 Amazon CLI](#log-group-tagging-cli)
+ [使用日志 API 标记 CloudWatch 日志组](#log-group-tagging-api)

### 有关标签的基本知识
<a name="tagging-basics"></a>

您可以使用或 Amazon CloudFormation Amazon CLI日 CloudWatch 志 API 来完成以下任务：
+ 在创建日志组时向其添加标签。
+ 向现有日志组添加标签。
+ 列出日志组的标签。
+ 从日志组删除标签。

您可以使用标签对日志组进行分类。例如，您可以按用途、所有者或环境对它们进行分类。由于您定义每个标签的键和值，因此您可以创建一组自定义类别来满足您的特定需求。例如，您可以定义一组标签来帮助您按所有者和关联应用程序跟踪日志组。以下几个标签示例：
+ 项目：项目名称
+ 所有者：名称
+ 用途：负载测试
+ 应用程序：应用程序名称
+ 环境：生产

### 使用标签跟踪成本
<a name="tagging-billing"></a>

您可以使用标签对 Amazon 费用进行分类和跟踪。当您将标签应用于 Amazon 资源（包括日志组）时，您的 Amazon 成本分配报告包括按标签汇总的使用量和成本。您可以设置代表业务类别（例如成本中心、应用程序名称或所有者）的标签，以便整理多种服务的成本。有关更多信息，请参阅 *Amazon Billing 用户指南*中的[对自定义账单报告使用成本分配标签](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

### 标签限制
<a name="tagging-restrictions"></a>

以下限制适用于标签。

**基本限制**
+ 每个日志组的最大标签数为 50。
+ 标签键和值区分大小写。
+ 无法更改或编辑已删除日志组的标签。

**标签键限制**
+ 每个标签键必须是唯一的。如果您添加的标签具有已使用的键，则您的新标签将覆盖现有键值对。
+ 标签密钥不能以开头，`aws:`因为此前缀已保留供使用 Amazon。 Amazon 代表您创建以此前缀开头的标签，但您无法对其进行编辑或删除。
+ 标签键的长度必须介于 1 和 128 个 Unicode 字符之间。
+ 标签键必须包含以下字符：Unicode 字母、数字、空格和以下特殊字符：`_ . / = + - @`。

**标签值限制**
+ 标签值的长度必须介于 0 和 255 个 Unicode 字符之间。
+ 标签值可以为空。另外，它们必须包含以下字符：Unicode 字母、数字、空格和以下任意特殊字符：`_ . / = + - @`。

### 使用标记日志组 Amazon CLI
<a name="log-group-tagging-cli"></a>

您可以使用 Amazon CLI添加、列出和删除标签。有关示例，请参阅以下文档：

[create-log-group](https://docs.amazonaws.cn/cli/latest/reference/logs/create-log-group.html)  
创建日志组。您可以选择在创建日志组时添加标签。

[tag-resource](https://docs.amazonaws.cn/cli/latest/reference/logs/tag-resource.html)  
为指定 CloudWatch 的 Logs 资源分配一个或多个标签（键值对）。

[list-tags-for-resource](https://docs.amazonaws.cn/cli/latest/reference/logs/list-tags-for-resource.html)  
显示与 CloudWatch 日志资源关联的标签。

[untag-resource](https://docs.amazonaws.cn/cli/latest/reference/logs/untag-log-group.html)  
从指定的 L CloudWatch ogs 资源中移除一个或多个标签。

### 使用日志 API 标记 CloudWatch 日志组
<a name="log-group-tagging-api"></a>

您可以使用 CloudWatch 日志 API 添加、列出和移除标签。有关示例，请参阅以下文档：

[CreateLogGroup](https://docs.amazonaws.cn/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)  
创建日志组。您可以选择在创建日志组时添加标签。

[TagResource](https://docs.amazonaws.cn/AmazonCloudWatchLogs/latest/APIReference/API_TagResource.html)  
为指定 CloudWatch 的 Logs 资源分配一个或多个标签（键值对）。

[ListTagsForResource](https://docs.amazonaws.cn/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsForResource.html)  
显示与 CloudWatch 日志资源关联的标签。

[UntagResource](https://docs.amazonaws.cn/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html)  
从指定的 L CloudWatch ogs 资源中移除一个或多个标签。