Как добавить элементы (метки) в запрос Prometheus для использования в Grafana - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь контролировать свои сетевые коммутаторы и могу получать с него данные. Но запрос не возвращает ifName в результатах, поэтому, когда я графически отображаю состояние интерфейса, я не могу пометить результаты именем интерфейса.

Запрос Prometheus irate (ifHCOutOctets {job = "snmp"} [ 5m])

Results

{ifIndex="cpu",instance="192.168.7.130",job="snmp"}
{ifIndex="g1",instance="192.168.7.130",job="snmp"}
{ifIndex="cpu",instance="192.168.7.130",job="snmp"}

Такое ощущение, что мне нужно объединение, чтобы добавить ifName в набор результатов, но я просто могу понять, как это сделать.

1 Ответ

0 голосов
/ 21 апреля 2020

Обычно у вас должны быть метрики, описывающие ваш интерфейс (метрики ifAlias, ifDescr и ifName, которые могут быть одинаковыми):

ifDescr{ifAlias="",ifDescr="ether1",ifIndex="cpu",ifName="ether1"} 1
ifDescr{ifAlias="",ifDescr="ether2",ifIndex="g1",ifName="ether2"} 1

Затем вы можете применить операцию умножения для соответствия метрики с инструкцией GROUP для тянуть метки:

irate(ifHCOutOctets{job="snmp"}[5m]) BY(ifIndex) * ON(ifIndex) GROUP_RIGHT ifDescr{job="snmp"}
...