本頁深入探討「指標、時間序列和資源」和「指標模型的元件」中所提及的討論和範例。如要充分利用本頁面,請先閱讀這些頁面。
本頁面適用於想進一步瞭解時間序列和 Cloud Monitoring 指標模型導入方式的讀者,特別是使用 Monitoring API 的讀者。查看指標模型
如要瞭解時間序列的結構,您必須熟悉 Cloud Monitoring 使用的指標模型。如要瞭解這項模型,請參閱「指標、時間序列和資源」一文。本節提供簡要的回顧。
一般來說,監控資料會以時間序列的形式記錄。每個個別時間序列都包含與這項討論相關的三項資訊:
- 一組帶有時間戳記的資料點。
- 指標類型的參照,可用於說明如何解讀資料點。
資料來源的受監控資源參照。
每個時間序列都會保存來自單一實體或邏輯來源的測量資料。如果環境中有數百個資源,每個資源都會提供至少一個時間序列。事實上,如果指標類型和受控資源類型含有標籤,每個標籤值組合就會產生一個時間序列。詳情請參閱「基數」。
時間序列範例
時間序列會以 TimeSeries
物件的例項表示。以下是單一時間序列的完整例項:
{ "metric": { "labels": { "log": "kubelet", "severity": "DEFAULT" }, "type": "logging.googleapis.com/log_entry_count" }, "resource": { "type": "gce_instance", "labels": { "instance_id": "5106847938295940291", "zone": "us-central1-a", "project_id": "a-gcp-project" } }, "metricKind": "DELTA", "valueType": "INT64", "points": [ { "interval": { "startTime": "2019-12-20T20:25:38Z", "endTime": "2019-12-20T20:26:38Z" }, "value": { "int64Value": "20" } } ] }
大多數時間序列包含更多資料點,這份資料涵蓋一分鐘的間隔。所有時間序列的結構都相同,包含以下欄位:
metric
欄位記錄- 這個特定時間序列的指標標籤值,代表標籤值的組合。
- 資料相關聯的指標類型。指標類型會指定可用的標籤,並說明資料點代表的內容。
如要進一步瞭解這個欄位的資訊,請參閱「指標」一文。
resource
欄位記錄:- 這個特定時間序列的資源標籤值,代表標籤值的組合。
- 收集資料的特定受監控資源。
如需進一步瞭解這個欄位的資訊,請參閱「受監控資源物件」。
metricKind
和valueType
欄位會說明如何解讀這些值。詳情請參閱「指標種類與類型」。points
欄位是帶有時間戳記的值陣列。指標類型會說明值代表的內容。這個範例時間序列的陣列包含單一資料點;在大多數時間序列中,陣列會包含更多值。
如需擷取時間序列資料的實際範例,請參閱「時間序列:受控資源的資料」。
本頁其餘部分會進一步探討 metric
和 resource
欄位中的資訊。
受控資源
Cloud Monitoring 會從受監控的資源收集資料,並記錄在時間序列中。每個建立的時間序列都會包含所收集資料的受監控資源說明。
受控資源物件
受控資源由 MonitoredResource
物件的例項表示。受監控的資源會說明時間序列中值的來源。MonitoredResource
物件會嵌入時間序列,並識別監控功能所知的受控資源類型特定例項:它會指向實體或邏輯實體。
舉例來說,以下是從示例時序資料中擷取的監控資源物件,用來描述特定的 Compute Engine 執行個體:
"resource": { "type": "gce_instance", "labels": { "instance_id": "5106847938295940291", "zone": "us-central1-a", "project_id": "a-gcp-project" } }
這個受控資源的例項為 gce_instance
類型,在專案 a-gcp-project
中具有特定的 instance_id
值 (5106847938295940291)。執行個體位於美國。其他時間序列可能來自此受控資源的不同例項。每個標籤值組合都會標示出收集資料的專屬資源。
不同的資源需要不同的標籤組合。資源的標籤集是由該類型的受控資源描述元決定。
受控資源描述元
受控資源類型的相關資訊會保存在名為「受控資源描述元」的資料結構中。如需瞭解這個資料結構的定義,請參閱 MonitoredResourceDescriptor
。
監控資源描述元就像是記錄結構體的結構定義或規格。這項資源不包含受控資源的特定例項資料,而是說明如何描述特定類型的受控資源。例如,以下是 gce_instance
資源的受控資源描述元:
{ "type": "gce_instance", "displayName": "VM Instance", "description": "A virtual machine instance hosted in Compute Engine.", "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance" "labels": [ { "key": "project_id", "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"." }, { "key": "instance_id", "description": "The numeric VM instance identifier assigned by Compute Engine." }, { "key": "zone", "description": "The Compute Engine zone in which the VM is running." } ], }
請將此受控資源描述元與受控資源物件中顯示的 gce_instance
資源特定例項進行比較。這個描述元並不會描述特定的受控資源,而是會指定標籤,而每個標籤值組合都會標示特定的受控資源。
您可以使用 Cloud Monitoring API,擷取 Trusted Cloud by S3NS 專案中的受控資源描述項。舉例來說,請參閱 monitoredResourceDescriptors.list
和 monitoredResourceDescriptors.get
方法的參考頁面。
如需使用 Monitoring API 方法的範例,請參閱「列出指標和資源類型」。
指標
Cloud Monitoring 建立的每個時間序列都會記錄一組資料點,以及這些資料點的組織和意義相關資訊。
指標物件
每個時間序列都會參照指標物件中記錄的資料說明。
時間序列中包含的指標物件會指定評估結果的類型,以及這些評估結果的指標專屬資訊。如要瞭解指標物件資料結構的定義,請參閱 Metric
。舉例來說,以下是從範例時間序列中時間序列擷取的度量基準物件:
{ "metric": { "labels": { "log": "kubelet", "severity": "DEFAULT" }, "type": "logging.googleapis.com/log_entry_count" }
這個物件會指出時間序列包含 logging.googleapis.com/log_entry_count
測量值。標籤值會指出這個特定時序只會計算名為 kubelet
的記錄檔案中嚴重性為 DEFAULT
的記錄項目。
每個標籤值組合都有一個時間序列,因此同一個記錄檔的 INFO
項目會顯示在不同的時間序列中。
指標物件中收集的標籤組,會在該指標類型的描述元中指定。
指標描述元
指標類型的相關資訊會儲存在名為「指標描述元」的資料結構中。如要瞭解這個資料結構的定義,請參閱 MetricDescriptor
。
指標描述元是記錄結構的結構定義或規格。這類指標不包含特定指標的資料,而是說明如何解讀與特定指標類型相關聯的資料。
以下是指標描述詞範例:
{ "type": "logging.googleapis.com/log_entry_count", "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count", "labels": [ { "key": "log", "description": "Name of the log." }, { "key": "severity", "description": "Severity of the log entry." } ], "metricKind": "DELTA", "valueType": "INT64", "unit": "1", "description": "Number of log entries that contributed to user-defined metrics.", "displayName": "Log entries", "metadata": { "launchStage": "GA", "samplePeriod": "60s" }, "launchStage": "GA" }
請將此指標描述詞與 指標物件中顯示的指標物件進行比較。描述元會說明標籤值的含義,以及如何解讀資料點的值。
您可以使用 Cloud Monitoring API 擷取指標描述符。例如,請參閱 metricDescriptors.list
和 metricDescriptors.get
方法的參考頁面。
如需使用 Monitoring API 方法的範例,請參閱「列出指標和資源類型」。
指標描述元中的大部分欄位都很容易理解。指標種類和值類型可能需要進一步說明,請參閱「指標種類與類型」一文。