2

たとえば、インターフェイスの送信速度 (私の場合) とすべてのブリッジ インターフェイスの送信速度の合計との差を取得したいnode_network_transmit_bytes_totalから、ネットワーク送信メトリックを取得します。nodeexporterenp3s0

私はこのようなものを持っています:

irate(node_network_transmit_bytes_total{device="enp3s0"}[1m]) -  irate(node_network_transmit_bytes_total{device=~"br.*"}[1m])

しかし、これは私にデータポイントを与えません。

編集

Prometheus/PromQL が 2 つのゲージ メトリックを減算することを試してみましたが、右側に複数のシリーズがあるため、私のケースは少し異なります。

したがって、この:

node_network_transmit_bytes_total{device="enp3s0"} - ignoring(device) node_network_transmit_bytes_total{device=~"br.*"}

収量:

クエリの実行中にエラーが発生しました: 操作の右側で一致グループ {instance="192.168.XZ:9100", job="nodeexporter"} の重複シリーズが見つかりました: [{ name ="node_network_transmit_bytes_total", device="br -XXXX"、インスタンス="192.168.XZ:9100"、ジョブ="nodeexporter"}、{名前="node_network_transmit_bytes_total"、デバイス="br-5d6dce95c2b0"、インスタンス="192.168.XZ:9100"、ジョブ="nodeexporter" "}];多対多の一致は許可されていません: 一致するラベルは片側で一意である必要があります

私は使用してみましたsum()

node_network_transmit_bytes_total{device="enp3s0"} - ignoring(device) sum(node_network_transmit_bytes_total{device=~"br.*"})

しかし、それは再び結果をもたらしません。

EDIT2

私は違いを得る方法を理解することができました

sum(node_network_transmit_bytes_total{device="enp3s0"}) by (instance) - sum (node_network_transmit_bytes_total{device=~"br.*"}) by (instance)

しかし、私はそれを使用できませんirate:

irate(sum(node_network_transmit_bytes_total{device="enp3s0"}) by (instance) - sum (node_network_transmit_bytes_total{device=~"br.*"}) by (instance))[5m]

クエリの実行中にエラーが発生しました: 1:149: 解析エラー: 範囲はベクトル セレクターにのみ許可されています

4

1 に答える 1