

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon CloudWatch 監控 AWS IoT 警示和指標
<a name="monitoring-cloudwatch"></a>

您可以使用 AWS IoT CloudWatch 監控 ，該 CloudWatch 會收集原始資料並將其處理 AWS IoT 為可讀且近乎即時的指標。這些統計資料會保存兩週的期間，以便您存取歷史資訊，並更清楚 web 應用程式或服務的執行方式。依預設， AWS IoT 指標資料會以一分鐘的間隔自動傳送至 CloudWatch。如需詳細資訊，請參閱《Amazon CloudWatch 使用者指南》**中的[什麼是 Amazon CloudWatch、Amazon CloudWatch Events 及 Amazon CloudWatch Logs？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)。

## 使用 AWS IoT 指標
<a name="how_to_use_metrics"></a>

報告的指標 AWS IoT 提供您可以以不同方式分析的資訊。以下使用案例是根據案例，您有十個項目，每天連接到網際網路。每個天：
+ 十個物件大約同時連接到 AWS IoT 。
+ 每個真的訂閱主題篩選，然後等待一小時才能中斷。在此期間，事與其他應用程式通訊和進一步了解世界各地的狀態。
+ 每個動作會根據其新發現有一些感知發佈資料 `UpdateThingShadow`。
+ 每個物件都會中斷連線 AWS IoT。

