我有一個數據流作業,將消息從幾個Google Pub/Sub主題中提取出來,對這些消息中包含的各個元素執行一些並行處理,然後將該集合傳遞給消耗各種資源。我想組合一個Stackdriver儀表板,顯示每個主題處理了多少個單獨的元素。每個ParDo步驟輸出一個PCollection。Stackdriver:來自特定數據流的ElementCount PCollection輸出
我已經使用ElementCount設置了一個儀表板,但是我只能按作業過濾,而不是按步驟過濾。如果我將鼠標懸停在使用ElementCount生成的圖表上,我可以看到每一步的計數。事實上,它似乎正在報告這些指標,我可以通過以下方式使用gcloud命令行工具:
gcloud beta dataflow metrics list [jobid] --filter ElementCount
...
name:
context:
original_name: extract_value_topic_1/Map-out0-ElementCount
output_user_name: extract_value_topic_1/Map-out0
name: ElementCount
origin: dataflow/v1b3
scalar: 7000
updateTime: '2017-05-03T18:13:22.804Z'
---
name:
context:
original_name: extract_value_topic_2/Map-out0-ElementCount
output_user_name: extract_value_topic_2/Map-out0
name: ElementCount
origin: dataflow/v1b3
scalar: 12000
updateTime: '2017-05-03T18:13:22.804Z'
我有這幾條,但我沒有看到一個簡單的方法建立基於它們的Stackdriver圖表(除了記錄到控制檯的每個處理的元素,然後使用它來生成基於日誌的度量標準,但似乎它會在很多級別上效率極低)。我是否錯過了一些東西?如何根據這些ElementCounts創建圖表?
編輯:此外,如果我打開Metrics Explorer,我可以在搜索框中輸入dataflow/job/element_count,然後將pcollection放入篩選器框中,但我無法使用此圖表構建儀表板,儀表盤圖表構建器中的篩選器選擇不允許按pcollection進行篩選。
這很不幸,雖然這不是我們報告功能的關鍵部分;這隻會讓上層人員感到癢癢,而我們可以在大堂展示一些東西。同時,您是否知道使用自定義指標或類似的任何變通辦法? – Gideon
Stackdriver API:https://developers.google.com/apis-explorer/#p/monitoring/v3/確實允許您對標籤進行過濾。因此,您當然可以定義一個自定義度量標準,將標籤和度量標準名稱組合起來以生成唯一度量標準名稱。但我不認爲我會推薦這個。我不確定你的時間表是什麼,但是我確實得到了這個意義,這個功能將在不久的將來在Stackdriver中提供。 – Andrea