問題タブ [prometheus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 自動スケーリングされたサーバーでリクエストを追跡する Prometheus
Prometheusを使用して、サーバーへのリクエスト数を経時的に追跡しようとしています。サーバーは Google Compute Engine を使用して水平方向に自動呼び出しされるため、メトリックをリモート プッシュ ゲートウェイにプッシュすることしかできません。私のサーバーはいつでも削除され、再作成されます。
問題は、新しいサーバーが作成されるたびに、または python クライアント ライブラリを使用してカウンター インスタンスが作成されるたびに、カウント値が 0 にリセットされることです。また、常に増加するのではなく、グラフが上下することもわかります。
自動呼び出し環境で Prometheus を使用してリクエストの総数を追跡する適切な方法は何ですか?
編集:
少し異なるシナリオで、まったく同じ問題に関する別の投稿があります。Prometheus がサーバーでカウンターを処理する方法。サーバーは何らかの方法でカウンターの状態を追跡する必要があるようです。Prometheus は、その時点で送信された値 (プッシュまたはプル) のみを記録します。つまり、サーバーが単にcounter.inc()
. つまり、ドキュメント内の次のステートメントは、クライアント ライブラリ側にのみ適用されます。
カウンターは、上昇するだけの単一の数値を表す累積メトリックです。
prometheus - Prometheus のレート関数と間隔の選択
プロメテウスで監視を行っており、レート関数を適切に使用する方法を理解しようとしています。
前提はこれです。カウンターがあります。これの構成は、15 秒ごとに新しい値を取り込むように設定されています。
今、これの 1 秒あたりのレートをグラフ化しようとしているので、レート関数を使用して次のようにします。
レート関数を解釈すると、クエリにより、クエリが実行された各時点でのローリング レート平均 (1m のルック バック ウィンドウで) が得られます。ポイントの間隔は、使用する解像度によって指定されます。
以下は、プロメテウス コンソールのスクリーンショットで、生データ グラフと、1m の解像度を使用した上記のレート クエリのプロットを含みます。ここで得られたレート グラフは、下のグラフの生データを見て、私の期待と実際には一致しません。
興味深いのは、ロードされた時点によって結果のグラフが大きく異なることです。同じグラフを数回再ロードするだけで、同じデータを表しているように見えないところまで見た目が完全にシフトします。下の画像は数分後の同じデータセットですが、数秒後でも同じことが起こります。
ここで実際に何が起こっているのか、誰かが光を当てることができますか?
histogram - Promdash または Grafana を使用してヒストグラムを視覚化するにはどうすればよいですか?
私はヒストグラム (および要約) の時系列によってプロメテウスに惹かれますが、promdash または grafana でヒストグラムを表示することに失敗しました。私が期待しているのは、次のことを示すことができることです:
- ある時点のヒストグラム。たとえば、X 軸にバケット、Y 軸にバケットのカウント、各バケットの列
- 各バケットが網掛けされ、スタックの合計が inf バケットに等しくなるようなバケットの積み上げグラフ
サンプル メトリックは、HTTP サーバーの応答時間です。
metrics - メトリックの更新について通知するルールを作成する方法は?
PostgreSQL ログのエクスポーターを構成しました。Exporter は、レベルが Error または Fatal の新しいログ メッセージを探しています。プロメテウスはこのエクスポーターをチェックし、次の形式でメトリクスをスクレイピングしています: psql_errors{instance='',level='',message=''}
ここで、新しいエラーについて通知するアラート ルールを作成します。increase() や changes() などの演算子を使用しても役に立ちませんでした。だから私は誰かに助けを求めている
たとえば、現在のルールは次のとおりです。
docker - Consul ノードを Key/Value ストアから Prometheus ターゲットとしてエクスポートする
Prometheus には、Consulsサービスに関するデータを読み取る Consul スクレーパーがあります。しかし、私は何か違うものが必要です。
各領事エージェントには、cAdvisor がインストールされています。Consul エージェントは、たとえば の下の Consul Key/Value ストアに登録されMYSWARM/DOCKER/NODES/
ます。これらの値を使用して、すべてのノード、つまり cAdvisors の IP アドレスを取得したいと考えています。
どうやってやるの?
PS Consul KV スクレーパーを探しているようです。
prometheus - フェデレート エンドポイントからすべてのメトリックをスクレイピングする方法は?
一部のサーバーが他のサーバーをスクレイピングする階層的なプロメテウスセットアップがあります。一部のサーバーで、他のサーバーからすべてのメトリックをスクレイピングしたいと考えています。
現在match[]="{__name__=~".*"}"
、メトリックセレクターとして使用しようとしていますが、これによりエラーが発生しますparse error at char 16: vector selector must contain at least one non-empty matcher
。
それぞれ (プレフィックス) を一致セレクターとしてリストせずに、リモート プロメテウスからすべてのメトリックをスクレイピングする方法はありますか?
kubernetes - ポッドとノードを実行するための Kubernetes プロメテウス メトリック?
プロメテウスのドキュメントに従って、kubernetes メトリックを監視するようにプロメテウスをセットアップしました 。
多くの有用なメトリクスがプロメテウスに表示されるようになりました。
ただし、ポッドまたはノードのステータスを参照するメトリクスが表示されません。
理想的には、ポッドのステータス (Running、Pending、CrashLoopBackOff、Error) とノード (NodeReady、Ready) をグラフ化できるようにしたいと考えています。
このメトリックはどこにありますか? そうでない場合、どこかに追加できますか?そしてどうやって?
kubernetes - Kubernetes クラスターの正常性についてアラートを出す方法は?
Google Cloud (GKE) でホストされた Kubernetes クラスターとして実行し、Prometheus でスクレイピングしています。
私の質問はこれと似ていますが、K8s クラスターで注意を払い、アラートを出す可能性がある最も重要なメトリックは何ですか?
これはむしろプロメテウスの質問ではなくK8sですが、いくつかのヒントをいただければ幸いです。私の質問が漠然としている場合はお知らせください。質問を絞り込むことができます。