

# 使用 CloudWatch Insights 为 AWS IoT Wireless 筛选日志
<a name="cwl-insights"></a>

虽然您可以使用 CloudWatch Logs 创建筛选条件表达式，但我们建议您使用 CloudWatch Insights 更有效地根据您的应用程序创建和使用筛选条件表达式。

建议您首先使用 CloudWatch **Logs groups**（日志组），了解可用于在控制台中查看日志条目的不同类型的资源、事件类型和日志级别。然后，您可以使用本页上的某些筛选条件表达式示例作为参考，为您的 AWS IoT Wireless 资源创建自己的筛选条件。

## 在 CloudWatch Logs 洞察控制台中查看 AWS IoT 日志
<a name="viewing-logs"></a>

在 [CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch)中，CloudWatch Logs 显示在名为 **/aws/iotwireless** 的日志组中。有关 CloudWatch Logs 的更多信息，请参阅 [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html)。

**要在 CloudWatch 控制台中查看您的 AWS IoT 日志**

导航到 [CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch)，然后在导航窗格中选择 **Logs Insights**。

1. 在 **Filter**（筛选条件）文本框中，输入 **/aws/iotwireless**，然后选择 `/aws/iotwireless` Logs Insights。

1. 要查看日志组的完整列表，请选择 **Select log group(s)**（选择日志组）。要查看 AWS IoT Wireless 日志组，请选择 `/aws/iotwireless`。

现在，您可以开始输入查询来筛选日志组了。以下部分包含一些有用的查询，可帮助您获得有关资源指标的洞察。

## 创建有用的查询以筛选和获取对 AWS IoT Wireless 的洞察
<a name="insights-resource-filter"></a>

您可以使用筛选条件表达式通过 CloudWatch Insights 显示其他有用的日志信息。以下是一些示例查询：

### 仅显示特定资源类型的日志
<a name="insights-gateway-filter"></a>

您可以创建一个查询，以帮助您仅显示特定资源类型的日志，例如 LoRaWAN 网关或 Sidewalk 设备。例如，要筛选日志以仅显示 Sidewalk 设备的消息，您可以输入以下查询并选择 **Run query**（运行查询）。要保存此查询，请选择 **Save（保存）**。

```
fields @message
| filter @message like /Sidewalk/
```

在运行查询后，您将在 **Logs**（日志）选项卡中看到结果，该选项卡显示与您账户中的 Sidewalk 设备相关的日志时间戳。您还将看到一个条形图，该条形图将显示事件发生的时间（如果以前发生了与您的 Sidewalk 设备相关的事件）。如果您在 **Logs**（日志）选项卡中展开其中一个结果，将显示如下所示的内容。或者，如果要排除与 Sidewalk 设备相关的故障，可以添加另一个筛选条件，将日志级别设置为 `ERROR` 并仅显示错误信息。

```
Field	          Value
@ingestionTime      1623894967640
@log	             954314929104:/aws/iotwireless
@logStream	   WirelessDevice-Downlink_Data-715adccfb34170214ec2f6667ddfa13cb5af2c3ddfc52fbeee0e554a2e780bed
@message	     {                    
                    "resource": "WirelessDevice",
                    "wirelessDeviceId": "3b058d05-4e84-4e1a-b026-4932bddf978d",
                    "wirelessDeviceType": "Sidewalk",
                    "devEui": "feffff000000011a",
                    "event": "Downlink_Data",
                    "logLevel": "INFO",
                    "messageId": "7e752a10-28f5-45a5-923f-6fa7133fedda",
                    "message": "Successfully sent downlink message. Amazon SidewalkId = 2000000006, Sequence number = 0"
                    }
@timestamp          1623894967640
devEui	           feffff000000011a
event	        Downlink_Data
logLevel            INFO
message	          Successfully sent downlink message. Amazon SidewalkId = 2000000006, Sequence number = 0
messageId	    7e752a10-28f5-45a5-923f-6fa7133fedda
resource	     WirelessDevice
wirelessDeviceId    3b058d05-4e84-4e1a-b026-4932bddf978d
wirelessDeviceType  Sidewalk
```

### 显示特定消息或事件
<a name="insights-gateway-filter"></a>

您可以创建一个查询，以帮助您显示特定消息并观察事件发生时间。例如，如果要查看从 LoRaWAN 无线设备发送下行链路消息的时间，可以输入以下查询并选择 **Run query**（运行查询）。要保存此查询，请选择 **Save（保存）**。

```
filter @message like /Downlink message sent/
```

在查询运行后，您将在 **Logs**（日志）选项卡下看到结果，该选项卡显示下行链路消息成功发送到您的无线设备时的时间戳。您还将看到一个条形图，该条形图将显示下行链路消息的发送时间（如果以前有下行链接消息已发送到您的无线设备）。如果您在 **Logs**（日志）选项卡中展开其中一个结果，将显示如下所示的内容。或者，如果没有发送下行链接消息，则可以修改查询，从而仅显示消息未发送时的结果，以便您可以调试问题。

```
Field	          Value
@ingestionTime      1623884043676
@log	             954314929104:/aws/iotwireless
@logStream	   WirelessDevice-Downlink_Data-42d0e6d09ba4d7015f4e9756fcdc616d401cd85fe3ac19854d9fbd866153c872
@message	     {
                    "timestamp": "2021-06-16T22:54:00.770493863Z",
                    "resource": "WirelessDevice",
                    "wirelessDeviceId": "3b058d05-4e84-4e1a-b026-4932bddf978d",
                    "wirelessDeviceType": "LoRaWAN",
                    "devEui": "feffff000000011a",
                    "event": "Downlink_Data",
                    "logLevel": "INFO",
                    "messageId": "7e752a10-28f5-45a5-923f-6fa7133fedda",
                    "message": "Downlink message sent. MessageId: 7e752a10-28f5-45a5-923f-6fa7133fedda"
                    }
@timestamp          1623884040858
devEui	           feffff000000011a
event	        Downlink_Data
logLevel            INFO
message	          Downlink message sent. MessageId: 7e752a10-28f5-45a5-923f-6fa7133fedda
messageId	    7e752a10-28f5-45a5-923f-6fa7133fedda
resource	     WirelessDevice
timestamp	    2021-06-16T22:54:00.770493863Z
wirelessDeviceId    3b058d05-4e84-4e1a-b026-4932bddf978d
wirelessDeviceType  LoRaWAN
```

## 后续步骤
<a name="insights-next-steps"></a>

您已经学会了如何使用 CloudWatch Insights 通过创建查询来筛选日志消息以获取更多有用的信息。您可以组合前面描述的一些筛选条件，并根据所监控的资源设计自己的过滤条件。有关使用 CloudWatch Insights 的更多信息，请参阅[使用 CloudWatch Insights 分析日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData)。

使用 CloudWatch Insights 创建查询后，如果已保存查询，则可以根据需要加载并运行已保存的查询。或者，如果单击 CloudWatch **Logs Insights** 控制台中的 **History**（历史记录）按钮，您可以查看先前运行的查询并根据需要重新运行它们，或者通过创建其他查询进一步修改这些查询。