Prometheusがインストールされ実行されているマシンのCPU使用率を監視しようとしています。メトリック 'process_cpu_seconds_total'があります。私はこの測定基準の怒りまたは率を見つけることができます。しかし、CPU使用率のパーセンテージ値をどのように考え出すかはあまりわかりません。とにかく、このprocess_cpu_seconds_totalメトリックを使用して、Prometheusが実行されているマシンのCPU使用率を見つけることができますか?
他の人の利益のための遅い答えも:
プロメテウスプロセスが使用するCPUの割合だけを監視したい場合は、process_cpu_seconds_total
を使用できます。何かのようなもの:
avg by (instance) (irate(process_cpu_seconds_total{job="prometheus"}[1m]))
ただし、マシンの一般的なモニターが必要な場合は、 ノードエクスポーター を使用する必要があります。
PrometheusCPUモニタリングに関するBrianBrazilの投稿は、非常に関連性があり、有用です: https://www.robustperception.io/understanding-machine-cpu-usage
そのための1つの方法は、適切なcgroupリソースレポートを活用することです。 Cgroupは、CPUコア時間を1024共有に分割します。したがって、プロセスが消費する共有の数を知ることにより、CPU使用率のパーセントを常に見つけることができます。
今あなたの場合、CPU秒の変化率がある場合、これはプロセスが最後の時間単位でCPU時間を使用した時間です(これから1秒と仮定します)。次に、コアの数によって異なりますが、最後の1ユニットの1CPUは1CPU秒になります。したがって、変更率が3で、コアが4つある場合。
3/4 = 75% CPU utilization.
Process_total_cpu時間は、遅延や遅延などのためにおそらくあまり正確ではないため、これは概算にすぎません。