簡體   English   中英

如何從外部 node.js 腳本獲取 GKE 上 Kubernetes pod 的使用指標

[英]How to get usage metrics for Kubernetes pods on GKE from external node.js script

我需要為我的 Kubernetes pod 獲取使用指標(CPU 和 RAM),但由於我的應用程序的其他組件使用這些數據,我需要通過 Node.js 查詢它,而不是使用 GCP 控制台上的 Metrics explorer 下拉菜單來查看在圖表中可視化的數據。 我已經在https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/query嘗試了 API,這似乎最像我正在尋找的。 但是,在對我的項目進行測試后,我得到了一個空響應,即使 Metrics Explorer 中的相同查詢在圖表上顯示了數據。 如果有人有關於如何正確使用此 API 的提示,我將不勝感激。

我已經復制了您的用例並成功執行了查詢,並以納秒為單位獲得了所有內核上消耗的 CPU 時間的累積量,響應為 200 OK

  1. 創建 GKE 集群后,導航到指標資源管理器和 select 指標, metric.type="kubernetes.io/container/cpu/core_usage_time" ,您可以在圖表中看到集群的數據。 現在單擊“MQL”按鈕以在 MQL 語法中獲得相同的查詢。

  2. 現在要通過調用projects.timeSeries.query來獲取相同的數據,請在 API Explorer 的“Try this API”框中嘗試使用名稱參數中的projects/[PROJECT_ID]格式輸入項目的 ID。 確保將[PROJECT_ID]替換為您的項目 ID。

  3. 在請求正文中將查詢添加為
    "query": "fetch k8s_container::kubernetes.io/container/cpu/core_usage_time| within 5m"

請求正文的語法:

{

 "query": "fetch k8s_container::kubernetes.io/container/cpu/core_usage_time| within 5m"
  

}

現在,單擊Execute按鈕以獲取所有核心上消耗的 CPU 時間的累積量,響應為 200 OK。

有關使用 timeseries.query 檢索數據的更多信息,請參閱鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM