

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

# 使用 Amazon CloudWatch 日志进行监控
<a name="monitor-cloudwatch-logs"></a>

配置 AWS IoT SiteWise 为将信息记录到 CloudWatch 日志，以监控服务并对其进行故障排除。

使用 AWS IoT SiteWise 控制台时， AWS IoT SiteWise 会创建一个服务相关角色，允许服务代表您记录信息。如果您不使用 AWS IoT SiteWise 控制台，则必须手动创建服务相关角色才能接收日志。有关更多信息，请参阅 [为创建服务相关角色 AWS IoT SiteWise](create-service-linked-role.md)。

您必须有一个允许将日志事件放 AWS IoT SiteWise 入 CloudWatch 流中的资源策略。要创建和更新 CloudWatch 日志的资源策略，请运行以下命令。*logging-policy-name*替换为要创建的策略的名称。

```
aws logs put-resource-policy --policy-name logging-policy-name --policy-document "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"IoTSiteWiseToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"iotsitewise.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"*\" } ] }"
```

CloudWatch 日志还支持 a [ws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 和 a [ws: SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-ke-sourceaccount) 条件上下文密钥。这些条件上下文键是可选的。

要创建或更新仅允许 AWS IoT SiteWise 将与指定资源关联的日志放入 CloudWatch 流的 AWS IoT SiteWise 资源策略，请运行命令并执行以下操作：
+ *logging-policy-name*替换为要创建的策略的名称。
+ *source-ARN*替换为 AWS IoT SiteWise 资源的 ARN，例如资产模型或资产。要查找每种 AWS IoT SiteWise 资源类型的 ARN，请参阅《*服务授权*参考》 AWS IoT SiteWise中[定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotsitewise.html#awsiotsitewise-resources-for-iam-policies)。
+ 替换为*account-ID*与指定 AWS IoT SiteWise 资源关联的 AWS 账户 ID。

```
aws logs put-resource-policy --policy-name logging-policy-name --policy-document "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"IoTSiteWiseToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"iotsitewise.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"*\", \"Condition\":{\"StringLike\":{\"aws:SourceArn\":[\"source-ARN\"],\"aws:SourceAccount\":[\"account-ID\"]}}}]}"
```

默认情况下， AWS IoT SiteWise 不将信息记录到 CloudWatch 日志。要激活日志记录，请选择 “**禁用**” (`OFF`) 以外的日志级别。 AWS IoT SiteWise 支持以下日志级别：
+ `OFF` – 日志记录处于关闭状态。
+ `ERROR` – 记录错误。
+ `INFO` – 记录错误和信息性消息。

您可以将 SiteWise Edge 网关配置为通过 Lo CloudWatch gs 记录信息 AWS IoT Greengrass。有关更多信息，请参阅 [监控 SiteWise 边缘网关日志](monitor-gateway-logs.md)。

如果 AWS IoT Core 要对 AWS IoT SiteWise 规则操作进行故障排除，也可以配置为将信息 CloudWatch 记录到日志。有关更多信息，请参阅 [对 AWS IoT SiteWise 规则操作进行故障排除](troubleshoot-rule.md)。

**Contents**
+ [管理登录 AWS IoT SiteWise](#manage-cloudwatch-logs)
  + [查找日志记录级别](#find-logging-level)
  + [更改日志记录级别](#change-logging-level)
+ [示例： AWS IoT SiteWise 日志文件条目](#sitewise-log-format)

## 管理登录 AWS IoT SiteWise
<a name="manage-cloudwatch-logs"></a>

使用 AWS IoT SiteWise 控制台或 AWS CLI 执行以下日志配置任务。

### 查找日志记录级别
<a name="find-logging-level"></a>

------
#### [ Console ]

使用以下过程可在 AWS IoT SiteWise 控制台中查找当前的日志记录级别。

**要查找您当前的 AWS IoT SiteWise 日志级别**

1. <a name="sitewise-open-console"></a>导航至 [AWS IoT SiteWise 控制台](https://console.aws.amazon.com/iotsitewise/)。

1. 在左侧导航窗格中，选择**日志记录选项**。

   当前日志记录状态显示在**日志记录状态**下。如果已激活日志记录，则当前日志记录级别将显示在**详细程度级别**下。

------
#### [ AWS CLI ]

运行以下命令以查找您当前的 AWS IoT SiteWise 日志记录级别 AWS CLI。

```
aws iotsitewise describe-logging-options
```

此操作将采用以下格式返回包含日志记录级别的响应。

```
{
  "loggingOptions": {
    "level": "String"
  }
}
```

------

### 更改日志记录级别
<a name="change-logging-level"></a>

使用以下步骤在 AWS IoT SiteWise 控制台或使用中更改日志记录级别 AWS CLI。

------
#### [ Console ]

**更改您的 AWS IoT SiteWise 日志级别**

1. <a name="sitewise-open-console"></a>导航至 [AWS IoT SiteWise 控制台](https://console.aws.amazon.com/iotsitewise/)。

1. 在左侧导航窗格中，选择**日志记录选项**。

1. 选择**编辑**。

1. 选择要激活的**详细程度级别**。

1. 选择**保存**。

------
#### [ AWS CLI ]

运行以下 AWS CLI 命令来更改您的 AWS IoT SiteWise 日志级别。*logging-level*替换为所需的日志级别。

```
aws iotsitewise put-logging-options --logging-options level=logging-level
```

------

## 示例： AWS IoT SiteWise 日志文件条目
<a name="sitewise-log-format"></a>

每个 AWS IoT SiteWise 日志条目都包含事件信息和该事件的相关资源，因此您可以了解和分析日志数据。

以下示例显示了成功创建资产模型时 AWS IoT SiteWise 记录的 CloudWatch 日志条目。

```
{
  "eventTime": "2020-05-05T00:10:22.902Z",
  "logLevel": "INFO",
  "eventType": "AssetModelCreationSuccess",
  "message": "Successfully created asset model.",
  "resources": {
    "assetModelId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
  }
}
```