Оповещение по конденсатору с использованием производного значения - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь сгенерировать предупреждение, когда пропускная способность интерфейса маршрутизатора Cisco превышает определенное значение. Пожалуйста, посмотрите на мой код.

Я использую телеграф для сбора данных. Мое измерение «использование монитора» содержит несколько ключей и значений полей. Как их разделить и оповещать о каждом из них? Я правильно использую «производный» узел? Это ключ поля, который я должен использовать в «производном» узле?

Есть ли способ зарегистрировать выход каждого узла, чтобы помочь в устранении неполадок? В моем случае, как я вижу значение "bytes_recv_per_sec" как вычисляемое узлом "alert"?

Что именно делает узел "log"? Где находится файл журнала? Я не вижу много ценной информации в "/var/log/kapacitor/kapacitor.log"

Я пытался играть с разными узлами с разными методами параметров без особого успеха. Спасибо за любую помощь.

dbrp "telegraf"."autogen"

stream
    |from()
        .measurement('monitor usage')
        .where(lambda: "agent_host" == '10.92.192.15')
    |window()
      .period(1m)
      .every(1m)
    |httpOut('dump')
    |stats(1m)
    |httpOut('stats')
    |derivative('Envision_Po1.891_ifHCInOctets')
        .unit(1s).nonNegative()
        .as('bytes_recv_per_sec')
    |alert()
        .warn(lambda: "bytes_recv_per_sec" > 40.0)
        .crit(lambda: "bytes_recv_per_sec" > 80.0)
         // post to logfile
        .log('/tmp/alerts.log')

На этом этапе я хочу увидеть /tmp/alerts.log, чтобы сгенерировать какое-то сообщение с предупреждением при достижении порога предупреждения. В конце концов я хочу отправить оповещение по электронной почте.

Согласно запросу, здесь приведена информация о моей базе данных по измерению "использования монитора"

> show series from "monitor usage";
key
---
monitor\ usage,agent_host=10.85.1.5,host=dzhao-trex,sw_name=it-na-wan-pro-01-11p.int.pason.com
monitor\ usage,agent_host=10.85.1.6,host=dzhao-trex,sw_name=it-na-wan-pro-02-11p.int.pason.com
monitor\ usage,agent_host=10.92.192.15,host=dzhao-trex,rtr_name=irt01-00rm255r2r1.int.pason.com
monitor\ usage,agent_host=10.92.192.17,host=dzhao-trex,sw_name=wsw01-00rm255r2r1.pason.com
monitor\ usage,agent_host=172.19.254.200,host=dzhao-trex,sw_name=ssw01-04rm120r7.int.pason.com
monitor\ usage,agent_host=192.168.195.1,host=dzhao-trex,sw_name=wrt01-06.int.pason.com

> show field keys from "monitor usage";
name: monitor usage
fieldKey                           fieldType
--------                           ---------
Envision_Po1.891_ifHCInOctets      integer
Envision_Po1.891_ifHCOutOctets     integer
Gi0/0/0_ifHCInOctets               integer
Gi0/0/0_ifHCOutOctets              integer
GigabitEthernet0/0/0_ifHCInOctets  integer
GigabitEthernet0/0/0_ifHCOutOctets integer
GigabitEthernet0/0/2_ifHCInOctets  integer
GigabitEthernet0/0/2_ifHCOutOctets integer
HE_Po1.892_ifHCInOctets            integer
HE_Po1.892_ifHCOutOctets           integer
Po1003_ifHCInOctets                integer
Po1003_ifHCOutOctets               integer
Rogers_Po1.894_ifHCInOctets        integer
Rogers_Po1.894_ifHCOutOctets       integer
Shaw_Po1.893_ifHCInOctets          integer
Shaw_Po1.893_ifHCOutOctets         integer
Te2/5/6_ifHCInOctets               integer
Te2/5/6_ifHCOutOctets              integer
Tunnel100_ifHCInOctets             integer
Tunnel100_ifHCOutOctets            integer
Tunnel1_ifHCInOctets               integer
Tunnel1_ifHCOutOctets              integer
Tunnel2_ifHCInOctets               integer
Tunnel2_ifHCOutOctets              integer
YYCIX_Gi0/0/1_ifHCInOctets         integer
YYCIX_Gi0/0/1_ifHCOutOctets        integer

> show tag keys from "monitor usage";
name: monitor usage
tagKey
------
agent_host
host
rtr_name
sw_name
...