2017-10-11 88 views
2

因爲Prometheus topk returns more results than expected,並且由於https://github.com/prometheus/prometheus/issues/586需要通過https://github.com/grafana/grafana/issues/7664尚未提供的客戶端處理,所以我試圖尋求一種不同的近期解決方法我的類似問題。按公制值過濾prometheus結果,而不是按標籤值

在我的特殊情況下,大多數我想繪製的度量值在大多數情況下都是零。只有當它們高於零時纔有意思。

我可以想辦法寫普羅米修斯查詢篩選基於一個標籤值數據點,但我還沒有能夠找到一種方法來告訴普羅米修斯只有在返回時間序列數據點度量值的值滿足一定條件。在我的情況下,我想過濾一個大於零的值。

我可以向prometheus查詢添加一個條件,以便根據度量值過濾數據點嗎?如果是這樣,我在哪裏可以找到一個語法的例子來做到這一點?

回答

2

過濾使用comparison operators完成,例如x > 0

+0

是的,我可以找到方法在示例中引用標籤的值來代替x,但是我還沒有弄清楚如何引用度量標準本身的值。 –

+0

例如,考慮名爲items_in_queue的度量標準,並帶有標籤queue_name。我想要顯示每個隊列中有多少個項目的圖形,但是如果隊列中的項目在我的圖形的整個持續時間內沒有任何項目,我不希望其名稱顯示在圖例中。如果我的大部分隊列大部分時間都是空的,我不想在每個樣本的結果中顯示不同的深度隊列名稱集合。 查詢看起來像什麼來顯示我topk items_in_queue,但只有當items_in_queue> 0時纔會顯示?我如何參考度量而不是標籤? –

+0

我想它會看起來像 'items_in_queue {_something_> 0}' 但我用什麼來代替_something_? –