當你 啟用以指標為 基礎的體驗來監控 Azure 虛擬機器時,會收集一組預設的指標。 視您的上線選項而定,OpenTelemetry 每處理序計量可能已啟用。 您可以透過修改資料收集規則(DCR)來自訂您的收藏,新增或移除各程序效能、邏輯磁碟使用率、檔案系統利用率及其他特定工作負載的指標。
DCR 建立的詳細資料請參閱 「從 Azure 監視器 的虛擬機器用戶端收集資料」。 本文提供 OpenTelemetry 效能計數器資料來源類型的更多細節。
備註
若要直接使用 DCR 定義,或使用 ARM 範本等其他方法進行部署,請參閱 Azure 監視器中的數據收集規則 (DCR) 範例。
Cost
預設的 OpenTelemetry 指標集是免費收集的。 收集任何超出預設集合的額外 OTel 指標會產生額外費用。 請參閱 Azure 監視器 價格 詳情。
先決條件
- 一個 Azure 監視器 工作空間用來儲存 OpenTelemetry 的指標。 請參見 「建立 Azure 監視器 工作區」。
- 建立資料收集規則的權限。 請參閱 權限。
- 如果你在 OpenTelemetry 指標上建立以查詢為基礎的指標警示,請使用具有必要權限的使用者指派受控識別。 請參閱 基於查詢的指標警示總覽。
識別資料收集規則(DCR)
要識別與虛擬機相關的 DCR,請從 Azure portal 中的 Monitor 選單開啟 Data Collection Rules。 選取 [資源] 索引標籤,然後找出您的 VM。
按一下 [資料收集規則 ] 資料行中的數字,以列出與 VM 相關聯的 DCR。 OTel DCR 的名稱將採用 MSVMOtel-<region>-<name> 的形式。 點擊 DCR 即可開啟。
設定資料來源
在 DCR 的 資料來源 分頁中,點擊 OpenTelemetry 效能計數器 資料來源。 從預先定義的物件集中選取要收集的物件及其取樣率。 取樣率越低,收集值的頻率就越高。
選取 [自訂] 以更精細地選取 OpenTelemetry 效能計數器。
確認資料收集
為了確認 OpenTelemetry 效能計數器是否正在被收集,請對 Azure 監視器 工作區進行查詢,並檢查所選指標的資料是否被回傳。
如果工作區設定為 資源內容存取模式,你也可以透過 VM Metrics 面板來確認查詢在指定到 VM 本身時是否如預期運作。 選擇「與編輯器新增」下拉選單,或在「指標命名空間」下選單中「查看 AMW 指標」。
兩個入口點都應該會產生一個 PromQL 編輯器,查詢範圍現在是虛擬機資源,這樣同樣的查詢就能正常運作,但不需要在虛擬機 microsoft.resourceid 維度上進行篩選。
指標參考
以下表格列出虛擬機可用的 OpenTelemetry 指標。
預設計量
下表中的指標預設會收集,且不收取額外費用。
| 度量名稱 | 說明 |
|---|---|
| 系統正常運行時間 | 自上次重新啟動以來的時間(以秒為單位) |
| system.cpu.time | 耗用的 CPU 時間總計 (使用者 + 系統 + 閒置),以秒為單位 |
| 系統.記憶體.使用 | 使用中的記憶體 (位元組) |
| system.network.io | 傳輸/接收的位元組數 |
| system.network.dropped | 丟棄的封包 |
| 系統.網路錯誤 | 網路錯誤 |
| system.disk.io | 磁碟 I/O:讀取/寫入的位元組數 |
| 系統.磁碟作業 | 磁碟作業 (讀取/寫入計數) |
| system.filesystem.usage(系統檔案系統使用情況) | 檔案系統使用量(以位元組為單位) |
| 系統.磁碟.操作時間 | 平均磁碟作業時間 |
其他指標
下表中的指標可透過修改虛擬機的 DCR 來收集,如上所述。 除了預設的指標集之外,收集這些指標還需支付額外費用。
| 度量名稱 | 說明 |
|---|---|
| 系統.CPU.利用率 | CPU 使用率 % |
| 系統. CPU. 邏輯處理器. 數量 | 邏輯處理器數目 |
| system.cpu.physical.count | 實體 CPU 數目 |
| system.cpu.frequency | CPU 頻率 |
| system.cpu.load_average.1m | 系統平均負載(1 分鐘) |
| system.cpu.load_average.5m | 系統平均負載(5 分鐘) |
| system.cpu.load_average.15m | 系統平均負載(15 分鐘) |
| 系統記憶體使用率 | 使用的 % 記憶體 |
| 系統內存限制 | 總記憶體限制 |
| system.memory.page_size | 頁面大小 (位元組) |
| system.linux.memory.available(系統.linux.記憶體.可用) | 可用的記憶體 |
| system.linux.memory.dirty | 髒記憶體頁面 |
| 系統分頁錯誤 | 頁面錯誤 |
| system.paging.operations | 分頁作業(讀取/寫入) |
| system.paging.usage | 分頁/交換使用量 (位元組) |
| 系統分頁利用率 | 分頁/交換的已使用百分比 |
| system.disk.io_time | 用於 I/O 的時間 |
| 系統.磁碟.已合併 | 合併作業數目 |
| system.disk.pending_operations | 擱置中的 I/O 作業 |
| system.disk.weighted_io_time | 加權 I/O 時間 (考慮佇列深度) |
| system.filesystem.utilization (系統檔案系統使用率) | 檔案系統使用 % |
| system.filesystem.inodes.usage | Inodes 使用量 |
| 系統.網路.封包 | 傳輸/接收的封包 |
| 系統.網路連線 | 活動的網路連線 |
| system.network.conntrack.count | 目前的 conntrack 表格項目 |
| system.network.conntrack.max | Conntrack 資料表的最大大小 |
| process.uptime | 流程正常運行時間 |
| process.cpu.時間 | 進程所耗用的 CPU 時間 |
| 處理程序 CPU 使用率 | 每個進程的 CPU 使用率 % |
| 進程.記憶體.用量 | 記憶體使用量 (RSS) |
| 處理程序.記憶體.虛擬 | 虛擬記憶體使用量 |
| 進程記憶體使用率 | 記憶體 % 使用量 |
| process.disk.io | 磁碟 I/O (每個處理程序的位元組數) |
| process.disk.operations | 每個程序的磁碟操作 |
| process.paging.faults | 處理頁面錯誤 |
| process.open_file_descriptors | 開啟檔案描述子 |
| process.threads | 執行緒數目 |
| process.handles | 使用中控制代碼 (Windows) |
| process.context_switches | 上下文切換 |
| process.signals_pending | 擱置訊號 |
| system.processes.count | 處理程序總數 |
| system.processes.created | 建立的流程 |
如需完整的參考資料,包括類型、單位、維度及其他元資料,請參見 OpenTelemetry 指標參考。
下一步
- OpenTelemetry 指標參考
- Azure 監視器 中 VM 的度量功能
- 了解更多關於 Azure 監視器 Agent 的資訊
- 了解更多資料 收集規則