From 0a4248531826792d97ed94d39de8d043a7358357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Mon, 5 Jul 2021 20:22:48 +0300 Subject: [PATCH] Better port stats handling --- mikrotik.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mikrotik.py b/mikrotik.py index 96cc73c..bf7dc97 100755 --- a/mikrotik.py +++ b/mikrotik.py @@ -48,8 +48,6 @@ async def scrape_mikrotik(target): ) - ports = ",".join([str(j) for j in range(0, 24)]) - mk.talk_sentence(["/interface/print"]) res = await mk.read_full_answer() for resp, _, obj in res: @@ -74,6 +72,15 @@ async def scrape_mikrotik(target): yield "interface_running", "gauge", int(obj["tx-byte"]), labels yield "interface_actual_mtu", "gauge", obj["actual-mtu"], labels + mk.talk_sentence(["/interface/ethernet/print"]) + port_count = 0 + res = await mk.read_full_answer() + for resp, _, obj in res: + if resp in ("!trap", "!done"): + break + port_count += 1 + ports = ",".join([str(j) for j in range(0, port_count)]) + mk.talk_sentence(["/interface/ethernet/monitor", "=once=", "=numbers=%s" % ports]) res = await mk.read_full_answer() for resp, _, obj in res: