

# 通过 AWS Toolkit for JetBrains 使用 CloudWatch Logs
<a name="building-cloudwatch"></a>

Amazon CloudWatch Logs 使您能够将所有系统、应用程序和 AWS 服务中的日志集中在高度可扩展的单个服务中。您可以轻松地查看它们、在其中搜索特定错误代码或模式、根据特定字段对其进行筛选，或者安全地将其归档以供将来分析。有关更多信息，请参阅 *Amazon CloudWatch 用户指南*中的[什么是 Amazon CloudWatch Logs？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatchLogs.html)。

以下主题介绍如何通过 AWS Toolkit for JetBrains 使用 AWS 账户中的 CloudWatch Logs。

**Topics**
+ [查看 CloudWatch 日志组和日志流](viewing-CloudWatch-logs.md)
+ [使用 CloudWatch 日志事件](working-CloudWatch-log-events.md)
+ [使用 CloudWatch Logs Insights](cloudwatch-log-insights.md)

# 使用 AWS Toolkit for JetBrains 查看 CloudWatch 日志组和日志流
<a name="viewing-CloudWatch-logs"></a>

*日志流*是共享同一个源的一系列日志事件。每个流向 CloudWatch Logs 的独立日志源构成一个独立的日志流。

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

有关更多信息，请参阅 *Amazon CloudWatch Logs 用户指南*中的[使用日志组和日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Working-with-log-groups-and-streams.html)。

