

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

# 對 Metrics Insights 進行疑難排解
<a name="cloudwatch-metrics-insights-troubleshooting"></a>

## 結果包括「Other」，但我沒有以此作為維度
<a name="cloudwatch-metrics-insights-troubleshooting-other"></a>

這表示查詢包含 **GROUP BY** (分組依據) 子句，該子句會指定查詢所傳回之某些指標中未使用的標籤索引鍵。在此情況下，會傳回名為 `Other` 的空值群組。不包含該標籤索引鍵的指標可能是彙總的指標，該指標會傳回跨該標籤索引鍵所有值彙總的值。

 例如，假設我們有下列查詢：

```
SELECT AVG(Faults) 
FROM MyCustomNamespace 
GROUP BY Operation, ServiceName
```

如果某些傳回的指標不包含 `ServiceName` 作為維度，則這些指標會顯示為像 `ServiceName` 值一樣擁有 `Other`。

為了防止在結果中看到「Other」，請在您的 **FROM** (從) 子句中使用 **SCHEMA** (結構描述)，如下列範例所示：

```
SELECT AVG(Faults) 
FROM SCHEMA(MyCustomNamespace, Operation)
GROUP BY Operation, ServiceName
```

這會將傳回的結果限制為僅同時具有 `Operation` 和 `ServiceName` 維度的指標。

## 我的圖形中最舊的時間戳記比其他時間戳記的指標值低
<a name="cloudwatch-metrics-insights-troubleshooting-oldest"></a>

CloudWatch Metrics Insights 支援最多兩週的歷史資料。當您以大於一分鐘的時段繪製時，可能會出現最舊的資料點與預期值不同的情況。這是因為 CloudWatch Metrics Insights 查詢只會傳回兩週的保留期內的資料。在這種情況下，查詢中最舊的資料點只會傳回兩週邊界內度量的觀測值，而不是傳回該資料點時段內的所有觀測值。

## 使用標籤型查詢時，不同時段的不一致指標值
<a name="cloudwatch-metrics-insights-troubleshooting-tag-mutations"></a>

當您在 CloudWatch Metrics Insights 查詢中使用 `WHERE`或 `GROUP BY`子句搭配標籤時，您可能會看到不同的指標值，具體取決於選取的時段。例如，6 小時期間可能顯示峰值 20，而 1 小時期間在相同的時段僅顯示 2。

這是因為標籤時間戳記是以第二層解析度存放，而指標資料點會與句點邊界 （例如，每分鐘或每小時的開始） 對齊。為了判斷哪些資料點符合標籤時間範圍，CloudWatch 會透過減去一個期間來調整範圍的開始。隨著期間越長，此調整會在標籤時間戳記與最早包含的資料點之間產生更寬的間隙，這可能會導致範圍起點附近的資料點遭到排除。

下列範例顯示這如何影響查詢結果。指標有兩個標籤值： `env=beta`（從 00：00 到 01：30) 和 `env=gamma`（從 01：30 到 03：00)。每個標籤涵蓋 90 分鐘的資料，SUM 為 270。

![兩個 CloudWatch 指標圖形，比較標籤型查詢結果與 1 分鐘和 3 小時期間。](http://docs.aws.amazon.com/zh_tw/AmazonCloudWatch/latest/monitoring/images/metrics-insights-tag-alignment.png)



<table>
<thead>
  <tr><th colspan="4">env=beta，間隔 1 分鐘</th></tr>
  <tr><th>統計數字</th><th>預期</th><th>已傳回</th><th>差異</th></tr>
</thead>
<tbody>
  <tr><td>SUM</td><td>270</td><td>271</td><td>\+1</td></tr>
  <tr><td>AVG</td><td>3.0</td><td>3.0</td><td>0</td></tr>
  <tr><td>MIN</td><td>1</td><td>1</td><td>0</td></tr>
  <tr><td>MAX</td><td>5</td><td>5</td><td>0</td></tr>
  <tr><td>SAMPLE\_COUNT</td><td>90</td><td>91</td><td>\+1</td></tr>
</tbody>
</table>



<table>
<thead>
  <tr><th colspan="4">env=gamma，間隔 1 分鐘</th></tr>
  <tr><th>統計數字</th><th>預期</th><th>已傳回</th><th>差異</th></tr>
</thead>
<tbody>
  <tr><td>SUM</td><td>270</td><td>275</td><td>第 5 版及更新版本</td></tr>
  <tr><td>AVG</td><td>3.0</td><td>3.0</td><td>0</td></tr>
  <tr><td>MIN</td><td>1</td><td>1</td><td>0</td></tr>
  <tr><td>MAX</td><td>5</td><td>5</td><td>0</td></tr>
  <tr><td>SAMPLE\_COUNT</td><td>90</td><td>91</td><td>\+1</td></tr>
</tbody>
</table>


在 1 分鐘的期間內，對齊調整很小 (1 分鐘），因此每個標籤只會包含 1 個額外的資料點。在 3 小時期間內，調整會涵蓋整個查詢範圍：


<table>
<thead>
  <tr><th colspan="4">env=具有 3 小時期間的 Beta 版</th></tr>
  <tr><th>統計數字</th><th>預期</th><th>已傳回</th><th>差異</th></tr>
</thead>
<tbody>
  <tr><td>SUM</td><td>270</td><td>540</td><td>\+270</td></tr>
  <tr><td>AVG</td><td>3.0</td><td>3.0</td><td>0</td></tr>
  <tr><td>MIN</td><td>1</td><td>1</td><td>0</td></tr>
  <tr><td>MAX</td><td>5</td><td>5</td><td>0</td></tr>
  <tr><td>SAMPLE\_COUNT</td><td>90</td><td>180</td><td>\+90</td></tr>
</tbody>
</table>



<table>
<thead>
  <tr><th colspan="4">env= 3 小時期間的 gamma</th></tr>
  <tr><th>統計數字</th><th>預期</th><th>已傳回</th><th>差異</th></tr>
</thead>
<tbody>
  <tr><td>SUM</td><td>270</td><td>540</td><td>\+270</td></tr>
  <tr><td>AVG</td><td>3.0</td><td>3.0</td><td>0</td></tr>
  <tr><td>MIN</td><td>1</td><td>1</td><td>0</td></tr>
  <tr><td>MAX</td><td>5</td><td>5</td><td>0</td></tr>
  <tr><td>SAMPLE\_COUNT</td><td>90</td><td>180</td><td>\+90</td></tr>
</tbody>
</table>


在 3 小時期間內，兩個標籤都會傳回整個資料集 (SUM = 540， SAMPLE\_COUNT = 180)，因為單一彙總資料點的時間戳記落在兩個調整的範圍內。標籤界限會有效清除。

若要降低此行為的影響，請嘗試下列方法：
+ **使用較小的彙總期間。**較短的期間 （例如 1 分鐘或 5 分鐘） 更接近標籤時間戳記的第二級解析度，這會將對齊差距降至最低，並更有可能包含所有相關的資料點。
+ **使用以維度為基礎的篩選，而非標籤。**如果您的使用案例允許，則依維度篩選，而非標籤。維度型查詢不受此行為影響。例如，使用 `WHERE InstanceId = 'i-1234567890abcdef0'` 代替 `WHERE tag."my-tag" = 'my-value'`。
+ **以一致的精細程度進行查詢。**比較不同時段的指標資料時，請使用相同的期間，以避免對齊調整所造成的非預期差異。