関数の紹介
ゲージタイプのデータはランダムに変化する値であり、カウンターのように継続的に増加するわけではありません
1増加()
増加関数は、一定期間、増加するCounterの値をインターセプトするためにプロメットで使用されます。増加(node_cpu [1m])=》このようにして、1分以内の合計CPU使用時間の増分が取得され、1分間のCPUの増分が取得されます。増加と速度は非常に似ています
レート(1m)は1秒あたりの平均インクリメント数、
増加(1m)は
例で取得したインクリメントの合計量です 。
increase(node_network_receive_bytes[1m]) 取的是 1分钟内的 增量总量
rate(node_network_receive_bytes[1m]) 取的是 1分钟内的增量 除以 60秒 每秒数量
2 sum()
sum()は、単語の意味と同様に値の加算として機能します。sum(increase(node_cpu [1m]))は、合計を外側に適用してすべてのコア値を追加し、すべてのCPUを1つにまとめます。分単位で増加
用法:sum(rate(node_network_receive_bytes [1m]))
3(インスタンス)
この関数は、合計の値に合計を追加できます。指定されたメソッドに従ってレイヤーの分割されたインスタンスは、マシン名を表します。
次に例を示します。
sum(increase(node_cpu_seconds_total{mode="idle"}[1m]))by (instance)
4上記の関数を使用して、CPU使用率を表示します
idleはCPUアイドル時間を表します
(1-((sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance))/(sum(increase(node_cpu_seconds_total[1m])) by (instance)))) * 100
sum(increase(node_cpu{mode="idle"}[1m])) by (instance) =》 是空闲CPU时间 1分钟的增量
sum(increase(node_cpu_seconds_total[1m])) by (instance) 是全部CPU时间 1分 钟增量
5レート関数の使用
その機能を使用してカウンタ機能を有するそのデータ型は、の期間において第2のカウンタごとに採取インクリメント⼀期間に設定することであるので、レート関数が設計されている(。)
例:
レート(node_network_receive_bytes [1M])
に1秒あたりの平均増分を1分で取得できます
したがって、将来的にカウンタデータタイプを使用する場合は、最初にそれを実行せずに、常にレート()またはインクリメント()を追加することを忘れないでください。
6ボール()
定義:最初の場所で最も高い値を取る
使用法:
ゲージタイプtopk(3、count_netstat_wait_connections)の
使用カウンタータイプtopk(3、レート(node_network_receive_bytes [20m]))の使用
7 count()
定義:条件に一致する値を持つ出力番号を追加します。
例:TCP待機カウントが200
カウントの現在の(または履歴の)マシン数を検索します(count_netstat_wait_connections> 200)
2つのprometheusコマンド形式
1完全一致
コマンドのクエリは、最初に{}を使用して元の入力に基づいており、count_netstat_wait_connections {exported_instance = "log"}をさらにフィルタリングします
export_instanceは、監視対象サーバーの「ログ」がログサーバーのマシン名であることを示します。
2あいまい一致
count_netstat_wait_connections {exported_instance =〜 "web。*"}
マシン名にwebが含まれるすべてのマシンを表示し
ます*正規表現に属します
あいまい一致=〜
あいまい一致しません!〜
3数値フィルタリング
ラベルがフィルタリングされた後、これは数値フィルターです。たとえば、count_netstat_wait_connections {exported_instance =〜 "web。*"}> 200のみを検索します。ここで、wait_connectionsの数は200を超えています