**Topics**
+ [通过 **CloudWatch Logs** 节点查看 CloudWatch 日志组和日志流](#viewing-log-groups)
+ [使用 **Lambda** 节点查看日志流](#viewing-lamba-log-groups)
+ [使用 **Amazon ECS** 节点查看日志流](#viewing-ecs-log-groups)

## 通过 **CloudWatch Logs** 节点查看 CloudWatch 日志组和日志流
<a name="viewing-log-groups"></a>

1. 打开 AWS Explorer（如果尚未打开）。

1. 单击 **CloudWatch Logs（CloudWatch 日志）**节点以展开日志组列表。

   [当前 AWS 区域](setup-region.md#setup-region-current-region)的日志组显示在 **CloudWatch Logs** 节点下。

1. 要在日志组中查看日志流，请执行下列操作之一：
   + 双击日志组的名称。
   + 右键单击日志组的名称，然后选择**查看日志流**。

   日志组的内容会显示在**日志流**窗格中。有关与每个流中的日志事件交互的信息，请参阅 [使用 CloudWatch 日志事件使用 CloudWatch Logs Insights](working-CloudWatch-log-events.md)。  
![\[在 AWS Explorer 中查看 CloudWatch 日志组中的日志流\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/cloudwatch-view-log-streams.png)

## 使用 **Lambda** 节点查看日志流
<a name="viewing-lamba-log-groups"></a>

您可以使用 **Lambda**节点在 AWS Explorer 中查看 AWS Lambda 函数的 CloudWatch Logs。

**注意**  
您还可以使用 **CloudWatch Logs** 节点在 AWS Explorer 中查看所有 AWS 服务的日志流，包括 Lambda 函数。不过，建议您使用 **Lambda** 节点获取特定于 Lambda 函数的日志数据的概述。

1. 打开 AWS Explorer（如果尚未打开）。

1. 单击 **Lambda** 节点以展开 Lambda 函数列表。

   [当前 AWS 区域](setup-region.md#setup-region-current-region)的 Lambda 函数显示在 **Lambda** 节点下方。

1. 右键单击某个 Lambda 函数，然后选择**查看日志流**。

   该函数的日志流将显示在**日志流**窗格中。有关与每个流中的日志事件交互的信息，请参阅 [使用 CloudWatch 日志事件使用 CloudWatch Logs Insights](working-CloudWatch-log-events.md)。

## 使用 **Amazon ECS** 节点查看日志流
<a name="viewing-ecs-log-groups"></a>

您可以使用 **Amazon ECS**节点，在 AWS Explorer 中查看 Amazon Elastic Container Service 中运行和维护的集群和容器的 CloudWatch Logs 

**注意**  
您还可以使用 **CloudWatch Logs** 节点，在 AWS Explorer 中查看所有 AWS 服务的日志组，包括 Amazon ECS。不过，建议您使用 **Amazon ECS** 节点获取特定于 Amazon ECS 集群和容器的日志数据的概述。

1. 打开 AWS Explorer（如果尚未打开）。

1. 单击 **Amazon ECS** 节点以展开 Amazon ECS 集群列表。

   [当前 AWS 区域](setup-region.md#setup-region-current-region)的 Amazon ECS 集群显示在 **Amazon ECS** 节点下方。

1. 右键单击一个集群，然后选择**查看日志流**。

   该集群的日志流将显示在**日志流**窗格中。

1. 要查看特定容器的日志流，请单击某个集群以展开其已注册容器列表。

   为该集群注册的容器显示在下方。

1. 右键单击某个容器，然后选择**查看容器日志流**。

   该容器的日志流将显示在**日志流**窗格中。有关与集群和容器的日志事件交互的信息，请参阅 [使用 CloudWatch 日志事件使用 CloudWatch Logs Insights](working-CloudWatch-log-events.md)。

# 通过 AWS Toolkit for JetBrains 使用日志流中的 CloudWatch 日志事件
<a name="working-CloudWatch-log-events"></a>

在打开**日志流**窗格后，您可以访问每个流中的日志事件。日志事件是对受监控的应用程序或资源记录的活动的记录。

**Topics**
+ [查看和筛选流中的日志事件](#viewing-log-events)
+ [使用日志操作](#working-with-log-actions)
+ [将 CloudWatch 日志事件导出到文件或编辑器](#exporting-CW-logs)

## 查看和筛选流中的日志事件
<a name="viewing-log-events"></a>

当您打开日志流时，**日志事件**窗格将显示该流的日志事件序列。

1. 要查找需查看的日志流，请打开**日志流**窗格（请参阅 [查看 CloudWatch 日志组和日志流](viewing-CloudWatch-logs.md)）。
**注意**  
您可以使用模式匹配在列表中查找流。单击**日志流**窗格并开始输入文本。第一个日志流名称（包含与您的文本匹配的文本）会突出显示。您也可以通过单击列表顶部的**上次事件时间**列，对列表进行重新排序。

1. 双击日志流可查看其日志事件序列。

   **日志事件**窗格将显示组成日志流的日志事件。

1. 要根据内容筛选日志事件，请在**筛选日志流**字段中输入文本并按**返回**。

    结果是日志事件，其中包含与筛选器文本匹配的区分大小写的文本。筛选器会搜索完整的日志流，包括屏幕上未显示的事件。
**注意**  
您也可以使用模式匹配在窗格中查找日志事件。单击**日志事件**窗格并开始输入文本。第一个日志事件（包含与您的文本匹配的文本）会突出显示。与**筛选日志流**搜索不同，此操作仅检查屏幕上的事件。

1. 要根据时间筛选日志事件，请右键单击某个日志事件，然后选择**显示周围的日志**。

    您可以选择 **1 分钟**、**5 分钟**或 **10 分钟**。例如，如果您选择 **5 分钟**，筛选后的列表仅显示所选条目前后 5 分钟发生的日志事件。  
![\[查看和筛选日志事件窗格中的日志操作。\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/cloudwatch-filter-log-events.png)

在**日志事件**窗格的左边，[日志操作](#working-with-log-actions)提供与日志事件交互的更多方式。

## 使用日志操作
<a name="working-with-log-actions"></a>

在**日志事件**窗格的左边，4 个日志操作允许您对 CloudWatch 日志事件进行刷新、编辑、跟踪和换行。

![\[查看日志事件窗格上的日志操作。\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/cloudwatch-log-actions.png)


1. 要查找要与之交互的日志事件，请[打开**日志流**](#viewing-log-events)窗格。

1. 选择以下任一日志操作：
   + **刷新** – 使用**日志事件**窗格打开之后发生的日志事件更新列表。
   + **在编辑器中打开** – 在 IDE 的默认编辑器中打开屏幕上的日志事件。
**注意**  
此操作仅将屏幕上的日志事件导出到 IDE 编辑器。要在编辑器中查看流的所有事件，请选择[**导出日志流**](#exporting-CW-logs)选项。
   + **追加日志** – 将新的日志事件流式传输到**日志事件**窗格。这是一项有用的功能，可用于运行时间较长的服务（例如 Amazon EC2 实例和 AWS CodeBuild 构建）的持续更新。
   + **日志换行** – 如果窗格的大小会隐藏较长的条目，则以多行形式显示日志事件文本。

## 将 CloudWatch 日志事件导出到文件或编辑器
<a name="exporting-CW-logs"></a>

通过导出 CloudWatch 日志流，您可以在 IDE 的默认编辑器中打开其日志事件，或将其下载到本地文件夹。

1. 要查找需访问的日志流，请[打开**日志流**](#viewing-log-events)窗格。

1. 右键单击某个日志流，依次选择**导出日志流**、**在编辑器中打开**或**导出日志流**、**保存到文件**。
   + **在编辑器中打开** – 在 IDE 的默认编辑器中打开组成所选流的日志事件。
**注意**  
此选项会将日志流中的所有事件导出到 IDE 编辑器。
   + **保存到文件** – 打开**下载日志流**对话框。这让您可以选择下载文件夹，并重命名包含日志事件的文件。

# 通过 AWS Toolkit for JetBrains 使用 CloudWatch Logs Insights
<a name="cloudwatch-log-insights"></a>

您可以通过 AWS Toolkit for JetBrains 使用 CloudWatch Logs Insights。您可以使用 CloudWatch Logs Insights，通过交互方式搜索并分析 Amazon CloudWatch Logs 中的日志数据。有关更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[使用 CloudWatch Logs Insights 分析日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)。

## CloudWatch Logs Insights 的 IAM 权限
<a name="iam-permissions-for-cwlog-insights"></a>

 您需要以下权限才能运行和查看 CloudWatch Logs Insights 查询结果：

```
{
  "Version": "2012-10-17",
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "logs:StartQuery",
        "logs:GetQueryResults",
        "logs:GetLogRecord",
        "logs:describeLogGroups",
        "logs:describeLogStreams"
      ],
      "Resource" : "*"
    }
  ]
}
```

以下权限不是必需的，但可允许 AWS Toolkit for JetBrains 在您关闭关联的结果窗格或 IDE 时，自动停止当前正在运行的任何查询。

```
{
  "Version": "2012-10-17",
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "logs:StopQuery"
      ],
      "Resource" : "*"
    }
  ]
}
```

## 使用 CloudWatch Logs Insights
<a name="working-with-cwlog-insights"></a>

**打开 CloudWatch Logs Insights 查询编辑器**

1. 打开 AWS Explorer。

1.  双击 **CloudWatch Logs** 节点以展开日志组列表。

1.  右键单击要打开的日志组，然后选择**打开查询编辑器**。

**启动 CloudWatch Logs Insights 查询**

1. 在**查询日志组**窗口中，根据需要更改查询参数。

   您可以按日期或相对时间选择时间范围。

   **查询日志组**字段接受 CloudWatch Logs Insights 查询语法。有关更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的 [CloudWatch Logs Insights 查询语法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)。

1.  选择**执行**以开始查询。

**保存 CloudWatch Logs Insights 查询**

1. 输入查询名称。

1.  选择**保存查询**。

    选定的日志组和查询将保存到您的 AWS 账户中。时间范围不会保存。

   您可以从 CloudWatch Logs Insights AWS 管理控制台 页面检索和重复使用已保存的查询。

**检索已保存的 CloudWatch Logs Insights 查询**

1.  在**查询日志组**窗口中，选择**检索已保存的查询**。

1.  选择所需查询，然后选择**确认**。

   选定的日志组和查询将替换现有对话框中的任何内容。

**浏览查询结果**
+  在 CloudWatch Logs Insights **查询结果**窗口的右上角，选择**打开查询编辑器**。

**查看单个日志记录**
+  在查询结果窗格中，双击某行以打开一个包含该日志记录的详细信息的新选项卡。

   您也可以通过选择右上角的**查看日志流**，导航到日志记录的关联日志流。