Prometheusは、メトリックの時系列表現を返すように構築されています。ただし、多くの場合、私はメトリックの状態が何であるかについてのみ気にします今であり、「最新」のメトリック。
現在、30秒ごとにメトリックを取得しているので、次のようなことを試しました。
my_metric[30s]
しかし、これは壊れやすいと感じています。指標の日付がデータポイント間で30秒以上または30秒未満の場合、結果が1つ以上返されるかゼロになります。
メトリックの最新の値を取得するにはどうすればよいですか?
あなたに必要なのは my_metric
。デフォルトでは、5分以内の最新の値を取得します。
これを考えると:
namespace_metricname_count_sum{id="1",status="to-do"}
namespace_metricname_count_sum{id="1",status="in-progress"}
最新の値を取得したい場合は、この場合に共通する値を使用する必要がありますid=~".*"
ログをグループ化することで、時間範囲の最後の値を取得できます
count ( max_over_time ( namespace_metricname_count_sum{id=~".*"}[12h])) by (status)