為了協助您開始使用，這些主題會探索可能遇到的一些問題。
+  [如何每天都在我的物件連線失敗時收到通知？](creating_alarms.md#how_to_detect_connection_failures) 
+  [如何每天都在我的物件並未推送資料時收到通知？](creating_alarms.md#how_to_detect_publish_failures) 
+  [如何每天都在我的物件的影子更新遭拒時收到通知？](creating_alarms.md#detect_rejected_updates) 
+  [如何為任務建立 CloudWatch 警示？](creating_alarms.md#cw-jobs-alarms) 

**Topics**
+ [使用 AWS IoT 指標](#how_to_use_metrics)
+ [建立 CloudWatch 警示以監控 AWS IoT](creating_alarms.md)
+ [AWS IoT 指標和維度](metrics_dimensions.md)

# 建立 CloudWatch 警示以監控 AWS IoT
<a name="creating_alarms"></a>

您可以建立 CloudWatch 警報，在警示變更狀態時傳送 Amazon SNS 訊息。警示會在您指定的期間，監看單一指標。當指標值在數個期間內超過指定的閾值時，會執行一或多個動作。此動作可為傳送至 Amazon SNS 主題或 Auto Scaling 政策的通知。警示僅會觸發持續狀態變更的動作。CloudWatch 警示不會只因處於特定狀態就觸發動作，狀態必須已遭變更且已維持了一段指定的時間。

**Topics**
+ [如何每天都在我的物件連線失敗時收到通知？](#how_to_detect_connection_failures)
+ [如何每天都在我的物件並未推送資料時收到通知？](#how_to_detect_publish_failures)
+ [如何每天都在我的物件的影子更新遭拒時收到通知？](#detect_rejected_updates)
+ [如何為任務建立 CloudWatch 警示？](#cw-jobs-alarms)

 您可以在 看到 CloudWatch [AWS IoT 指標和維度](metrics_dimensions.md) 警示可以監控的所有指標。

## 如何每天都在我的物件連線失敗時收到通知？
<a name="how_to_detect_connection_failures"></a>

1. 建立名為 `things-not-connecting-successfully` 的 Amazon SNS 主題，並記錄其 Amazon 資源名稱 (ARN)。此程序會將您主題的 ARN 稱為 ` sns-topic-arn `。

   如需如何建立 Amazon SNS 通知的詳細資訊，請參閱 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

1. 建立警示。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name ConnectSuccessAlarm \
       --alarm-description "Alarm when my Things don't connect successfully" \
       --namespace AWS/IoT \
       --metric-name Connect.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. 測試警示。

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. 確認警示顯示於 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)中。

## 如何每天都在我的物件並未推送資料時收到通知？
<a name="how_to_detect_publish_failures"></a>

1. 建立名為 `things-not-publishing-data` 的 Amazon SNS 主題，並記錄其 Amazon 資源名稱 (ARN)。此程序會將您主題的 ARN 稱為 ` sns-topic-arn `。

   如需如何建立 Amazon SNS 通知的詳細資訊，請參閱 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

1. 建立警示。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name PublishInSuccessAlarm\
       --alarm-description "Alarm when my Things don't publish their data \
       --namespace AWS/IoT \
       --metric-name PublishIn.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. 測試警示。

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. 確認警示顯示於 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)中。

## 如何每天都在我的物件的影子更新遭拒時收到通知？
<a name="detect_rejected_updates"></a>

1. 建立名為 `things-shadow-updates-rejected` 的 Amazon SNS 主題，並記錄其 Amazon 資源名稱 (ARN)。此程序會將您主題的 ARN 稱為 ` sns-topic-arn `。

   如需如何建立 Amazon SNS 通知的詳細資訊，請參閱 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

1. 建立警示。

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name UpdateThingShadowSuccessAlarm \
       --alarm-description "Alarm when my Things Shadow updates are getting rejected" \
       --namespace AWS/IoT \
       --metric-name UpdateThingShadow.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --unit Count \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. 測試警示。

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. 確認警示顯示於 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)中。

## 如何為任務建立 CloudWatch 警示？
<a name="cw-jobs-alarms"></a>

任務服務提供 CloudWatch 指標，以供您監控任務。您可以建立 CloudWatch 警示來監控任何 [任務指標](metrics_dimensions.md#jobs-metrics) 。

下列命令會建立 CloudWatch 警示，以監控任務 *SampleOTAJob* 的任務執行失敗次數總計，並會在超過 20 個任務執行失敗時，通知您。警示每 300 秒會檢查報告的值，以監控任務指標 `FailedJobExecutionTotalCount`。當單一報告值大於 20 時，便會啟動警示，表示自任務啟動以來，失敗的任務執行次數超過 20 次。當警示關閉時，會傳送通知給所提供的 Amazon SNS 主題。

```
aws cloudwatch put-metric-alarm \
    --alarm-name TotalFailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when total number of failed job execution exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionTotalCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 20 \
    --comparison-operator GreaterThanThreshold \
    --period 300 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions
```

下列命令會建立 CloudWatch 警示，以監控在指定期間內任務 *SampleOTAJob* 失敗的任務執行次數。然後，當在此期間有超過五個任務執行失敗時，會通知您。警示每 3600 秒會檢查報告的值，以監控任務指標 `FailedJobExecutionCount`。當單一報告值大於 5 時，便會啟動警示，表示在過去一小時內，失敗的任務執行次數超過 5 次。當警示關閉時，會傳送通知給所提供的 Amazon SNS 主題。

```
aws cloudwatch put-metric-alarm \
    --alarm-name FailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when number of failed job execution per hour exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 5 \
    --comparison-operator GreaterThanThreshold \
    --period 3600 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions-per-hour
```

# AWS IoT 指標和維度
<a name="metrics_dimensions"></a>

當您與 互動時 AWS IoT，服務每分鐘都會將指標和維度傳送至 CloudWatch。您可以使用 AWS IoT、使用 CloudWatch 主控台或 AWS CLI 來檢視這些指標。

若要使用 CloudWatch 主控台檢視指標，請開啟 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)。在導覽窗格中，選擇 **Metrics** (指標)，然後選擇 **All metrics** (所有指標)。在**瀏覽**索引標籤中，搜尋 AWS IoT 以檢視指標清單。指標會先依服務命名空間分組，再依各命名空間內不同的維度組合分類。

若要使用 檢視指標 AWS CLI，請執行下列命令。

```
1. aws cloudwatch list-metrics --namespace "AWS/IoT"
```

**Topics**
+ [AWS IoT 指標](#iot-metrics)
+ [AWS IoT Core 登入資料提供者指標](#credential-provider-metrics)
+ [身分驗證指標](#authentication-metrics)
+ [伺服器憑證 OCSP 堆疊指標](#server-ocsp-metrics)
+ [規則指標](#rulemetrics)
+ [規則動作指標](#rule-action-metrics)
+ [HTTP 動作特定指標](#http-action-metrics)
+ [訊息代理程式指標](#message-broker-metrics)
+ [Device Shadow 指標](#shadow-metrics)
+ [記錄指標](#logging-metrics)
+ [任務指標](#jobs-metrics)
+ [Device Defender Audit 指標](#device-defender-audit-metrics)
+ [Device Defender Detect 指標](#device-defender-detect-metrics)
+ [裝置佈建指標](#provisioning-metrics)
+ [LoRaWAN 指標](#lorawan-metrics)
+ [機群索引指標](#fleet-indexing-metrics)
+ [指標的維度](#aws-iot-metricdimensions)

## AWS IoT 指標
<a name="iot-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `AddThingToDynamicThingGroupsFailed`   |  與將物件新增至動態物件群組相關聯的失敗物件數量。此 `DynamicThingGroupName` 維度包含無法新增項目的動態群組名稱。  | 
|   `NumLogBatchesFailedToPublishThrottled`   |  因調節錯誤而無法發佈的單批日誌事件。  | 
|   `NumLogEventsFailedToPublishThrottled`   |  批次中因調節錯誤而無法發佈的日誌事件數。  | 

## AWS IoT Core 登入資料提供者指標
<a name="credential-provider-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `CredentialExchangeSuccess`   |  對 AWS IoT Core 憑證提供者提出成功的 `AssumeRoleWithCertificate` 請求數。  | 

## 身分驗證指標
<a name="authentication-metrics"></a>

**注意**  
身分驗證指標會顯示在 CloudWatch 主控台的**通訊協定指標**下。


| 指標 | Description | 
| --- | --- | 
|   `Connection.AuthNError`   | 由於身分驗證失敗而 AWS IoT Core 拒絕的連線嘗試次數。此指標只會考慮傳送符合 端點之伺服器名稱指示 (SNI) 字串的連線 AWS 帳戶。此指標包括來自外部來源的連線嘗試，例如網際網路掃描工具或探測活動。Protocol 維度包含用於傳送連線嘗試的通訊協定。 | 

## 伺服器憑證 OCSP 堆疊指標
<a name="server-ocsp-metrics"></a>


| 指標 | Description | 
| --- | --- | 
| RetrieveOCSPStapleData.Success | OCSP 回應已成功接收和處理。此回應將包含在已設定網域的 TLS 交握期間。DomainConfigurationName 維度包含已啟用伺服器憑證 OCSP 堆疊的已設定網域名稱。 | 

## 規則指標
<a name="rulemetrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `ParseError`   |  JSON 剖析錯誤數目，發生於對規則所接聽主題發佈的訊息中。`RuleName` 維度會包含規則的名稱。  | 
|   `RuleExecutionThrottled`   |  由於惡意行為或訊息數量超過規則引擎調節限制，而被規則引擎調節的訊息數量。`RuleName` 維度包含欲觸發規則的名稱。  | 
|   `RuleNotFound`   |  找不到欲觸發的規則。`RuleName` 維度會包含規則的名稱。  | 
|   `RulesExecuted`   |  執行的 AWS IoT 規則數目。  | 
|   `TopicMatch`   |  對規則所接聽主題發佈的傳入訊息數目。`RuleName` 維度會包含規則的名稱。  | 

## 規則動作指標
<a name="rule-action-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `Failure`   |  失敗規則動作呼叫次數。`RuleName` 維度包含可指定動作之規則的名稱。`ActionType` 維度包含已呼叫動作的類型。  | 
|   `Success`   |  成功規則動作呼叫次數。`RuleName` 維度包含可指定動作之規則的名稱。`ActionType` 維度包含已呼叫動作的類型。  | 
|  ErrorActionFailure  | 失敗的錯誤動作數量。RuleName 維度包含可指定動作之規則的名稱。ActionType 維度包含已呼叫動作的類型。 | 
|  ErrorActionSuccess  | 成功的錯誤動作數量。RuleName 維度包含可指定動作之規則的名稱。ActionType 維度包含已呼叫動作的類型。 | 

## HTTP 動作特定指標
<a name="http-action-metrics"></a>


| 指標 | 描述 | 
| --- | --- | 
|   `HttpCode_Other`   |  如果來自下游 Web 服務/應用程式的回應狀態碼不是 2xx、4xx 或 5xx，則會產生此指標。  | 
|   `HttpCode_4XX`   |  如果來自下游 Web 服務/應用程式的回應狀態碼介於 400 到 499 之間，則會產生此指標。  | 
|   `HttpCode_5XX`   |  如果來自下游 Web 服務/應用程式的回應狀態碼介於 500 到 599 之間，則會產生此指標。  | 
|   `HttpInvalidUrl`   |  在取代替換範本之後，如果端點 URL 未以 `https://` 開頭，則會產生此指標。  | 
|   `HttpRequestTimeout`   |  如果下游 Web 服務/應用程式未在請求逾時限制內傳回回應，則會產生此指標。如需詳細資訊，請參閱 [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#limits_iot)。  | 
|   `HttpUnknownHost`   |  如果 URL 有效，但服務不存在或無法連線，則會產生此指標。  | 

## 訊息代理程式指標
<a name="message-broker-metrics"></a>

**注意**  
訊息代理程式指標會顯示於 CloudWatch 主控台的 **Protocol Metrics** (通訊協定指標) 之下。


| 指標 | Description | 
| --- | --- | 
|   `Connect.AuthError`   |  訊息代理程式無法授權的連線要求數目。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Connect.ClientError`   |  由於 MQTT 訊息不符合 [AWS IoT 配額](limits-iot.md) 中定義的需求，連線請求已拒絕的數量。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Connect.ClientIDThrottle`   |  由於用戶端超過特定用戶端 ID 所允許之連線要求率而調節的連線要求數目。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Connect.ServerError`   |  因發生內部錯誤而失敗的連線要求數目。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Connect.Success`   |  訊息代理程式成功的連線次數。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Connect.Throttle`   |  因帳戶超過允許連線要求率而調節的連線要求數目。`Protocol` 維度包含用來傳送 `CONNECT` 訊息的協定。  | 
|   `Ping.Success`   |  訊息代理程式收到的 ping 訊息數目。`Protocol` 維度包含用來傳送 ping 訊息的協定。  | 
|   `PublishIn.AuthError`   |  訊息代理程式無法授權的發佈要求數目。`Protocol` 維度包含用來發佈訊息的協定。HTTP 發佈不支援此指標。  | 
|   `PublishIn.ClientError`   |  訊息中介裝置拒絕的發佈請求數量，因為訊息不符合 [AWS IoT 配額](limits-iot.md) 中定義的要求。`Protocol` 維度包含用來發佈訊息的協定。  | 
|   `PublishIn.ServerError`   |  訊息代理程式因發生內部錯誤而無法處理的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishIn.Success`   |  訊息代理程式成功處理的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishIn.Throttle`   |  因用戶端超過允許傳入訊息率而調節的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。HTTP 發佈不支援此指標。  | 
|   `PublishOut.AuthError`   |   AWS IoT無法授權之訊息代理程式所提出的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishOut.ClientError`   |  訊息中介裝置提出的發佈請求數量遭到拒絕，因為訊息不符合 [AWS IoT 配額](limits-iot.md) 中定義的要求。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishOut.Success`   |  訊息代理程式成功發出的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|  PublishOut.Throttle  |  因用戶端超過所允許之傳出訊息率而調節的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishRetained.AuthError`   |  訊息代理程式無法授權帶 `RETAIN` 旗標集的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|  PublishRetained.ServerError  |  訊息代理程式因發生內部錯誤而無法處理的保留發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishRetained.Success`   |  訊息代理程式成功處理帶 `RETAIN` 旗標集的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `PublishRetained.Throttle`   |  因用戶端超過允許傳入訊息率而調節的帶 `RETAIN` 旗標集的發佈要求數目。`Protocol` 維度包含用來傳送 `PUBLISH` 訊息的協定。  | 
|   `Queued.Success`   |  訊息代理程式與其中斷持久性工作階段連線的用戶端成功處理的儲存訊息數目。具有持久性工作階段的用戶端中斷連線時，會儲存 QoS 為 1 的訊息。  | 
|   `Queued.Throttle`   |  具有持久性工作階段的用戶端中斷連線時，無法儲存和限流的訊息數目。當用戶端超過[每個帳戶每秒的佇列訊息數](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account)限制時，就會發生這種情況。具有持久性工作階段的用戶端中斷連線時，會儲存 QoS 為 1 的訊息。  | 
|   `Queued.ServerError`   |  因為內部錯誤而未針對持久性工作階段儲存的訊息數目。當具有持久性工作階段的用戶端中斷連線時，會儲存服務品質 (QoS) 為 1 的訊息。  | 
|   `Subscribe.AuthError`   |  由用戶端提出且無法授權的訂閱要求數目。`Protocol` 維度包含用來傳送 `SUBSCRIBE` 訊息的協定。  | 
|   `Subscribe.ClientError`   |  由於`SUBSCRIBE`訊息不符合 [AWS IoT 配額](limits-iot.md) 中定義的需求而拒絕的訂閱請求數量。`Protocol` 維度包含用來傳送 `SUBSCRIBE` 訊息的協定。  | 
|   `Subscribe.ServerError`   |  因發生內部錯誤而拒絕的訂閱要求數目。`Protocol` 維度包含用來傳送 `SUBSCRIBE` 訊息的協定。  | 
|   `Subscribe.Success`   |  訊息代理程式成功處理的訂閱要求數目。`Protocol` 維度包含用來傳送 `SUBSCRIBE` 訊息的協定。  | 
|   `Subscribe.Throttle`   |  由於您的 超過允許的訂閱請求率限制而調節的訂閱請求數量 AWS 帳戶。這些限制包括每個帳戶的每秒訂閱數、每個帳戶的訂閱數，以及[AWS IoT Core 訊息中介裝置和通訊協定限制和配額](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits)中所述的每個連線訂閱數。`Protocol` 維度包含用來傳送 `SUBSCRIBE` 訊息的協定。  | 
|  Throttle.Exceeded  | 當 MQTT 用戶端在[每個連線層級限制上每秒](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits)封包受到調節時，此指標會顯示在 CloudWatch 中。此指標不適用於 HTTP 連線。 | 
|   `Unsubscribe.ClientError`   |  由於`UNSUBSCRIBE`訊息不符合 [AWS IoT 配額](limits-iot.md) 中定義的要求而拒絕的取消訂閱請求數量。`Protocol` 維度包含用來傳送 `UNSUBSCRIBE` 訊息的協定。  | 
|   `Unsubscribe.ServerError`   |  因發生內部錯誤而拒絕的取消訂閱要求數目。`Protocol` 維度包含用來傳送 `UNSUBSCRIBE` 訊息的協定。  | 
|   `Unsubscribe.Success`   |  訊息代理程式成功處理的取消訂閱要求數目。`Protocol` 維度包含用來傳送 `UNSUBSCRIBE` 訊息的協定。  | 
|   `Unsubscribe.Throttle`   |  因用戶端超過允許取消訂閱要求率而拒絕的取消訂閱要求數目。`Protocol` 維度包含用來傳送 `UNSUBSCRIBE` 訊息的協定。  | 

## Device Shadow 指標
<a name="shadow-metrics"></a>

**注意**  
裝置影子指標會顯示在 CloudWatch 主控台的 **Protocol Metrics** (通訊協定指標) 之下。


| 指標 | Description | 
| --- | --- | 
|   `DeleteThingShadow.Accepted`   |  成功處理的 `DeleteThingShadow` 要求數目。`Protocol` 維度包含用來提出要求的協定。  | 
|   `GetThingShadow.Accepted`   |  成功處理的 `GetThingShadow` 要求數目。`Protocol` 維度包含用來提出要求的協定。  | 
|   `ListThingShadow.Accepted`   |  成功處理的 `ListThingShadow` 要求數目。`Protocol` 維度包含用來提出要求的協定。  | 
|   `UpdateThingShadow.Accepted`   |  成功處理的 `UpdateThingShadow` 要求數目。`Protocol` 維度包含用來提出要求的協定。  | 

## 記錄指標
<a name="logging-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|  `CloudwatchLogs:LogGroupCreationFailed`  |  `CreateLogGroup` 請求失敗的數量。如果不存在，AWS IoT Logging 會建立 CloudWatch 日誌群組。`LogGroup` 維度包含用於提出請求的日誌群組。  | 
|  `CloudwatchLogs:LogStreamCreationFailed`  |  `CreateLogStream` 請求失敗的數量。AWS IoT Logging 會建立 CloudWatch 日誌串流來推送日誌事件。`LogGroup` 維度包含用於提出請求的日誌群組。  | 
|  `CloudwatchLogs:PutRetentionPolicyFailed`  |  `PutRetentionPolicy` 請求失敗的數量。如果不存在，AWS IoT Logging 會建立 CloudWatch 日誌群組，並將保留政策設定為 30 天。`LogGroup` 維度包含用於提出請求的日誌群組。  | 
|  `CloudwatchLogs:PutLogEventsFailed`  |  `PutLogEvents` 請求失敗的數量。`LogGroup` 維度包含用於提出請求的 CloudWatch 日誌群組。  | 

## 任務指標
<a name="jobs-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|  `CanceledJobExecutionCount`  |  其狀態已在 CloudWatch 決定的期間內變更為 `CANCELED` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `CanceledJobExecutionTotalCount`   |  針對指定任務，狀態為 `CANCELED` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `ClientErrorCount`   |  執行任務時產生的用戶端錯誤數目。`JobId` 維度包含任務的 ID。  | 
|   `FailedJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `FAILED` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `FailedJobExecutionTotalCount`   |  針對指定任務，狀態為 `FAILED` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `InProgressJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `IN_PROGRESS` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `InProgressJobExecutionTotalCount`   |  針對指定任務，狀態為 `IN_PROGRESS` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `RejectedJobExecutionTotalCount`   |  針對指定任務，狀態為 `REJECTED` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `RemovedJobExecutionTotalCount`   |  針對指定任務，狀態為 `REMOVED` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `QueuedJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `QUEUED` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `QueuedJobExecutionTotalCount`   |  針對指定任務，狀態為 `QUEUED` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 
|   `RejectedJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `REJECTED` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `RemovedJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `REMOVED` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `ServerErrorCount`   |  執行任務時產生的伺服器錯誤數目。`JobId` 維度包含任務的 ID。  | 
|   `SuccededJobExecutionCount`   |  其狀態已在 CloudWatch 決定的期間內變更為 `SUCCESS` 之任務執行的數量。(如需有關 CloudWatch 指標的詳細資訊，請參閱 [Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)。) `JobId` 維度包含任務的 ID。  | 
|   `SuccededJobExecutionTotalCount`   |  針對指定任務，狀態為 `SUCCESS` 的任務執行總數。`JobId` 維度包含任務的 ID。  | 

## Device Defender Audit 指標
<a name="device-defender-audit-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `NonCompliantResources`   |  在檢查中發現不相容的資源數量。在每次稽核執行的檢查時，系統都會回報不合規的資源數量。  | 
|   `ResourcesEvaluated`   |  評估符合的資源數目。系統會為每次執行的稽核檢查報告評估的資源數量。  | 
|   `MisconfiguredDeviceDefenderNotification`   |  當您的 SNS AWS IoT Device Defender 組態設定錯誤時， 會通知您。  [Dimensions (尺寸)](#aws-iot-metricdimensions)   | 

## Device Defender Detect 指標
<a name="device-defender-detect-metrics"></a>


| 指標 | Description | 
| --- | --- | 
|   `NumOfMetricsExported`    |  針對雲端、裝置端或自訂指標匯出的指標數量。系統會針對特定指標報告為帳戶匯出的指標數量。此指標僅適用於使用指標匯出的客戶。  | 
|   `NumOfMetricsSkipped`   |  針對雲端、裝置端或自訂指標略過的指標數量。由於提供給 Device Defender Detect 發佈至 mqtt 主題的許可不足，系統針對特定指標報告為帳戶略過的指標數量。此指標僅適用於使用指標匯出的客戶。  | 
|   `NumOfMetricsExceedingSizeLimit`   |  由於大小超過 MQTT 訊息大小限制，略過匯出雲端、裝置端或自訂指標的指標數量。系統會報告因為大小超過 MQTT 訊息大小限制，而針對特定指標略過匯出的指標數量。此指標僅適用於使用指標匯出的客戶。  | 
|   `Violations`   |  自從上次執行評估起，發現新違反安全性描述檔行為的數目。系統會回報帳戶、特定安全性設定檔，以及特定安全性設定檔特定行為的新違規次數。  | 
|   `ViolationsCleared`   |  自上次評估執行以來已解決的安全性設定檔行為的違規次數。系統會報告已解決的帳戶、特定安全性設定檔以及特定安全性設定檔特定行為的違規次數。  | 
|   `ViolationsInvalidated`   |  自上次執行評估起，資訊不再可用的安全性描述檔行為違反之數目 (因為報告裝置停止報告，或因為某些原因不再受到監控)。系統會報告整個帳戶，特定安全性設定檔以及特定安全性設定檔特定行為的無效違規次數。  | 
|   `MisconfiguredDeviceDefenderNotification`   |  當您的 SNS AWS IoT Device Defender 組態設定錯誤時， 會通知您。  [Dimensions (尺寸)](#aws-iot-metricdimensions)   | 

## 裝置佈建指標
<a name="provisioning-metrics"></a>


**AWS IoT 機群佈建指標**  

| 指標 | Description | 
| --- | --- | 
|   `ApproximateNumberOfThingsRegistered`   |  已由機群佈建註冊的事項計數。 雖然計數通常相當準確，但 AWS IoT Core 的分配式架構將會很難保持已註冊事項的精確計數。 此指標使用的統計數字為： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/metrics_dimensions.html)  維度：[ClaimCertificateId](#aws-iot-metricdimensions)   | 
|   `CreateKeysAndCertificateFailed`   |  呼叫 `CreateKeysAndCertificate` MQTT API 時發生的失敗次數。 在成功 (值 = 0) 和失敗 (值 = 1) 兩種情況下，皆會發出指標。此指標可用來追蹤於 CloudWatch 支援的彙總視窗期間 (例如 5 分鐘或 1 小時) 建立及註冊的憑證數量。 此指標可用的統計數字為： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `CreateCertificateFromCsrFailed`   |  呼叫 `CreateCertificateFromCsr` MQTT API 時發生的失敗次數。 在成功 (值 = 0) 和失敗 (值 = 1) 兩種情況下，皆會發出指標。此指標可用來追蹤於 CloudWatch 支援的彙總視窗期間 (例如 5 分鐘或 1 小時) 註冊的事項數量。 此指標可用的統計數字為： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `RegisterThingFailed`   |  呼叫 `RegisterThing` MQTT API 時發生的失敗次數。 在成功 (值 = 0) 和失敗 (值 = 1) 兩種情況下，皆會發出指標。此指標可用來追蹤於 CloudWatch 支援的彙總視窗期間 (例如 5 分鐘或 1 小時) 註冊的事項數量。如需註冊事項的總數，請參閱 `ApproximateNumberOfThingsRegistered` 指標。 此指標可用的統計數字為： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/metrics_dimensions.html) 維度：[TemplateName](#aws-iot-metricdimensions)   | 


**即時佈建指標**  

| 指標 | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  裝置因用戶端錯誤而無法佈建的次數。例如，指定於範本中的政策不存在。  | 
|  ProvisionThing.ServerError  |  裝置因伺服器錯誤而無法佈建的次數。客戶可在等待後重試佈建裝置，而若問題仍然存在，其可聯絡 AWS IoT 。  | 
|  ProvisionThing.Success  |  成功佈建的裝置的次數。  | 

## LoRaWAN 指標
<a name="lorawan-metrics"></a>

下表顯示 的指標 AWS IoT Core for LoRaWAN。如需詳細資訊，請參閱 [AWS IoT Core for LoRaWAN 指標](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-metrics.html)。


**AWS IoT Core for LoRaWAN 指標**  

| 指標 | Description | 
| --- | --- | 
|  作用中裝置/閘道  |  您帳戶中作用中 LoRaWAN 裝置和閘道的數量。  | 
|  上行訊息計數  |  您 中所有作用中閘道和裝置在指定期間內傳送的上行訊息數量 AWS 帳戶。上行訊息是從您的裝置傳送到 的訊息 AWS IoT Core for LoRaWAN。  | 
|  下行訊息計數  |  您 中所有作用中閘道和裝置在指定期間內傳送的下行訊息數量 AWS 帳戶。下行訊息是從 傳送到 AWS IoT Core for LoRaWAN 您裝置的訊息。  | 
|  訊息損失率  |  新增裝置並連線至 後 AWS IoT Core for LoRaWAN，您的裝置可以啟動上行訊息，以開始與雲端交換訊息。接著您可以使用此指標來追蹤上行訊息損失率。  | 
|  聯結指標  |  新增裝置和閘道之後，您可以執行聯結程序，讓裝置可以傳送上行資料並與之通訊 AWS IoT Core for LoRaWAN。您可以使用此指標取得您 AWS 帳戶中所有作用中裝置的聯結指標相關資訊。  | 
|  平均接收訊號強度指示器 (RSSI)  |  您可以使用此指標來監控一段指定期間內的 RSSI (接收的訊號強度指示器) 平均數。RSSI 是一種測量方式，會指出訊號強度是否足以提供良好的無線連線。此值為負值，且強式連線必須更接近零。  | 
|  平均訊號雜訊比 (SNR)  |  您可以使用此指標來監控一段指定期間內的 SNR (訊號雜訊比) 平均數。SNR 是一種測量方式，會指出與雜訊程度相比，收到的訊號強度是否足以提供良好的無線連線。SNR 值為正數，且必須大於零，以表示訊號功率比雜訊功率強。  | 
|  閘道可用性  |  您可以使用此指標來取得一段指定期間內，此閘道的可用性相關資訊。此指標會顯示一段指定期間內，此閘道的 Websocket 連線時間。  | 


**即時佈建指標**  

| 指標 | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  裝置因用戶端錯誤而無法佈建的次數。例如，指定於範本中的政策不存在。  | 
|  ProvisionThing.ServerError  |  裝置因伺服器錯誤而無法佈建的次數。客戶可在等待後重試佈建裝置，而若問題仍然存在，其可聯絡 AWS IoT 。  | 
|  ProvisionThing.Success  |  成功佈建的裝置的次數。  | 

## 機群索引指標
<a name="fleet-indexing-metrics"></a>


**AWS IoT 機群索引指標**  

| 指標 | Description | 
| --- | --- | 
|   `NamedShadowCountForDynamicGroupQueryLimitExceeded`   |  對於動態物件群組中並非特定於資料來源的查詢術語，每個物件最多處理 25 個已命名影子。當物件違反此限制時，會發出 `NamedShadowCountForDynamicGroupQueryLimitExceeded` 事件類型。  | 

## 指標的維度
<a name="aws-iot-metricdimensions"></a>


**指標使用命名空間，並提供下列維度的指標。**  

| 維度 | Description | 
| --- | --- | 
|  ActionType  |  觸發請求，並由規則指定的[動作類型](iot-rule-actions.md)。  | 
|   `BehaviorName`   |  被監控的 Device Defender Detect 安全性設定檔行為名稱。  | 
|   `ClaimCertificateId`   |  用來佈建裝置的 `certificateId` 宣告。  | 
|   `CheckName`   |  其結果正受到監控的 Device Defender 稽核檢查的名稱。  | 
|   `JobId`   |  正在監控其進度或訊息連線成功/失敗的任務 ID。  | 
|   `Protocol`   |  用來提出要求的協定。有效值為：MQTT 或 HTTP  | 
|   `RuleName`   |  要求所觸發規則的名稱。  | 
|   `ScheduledAuditName`   |  其檢查結果正受到監控之 Device Defender 排程稽核的名稱。若回報的結果是依隨需執行的稽核結果，則此值為 `OnDemand`。  | 
|   `SecurityProfileName`   |  其行為正受到監控之 Device Defender Detect 安全性描述檔的名稱。  | 
|   `TemplateName`   |  佈建範本的名稱。  | 
|  SourceArn  | 參考用於偵測的安全設定檔或用於稽核的帳戶。 | 
|   `RoleArn`   |  是指 Device Defender 嘗試擔任的角色。  | 
|   `TopicArn`   |  參考嘗試發佈至 的 SNS 主題 Device Defender。  | 
|   `Error`   | 簡短說明嘗試發佈至 SNS 主題時收到的錯誤。可能值為：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/metrics_dimensions.html)  | 