本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用日志组和日志流
日志流是共享同一来源的一系列日志事件。CloudWatch Logs 中每个独立的日志源构成一个独立的日志流。
日志组是一组具有相同保留期、监控和访问控制设置的日志流。您可以定义日志组并指定向各组中放入哪些流。对可属于一个日志组的日志流数没有限制。
您可以使用本部分中的过程处理日志组和日志流。
在 CloudWatch Logs 中创建日志组
使用《Amazon CloudWatch Logs 用户指南》前面章节中的步骤在 Amazon EC2 实例上安装 CloudWatch Logs 代理时,该过程中也将创建日志组。您还可以直接在 CloudWatch 控制台中创建日志组。
创建日志组
-
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在导航窗格中,选择日志组。
-
选择操作,然后选择创建日志组。
-
输入日志组的名称,然后选择创建日志组。
提示
您可以通过导航窗格中的 Favorites and recents(收藏夹和最近记录)菜单收藏日志组以及控制面板和警报。在 Recently visited(最近访问)列中,将鼠标悬停在您想要收藏的日志组上,然后选择旁边的星形符号。
将日志发送到日志组
CloudWatch Logs 会自动接收来自多个Amazon服务的日志事件。您也可以使用以下方法之一将其他日志事件发送到 CloudWatch Logs:
CloudWatch 代理 – 统一的 CloudWatch 代理可以同时将指标和日志发送到 CloudWatch Logs。有关安装和使用 CloudWatch 代理的信息,请参阅《Amazon CloudWatch 用户指南》中的使用 CloudWatch 代理从 Amazon EC2 实例和本地服务器中收集指标和日志。
Amazon CLI – put-log-events 会将批量日志事件上载到 CloudWatch Logs。
以编程方式 – PutLogEvents API 使您能够以编程方式将批量日志事件上载到 CloudWatch Logs。
查看发送到 CloudWatch Logs 的日志数据
您可以查看和滚动浏览 CloudWatch Logs 代理发送到 CloudWatch Logs 的每一个日志流的日志数据。您可以指定要查看的日志数据的时间范围。
查看日志数据
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在导航窗格中,选择 Log groups(日志组)。
-
对于 Log Groups(日志组),选择日志组以查看日志流。
-
在日志组列表中,选择要查看的日志组的名称。
-
从日志流列表中,选择要查看的日志流的名称。
-
要更改日志数据的显示方式,请执行下列操作之一:
-
要展开单个日志事件,请选择该日志事件旁边的箭头。
-
要展开所有日志事件并以纯文本形式查看它们,请在日志事件列表上方选择 Text。
-
要筛选日志事件,请在搜索字段中键入所需的搜索筛选条件。有关更多信息,请参阅 使用筛选条件从日志事件创建指标。
-
要查看指定日期和时间范围的日志数据,请在搜索筛选条件旁边,选择日期和时间旁的箭头。要指定日期和时间范围,请选择 Absolute(绝对)。要选择预定义的分钟数、小时数、天数或周数,请选择 Relative(相对)。还可以在 UTC 和本地时区之间切换。
-
更改 CloudWatch Logs 中的日志数据留存
默认情况下,日志数据将无限期存储在 CloudWatch Logs 中。但是,您可以配置要在日志组中存储日志数据多长时间。存储时间超过当前保留期设置的所有数据将被删除。您可以随时更改每个日志组的日志保留期。
注意
当日志事件达到保留设置时,CloudWatch Logs 不会立即删除它们。此后通常需要 72 小时才能删除日志事件,但在极少数情况下可能需要更长时间。
这意味着,如果将日志组更改为具有更长的保留期设置,而该日志组包含已过期但实际上尚未删除的日志事件,则在达到新保留日期后,这些日志事件最多需要 72 小时才能被删除。要确保永久删除日志数据,请将日志组保留在较低的保留期设置,直到上一个保留期结束后 72 小时过去,或者您确认已删除较早的日志事件。
当日志事件达到其保留设置时,这些日志事件将被标记为待删除。在被标记为待删除后,即使它们要等到以后才真正被删除,也不会再增加您的档案存储成本。当您使用 API 检索 storedBytes
值以查看日志组存储了多少字节时,这些标记为待删除的日志事件也不包括在内。
更改日志保留期设置
-
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在导航窗格中,依次选择 Logs(日志)和 Log groups(日志组)。
找到要更新的日志组。
-
在该日志组的保留列中,选择当前保留期设置,例如 Never Expire。
-
在保留设置中,对于事件过期时间,选择日志保留值,然后选择保存。
在 Amazon CloudWatch Logs 中标记日志组
您可以将自己的元数据分配给您在 Amazon CloudWatch Logs 中以标签形式创建的日志组。标签是您为日志组定义的键值对。使用标签是管理 Amazon 资源和组织数据(包括账单数据)的一种简单却强有力的方式。
注意
您可以使用标签控制对 CloudWatch Logs 资源(包括日志组和目标)的访问。由于日志组和日志流之间存在分层关系,因此在日志组级别控制对日志流的访问。有关使用标签控制访问的更多信息,请参阅使用标签控制对 Amazon Web Services 资源的访问。
有关标签的基本知识
可以使用 Amazon CloudFormation 或 Amazon CLI 或 CloudWatch Logs API 完成以下任务:
-
在创建日志组时向其添加标签。
-
向现有日志组添加标签。
-
列出日志组的标签。
-
从日志组删除标签。
您可以使用标签对日志组进行分类。例如,您可以按用途、所有者或环境对它们进行分类。由于您定义每个标签的键和值,因此您可以创建一组自定义类别来满足您的特定需求。例如,您可以定义一组标签来帮助您按所有者和关联应用程序跟踪日志组。以下几个标签示例:
-
项目:项目名称
-
所有者:名称
-
用途:负载测试
-
应用程序:应用程序名称
-
环境:生产
使用标签跟踪成本
您可以使用标签对 Amazon 成本进行分类和跟踪。当您将标签应用于Amazon资源(包括日志组)时,您的Amazon成本分配报告将包括按标签汇总的使用率和成本。您可以设置代表业务类别(例如成本中心、应用程序名称或所有者)的标签,以便整理多种服务的成本。有关更多信息,请参阅 Amazon Billing 用户指南中的对自定义账单报告使用成本分配标签。
标签限制
以下限制适用于标签。
基本限制
-
每个日志组的最大标签数为 50。
-
标签键和值区分大小写。
-
无法更改或编辑已删除日志组的标签。
标签键限制
-
每个标签键必须是唯一的。如果您添加的标签具有已使用的键,则您的新标签将覆盖现有键值对。
-
标签键不能以
aws:
开头,因为此前缀将预留以供 Amazon 使用。Amazon 将代表您创建以此前缀开头的标签,但您不能编辑或删除这些标签。 -
标签键的长度必须介于 1 和 128 个 Unicode 字符之间。
-
标签键必须包含以下字符:Unicode 字母、数字、空格和以下特殊字符:
_ . / = + - @
。
标签值限制
-
标签值的长度必须介于 0 和 255 个 Unicode 字符之间。
-
标签值可以为空。另外,它们必须包含以下字符:Unicode 字母、数字、空格和以下任意特殊字符:
_ . / = + - @
。
使用 Amazon CLI 标记日志组
您可以使用 Amazon CLI 添加、列出和删除标签。有关示例,请参阅以下文档:
- create-log-group
-
创建日志组。您可以选择在创建日志组时添加标签。
- tag-resource
-
将一个或多个标签(键值对)分配给指定的 CloudWatch Logs 资源。
- list-tags-for-resource
-
显示与 CloudWatch Logs 资源关联的标签。
- untag-resource
-
从指定的 CloudWatch Logs 资源中删除一个或多个标签。
使用 CloudWatch Logs API 标记日志组
您可以使用 CloudWatch Logs API 添加、列出和删除标签。有关示例,请参阅以下文档:
- CreateLogGroup
-
创建日志组。您可以选择在创建日志组时添加标签。
- TagResource
-
将一个或多个标签(键值对)分配给指定的 CloudWatch Logs 资源。
- ListTagsForResource
-
显示与 CloudWatch Logs 资源关联的标签。
- UntagResource
-
从指定的 CloudWatch Logs 资源中删除一个或多个标签。