虛擬機器 (VM) 執行個體深入分析可協助您瞭解 Compute Engine VM 的 CPU、記憶體和網路用量。系統會根據系統指標或 Cloud Monitoring 收集的指標,自動產生洞察資料。您可以根據洞察資料,決定如何調整機器類型大小,以便更有效率地使用 VM 資源。
如要進一步瞭解洞察資料,請參閱「洞察資料」。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
查看 VM 最佳化建議的洞察資料
Compute Engine 會根據資源洞察資料產生最佳化建議。建議包括機器類型建議和閒置 VM 建議。
您可以查看與特定 VM 相關的深入分析,進一步瞭解 VM 的 CPU、記憶體和網路用量。
如要查看產生特定建議的洞察資料,請使用 gcloud CLI 或 API。
gcloud
如要查看特定區域的所有可用洞察資料詳細資料,請使用 insights list
指令並提供 --format
選項。
gcloud recommender insights list --project=PROJECT_ID \ --location=LOCATION \ --insight-type=INSIGHT_TYPE_ID \ --format=FORMAT
更改下列內容:
PROJECT_ID
:專案 ID。LOCATION
:包含您要查看洞察資料的資源的可用區。INSIGHT_TYPE_ID
:洞察類型的 ID。如需可用的 VM 深入分析資訊清單,請參閱「VM 執行個體深入分析資訊類型」。FORMAT
:您偏好的輸出格式,例如json
。
使用 json
輸出格式的 insights list
指令,其輸出內容通常會如下所示。
[ { "associatedRecommendations": [ { "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f" } ], "category": "PERFORMANCE", "content": { "predictedCpuCores": 0.15 }, "description": "Predicted CPU usage is 0.1 vCPUs.", "etag": "\"fdb51460cac758a0\"", "insightSubtype": "CPU_USAGE_PREDICTION", "lastRefreshTime": "2021-09-15T06:50:45Z", "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0", "observationPeriod": "604800s", "severity": "LOW", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1" ] } ]
REST
如要查看特定區域的所有可用洞察資料詳細資料,請使用 insights.list
方法。
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights
更改下列內容:
PROJECT_ID
:專案 ID。LOCATION
:包含您要查看洞察資料的資源的可用區。INSIGHT_TYPE_ID
:洞察類型的 ID。如需可用的 VM 深入分析資訊清單,請參閱「VM 執行個體深入分析資訊類型」。
insights.list
方法的輸出內容通常如下所示。
[ { "associatedRecommendations": [ { "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f" } ], "category": "PERFORMANCE", "content": { "predictedCpuCores": 0.15 }, "description": "Predicted CPU usage is 0.1 vCPUs.", "etag": "\"fdb51460cac758a0\"", "insightSubtype": "CPU_USAGE_PREDICTION", "lastRefreshTime": "2021-09-15T06:50:45Z", "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0", "observationPeriod": "604800s", "severity": "LOW", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1" ] } ]
如要進一步瞭解洞察資料,請參閱參考說明文件。
VM 執行個體洞察資料類型
您可以使用各種洞察功能,擷取 VM 效能的相關資訊。每種洞察類型都有特定的內容屬性。
以下各節將提供 VM 洞察資料的參考資訊。
CPU 使用率深入分析
如果 VM 的 CPU 用量在最近的觀察期間內高於或低於平常,Compute Engine 就會建立 CPU 用量深入分析。
洞察類型 ID 為 google.compute.instance.CpuUsageInsight
。
可用的子類型如下:
HIGH_CPU_USAGE
LOW_CPU_USAGE
這些資料與洞察描述相關聯,例如:
In the last 12 days for 90% of the time, CPU usage was greater than or equal to 83%.
In the last 10 days for 70% of the time, CPU usage was lower than or equal to 20%.
下表提供與 CPU 用量深入分析相關的內容詳細資料。
屬性 | 類型 | 說明 |
points
|
ARRAY | 物件陣列。每個物件都包含下列屬性:
|
CPU 用量預測洞察
Compute Engine 會建立 CPU 使用率預測洞察資料,指出隔天預測的 CPU 使用率。
洞察類型 ID 為 google.compute.instance.CpuUsagePredictionInsight
。
這項洞察提供的說明通常如下所示:
Predicted CPU usage is 0.1 vCPUs.
下表提供與 CPU 使用率預測深入分析相關的內容詳細資料。
屬性 | 類型 | 說明 |
predicted_cpu_cores
|
DOUBLE | 預估的 CPU 核心數量。 |
CPU 用量趨勢深入分析
當 CPU 用量在最近的觀察期間呈現上升或下降趨勢時,Compute Engine 就會建立 CPU 用量趨勢深入分析。
洞察類型 ID 為 google.compute.instance.CpuUsageTrendInsight
。
可用的子類型如下:
CPU_USAGE_INCREASE
CPU_USAGE_DECREASE
這些通常與洞察描述相關,例如:
In the last 7 days, average daily CPU usage has increased by 8% from 65% to 73%.
In the last 7 days, average daily CPU usage has decreased by 10% from 55% to 45%.
下表提供與 CPU 使用率趨勢深入分析相關的內容詳細資料。
屬性 | 類型 | 說明 |
cpu_usage_percentage_at_start
|
DOUBLE | 測量觀測期間開始時的 CPU 使用率每日平均值。 這個值代表 vCPU 總數的百分比,範圍為 [0, 100]。 |
cpu_usage_percentage_at_end
|
DOUBLE | 觀測期間結束時測量的每日 CPU 使用率平均值。 這個值代表 vCPU 總數的百分比,範圍為 [0, 100]。 |
cpu_usage_percentage_change
|
DOUBLE | 觀測期間內 CPU 每日平均用量的預測變化。 預測功能會使用線性迴歸,模擬每日 CPU 用量的變化。 這個值代表 vCPU 總數的百分比,範圍為 [0, 100]。 |
記憶體用量深入分析
如果記憶體用量在觀察期間內異常偏高或偏低,Compute Engine 就會產生記憶體用量深入分析資料。
洞察類型 ID 為 google.compute.instance.MemoryUsageInsight
。
可用的子類型如下:
HIGH_MEMORY_USAGE
LOW_MEMORY_USAGE
這些通常與洞察描述相關,例如:
In the last 12 days for 80% of the time, memory usage was greater than or equal to 64%.
In the last 7 days for 50% of the time, memory usage was lower than or equal to 10%.
下表提供與記憶體用量洞察相關的內容詳細資訊。
屬性 | 類型 | 說明 |
points
|
ARRAY |
物件陣列。每個物件都包含下列屬性:
|
記憶體用量預測深入分析
Compute Engine 會建立記憶體用量預測洞察資料,指出系統預測的隔日記憶體用量。
洞察類型 ID 為 google.compute.instance.MemoryUsagePredictionInsight
。
以下是洞察資料的典型說明:
Predicted memory usage is 1536 MB.
下表提供與記憶體用量預測洞察相關的內容詳細資訊。
屬性 | 類型 | 說明 |
predicted_memory_mb
|
DOUBLE | 預測的記憶體量,以 MB 為單位。 |
網路總處理量洞察
如果觀察期間的網路處理量 (傳入或傳出流量) 異常偏低,Compute Engine 就會建立網路處理量洞察資料。
洞察類型 ID 為 google.compute.instance.NetworkThroughputInsight
。
可用的子類型如下:
LOW_RECEIVED_NETWORK_THROUGHPUT
LOW_SENT_NETWORK_THROGHPUT
這些通常與洞察描述相關,例如:
In the last 7 days for 80% of the time, received network throughput was lower than or equal to 500 B/s.
In the last 7 days for 80% of the time, sent network throughput was lower than or equal to 200 B/s.
下表提供與網路傳輸量深入分析相關的內容詳細資料。
屬性 | 類型 | 說明 |
sample_probability
|
DOUBLE | 低於分位數函式值的網路總處理量樣本相對數量。 值介於 [0, 1] 之間。 |
quantile_function_value_in_bytes_per_second
|
DOUBLE | 網路總處理量的上限,至少會保留部分 (取樣機率) 的樣本。這個值以每秒位元組為單位。 |
後續步驟
- 進一步瞭解 Compute Engine 根據洞察資料建立的機器類型建議。
- 進一步瞭解閒置的 VM 最佳化建議。