3

Prometheusを使用して、時間の経過とともにサーバーへの要求の数を追跡しようとしています。私のサーバはGoogle Compute Engineを使用して水平方向に自動的にスケーリングされるため、リモートメッシュをリモートプッシュゲートウェイにプッシュできます。私のサーバーはいつでも削除され、再作成されます。自動スケーリングされたサーバーでリクエストを追跡するためのプロメテウス

問題は、新しいサーバーが作成されるたびに、またはカウンタインスタンスがPythonクライアントライブラリthe count value is reset to 0を使用して作成されるときです。私はグラフが常に増加するのではなく、上下に動くのを見ることもできます。

enter image description here

自動scalled環境でプロメテウスを使用して要求の合計数を追跡する適切な方法は何ですか?

EDIT:

まったく同じ問題について別のポストがほんの少し違うシナリオでは、あります。 Prometheus how to handle counters on server。サーバーは何とかカウンタの状態を自分で追跡する必要があるようです。プロメテウスは、その時点で送信された値をプッシュまたはプルするだけで記録します。つまり、サーバが単にcounter.inc()を呼び出すと、カウンタ値が必ずしも上昇するとは限りません。つまり、このドキュメントの次の文は、クライアントライブラリ側にのみ適用されます。

カウンタは、1つの数値だけを表す累積メトリックです。

答えて

2

私のサーバーが自動scalled GoogleのCompute Engineのを使用して水平になりますので、私は、リモートプッシュゲートウェイに私のメトリックをプッシュすることができます。私のサーバーはいつでも削除され、再作成されます。

これは本当ではありません。サービス・ディスカバリーを使用して、ノードを自動的に検出し、通常のプロメテウスの方法で計測および監視することができます。

pushgatewayは唯一のサービス・レベルのバッチジョブを対象とし、サーバの存在は動的であるので、サーバーが削除される前に、プロメテウスが時間内にデータを取得しない場合がありますhttps://prometheus.io/docs/practices/pushing/

+0

を参照してください。しかし、現在の問題は、私のカウント値がインスタンスやレジストリに蓄積されないことです。代わりに引っ張って使うとこの問題は解決されますか?レジストリを再作成する理由は、何らかの形でレジストリを再利用すると、ある時点でプッシュゲートウェイで500 Server Errorが発生するためです。 – Andy

+0

監視にはたくさんのレースがあります。サーバを頻繁に持ち上げたり、ダウンしたりすると、サンプルの量が大幅に減っているので、自動スケーリングのヒステリシスを調整して振動を減らす必要があります。集計はカウンターのレートを取ってからその合計を取ることです。 –

+0

あなたはポイントがあると思います。結果を集計して総計を得ることができます。私はそれを受け入れることができるので、あなたはこれを答えに入れてもらえますか?振動に関しては、私は小さなインスタンスを使用して機械コストを最小限に抑えようとしています。副作用は、交通状況によってすぐに変化します。 – Andy

関連する問題