2016-11-23 78 views
1

我的團隊在Moloco運行大量數據流管道(每小時和每天,大部分是批處理作業),並且我們不時計算每條管道的總成本,以確定我們可以節省多少成本成本。 在過去的幾周裏,我們的工程師通常會進入工作監控UI網頁(通過https://console.cloud.google.com/dataflow?project= $ project-name),並通過查找工人數量,工人機器類型,總計PD和使用的內存來手動計算成本等等。每個管道作業的成本

最近,我們注意到,現在該頁面顯示了「資源指標」,這將幫助我們節省計算成本的時間(以及前段時間公佈的新定價模型)。另一方面,因爲我們每天運行大約60-80個數據流作業,所以計算每個作業的成本是非常耗時的。 有沒有辦法通過給定作業ID(可能是通過「PipelineResult」)或主節點日誌,通過API獲取總vCPU,內存和PD/SSD使用情況度量?如果現在不支持,你們打算在不久的將來? 我們想知道是否應該考慮編寫我們自己的腳本,或者可以提取每個作業ID的指標並計算成本,但我們寧願不必這樣做。

謝謝!

回答

3

我是數據流團隊的工程師之一。

我建議使用命令行工具列出這些指標並編寫腳本來解析輸出字符串中的指標並根據這些指標計算成本。如果您想爲許多作業執行此操作,則可能還需要使用gcloud beta數據流作業列表列出您的作業。我們正在研究解決方案,以便將來更容易獲得。

確保您使用的是gcloud 135.0。0+:

gcloud version 

如果沒有,你可以使用更新:

gcloud components update 

登錄使用具有訪問項目運行作業一筆賬:

cloud auth login 

設置項目

gcloud config set project <my_project_name> 

運行此COM普通話列出的指標和grep資源指標:

gcloud beta dataflow metrics list <job_id> --project=<my_project_name> | grep Service -B 1 -A 3 

你的結果應該是結構化像這樣:

name: 
    name: Service-mem_mb_seconds 
    origin: dataflow/v1b3 
scalar: 192001 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-pd_ssd_gb_seconds 
    origin: dataflow/v1b3 
scalar: 0 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-cpu_num 
    origin: dataflow/v1b3 
scalar: 0 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-pd_gb 
    origin: dataflow/v1b3 
scalar: 0 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-pd_gb_seconds 
    origin: dataflow/v1b3 
scalar: 12500 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-cpu_num_seconds 
    origin: dataflow/v1b3 
scalar: 50 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-pd_ssd_gb 
    origin: dataflow/v1b3 
scalar: 0 
updateTime: '2016-11-07T21:23:46.452Z' 
-- 
name: 
    name: Service-mem_mb 
    origin: dataflow/v1b3 
scalar: 0 
updateTime: '2016-11-07T21:23:46.452Z' 

相關的人因爲你是:

  • 服務的cpu_num_seconds
  • Service-mem_mb_seconds
  • Service-pd_gb_seconds
  • 服務的pd_ssd_gb_seconds

注:這些指標名稱將在未來很快會改變,到:

  • TotalVCPUUsage
  • TotalMemoryUsage
  • TotalHDDPersistentDiskUsage
  • TotalSSDPersistentDiskUsage
+0

這個正是我所需要的。升級到最新的gcloud sdk(135.0.0)後,事情就完美了! –

+0

如何使用上述指標計算成本? – ghostcoder

相關問題