announcement of freeRouter exporter

15 views
Skip to first unread message

mc36

unread,
Oct 8, 2020, 12:05:19 AM10/8/20
to promethe...@googlegroups.com, Frederic LOUI
hi,

i'm proud to announce you the availability of freeRouter (1) exporter.
it got integrated (2) into the freeRouter itself as a regular server
in freeRouter, so we can say it's a native implementation.

the idea behind the implementation is to be as generic as it can.
it can export any show command available in the router, anywhere,
and the operator of the router can configure what he wants to
expose, as in the nrpe (3) responder case, but with metrics.

we already have an initial seed (4) of configurations in those
txt files that produce interesting graphs with the json files...

to see it in action, i'm showing you a simple example with
the sys.txt from (4). as you can see (5) the configuration
is applied by the operator. that particular command produces
the (6) output for him if he's looking at it from the router
cli. the (7) shows you what will be sent out to the wire
(without the first "results:" line:) if the prometheus
asks me about that particular set of metrics.

i'm writing to you to get your opinion about the implementation,
and if you see something that i should change/improve in order
to better integrate with prometheus.

i know that it could be hard to imagine the outputs that
generated without having a running freerouter instance
and having all the protocols configured to it, so if you're
interested to see most of the (4) configs applied to a live
network, then i joined your irc channel with mc36 nick,
feel free to ask for an endpoint and i'll expose one.

also if you spotted something generic issue from this small
example i just provided here, please to reply right now!

i'm waiting for your opinions!

best regards,
cs

ps: i also submitted a pull request docs/exporters.md :)





1: http://freerouter.nop.hu/ , https://wiki.geant.org/display/RARE , https://rare-freertr.mp.ls/
2: http://sources.nop.hu/src/serv/servPrometheus.java
3: http://sources.nop.hu/src/serv/servNrpe.java
4: http://sources.nop.hu/misc/prometheus/



5:
services>show startup-config prom | include sys
metric gc prepend system_gc_
metric sys command sho watchdog sys | exc name
metric sys prepend system_
metric sys replace \s _
metric sys column 1 name _cnt

services>



6:
services>terminal tablemode fancy
services>show watchdog sys | exclude name
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~|
| category | value |
|----------------------------|----------------------|
| CommittedVirtualMemorySize | 7393935360 |
| FreePhysicalMemorySize | 8156749824 |
| ProcessCpuLoad | 0.007719799857040743 |
| ProcessCpuTime | 250260000000 |
| SystemCpuLoad | 0.09049320943531093 |
| SystemLoadAverage | 1.84 |
|____________________________|______________________|

services>



7:
services>show prometheus home sys | begin result
result:
# HELP system_CommittedVirtualMemorySize_cnt column 1 of sho watchdog sys | exc name
# TYPE system_CommittedVirtualMemorySize_cnt gauge
system_CommittedVirtualMemorySize_cnt 7389724672
# HELP system_FreePhysicalMemorySize_cnt column 1 of sho watchdog sys | exc name
# TYPE system_FreePhysicalMemorySize_cnt gauge
system_FreePhysicalMemorySize_cnt 8070684672
# HELP system_ProcessCpuLoad_cnt column 1 of sho watchdog sys | exc name
# TYPE system_ProcessCpuLoad_cnt gauge
system_ProcessCpuLoad_cnt 0.2727272727272727
# HELP system_ProcessCpuTime_cnt column 1 of sho watchdog sys | exc name
# TYPE system_ProcessCpuTime_cnt gauge
system_ProcessCpuTime_cnt 266800000000
# HELP system_SystemCpuLoad_cnt column 1 of sho watchdog sys | exc name
# TYPE system_SystemCpuLoad_cnt gauge
system_SystemCpuLoad_cnt 0.16666666666666666
# HELP system_SystemLoadAverage_cnt column 1 of sho watchdog sys | exc name
# TYPE system_SystemLoadAverage_cnt gauge
system_SystemLoadAverage_cnt 1.71

services>
Reply all
Reply to author
Forward
0 new messages