Страница 1 из 2

Uptime интерфейса

Добавлено: 18 окт 2019, 18:00
ivan.bolgov
Доброго времени суток, коллеги!

Помогите, кто может, как вычленить из системы uptime интерфейса?
Для последующей вставки в сообщение для телеграм-бота.

Спасибо!

Re: Uptime интерфейса

Добавлено: 18 окт 2019, 18:38
Sertik
такого параметра у ethernet интерфейса нет. Какой интерфейс Вы имеете ввиду ?

Re: Uptime интерфейса

Добавлено: 18 окт 2019, 22:04
Ca6ko
Микротик его вроде сам вычисляет с помощью устройства на втором конце. Last Link Up Time можно видеть в винбоксе. Через CLI или SNMP не доступен. Часто пользователи замечали там ошибочные данные. Когда ошибочная дата в прошлом то никто не замечает ошибки, а вот когда дата из будущего тогда сразу обращаешь внимание. Перед тем как писал сообщение нашел на одном интерфейсе дату 21.10.19 при повторном открытии дата поправилась, но время не совпадает с системным
Изображение

Re: Uptime интерфейса

Добавлено: 18 окт 2019, 23:40
ivan.bolgov
Sertik писал(а): 18 окт 2019, 18:38 такого параметра у ethernet интерфейса нет. Какой интерфейс Вы имеете ввиду ?
Подключение по pptp до моего роутера.
Мне через телеграм раз в час приходит инфа с кол-во "схаванного" трафика. Хочется туда же добавить что-то, чтобы понимать, как долго подключение апнуто.
Пусть это будет аптайм или ласт-линк - мне без не принципиально.
:ne_vi_del:

Re: Uptime интерфейса

Добавлено: 19 окт 2019, 15:10
podarok66
Если на определённый интерфейс, то тут просто:

Код: Выделить всё

 :local ltu [/interface get [/interface ethernet find name=ether2] last-link-up-time] 
С туннелем не пробовал, потому что я телефона, ну очень муторно всё ковырять это. Во всяком случае направление я вам показал :hi_hi_hi:

Re: Uptime интерфейса

Добавлено: 20 окт 2019, 21:15
Sertik
Вот уж не знал, да и в Вики не читал :ne_vi_del:

Re: Uptime интерфейса

Добавлено: 20 окт 2019, 21:27
Sertik
Для топикастера:

Ecли Вам нужно для pptp, то uptime самого интерфейса pptp-подключения всё же по-моему нет.
Если это всё происходит на pptp-сервере, можно получить время активного подключения user`a из /ppp active connect:

Код: Выделить всё

:local ltu [/ppp active get [/ppp active find name=user] uptime]
где user - это ppp secret конкретного user.

Re: Uptime интерфейса

Добавлено: 20 окт 2019, 21:57
podarok66
Дома проверил, у меня sstp-server есть до некоторых точек. Так вот для сервера прямо uptime берётся:

Код: Выделить всё

:local ut [/interface sstp-server  get  [/interface find name=sstp-in1] uptime] 
Хотя можно и последний up туннеля посмотреть (его можно посмотреть для любого из интерфейсов, главный вопрос в правильной формулировке задачи для find):

Код: Выделить всё

:local ltu [/interface get  [/interface find name=sstp-in1] last-link-up-time]
А вот для клиентов точно как Sertik описал, uptime можно взять для юзера:

Код: Выделить всё

:local ut [/ppp active get [/ppp active find name=user] uptime]

Re: Uptime интерфейса

Добавлено: 20 окт 2019, 22:19
Sertik
Для pptp server-binding так тоже можно, проверил работает

Код: Выделить всё

:local ut [/interface pptp-server  get  [/interface find name=pptp-in2] uptime] 
Для клиентского интерфейса так не проходит - не работает, хотя параметр uptime для клиента есть:

Код: Выделить всё

:local ut [/interface pptp-client  get  [/interface find name=pptp-out1] uptime]
А это для клиента работает

Код: Выделить всё

:local ltu [/interface get  [/interface find name=pptp-out1] last-link-up-time]
Чудеса. Какого фига Микротик uptime для клиента не позволяют в переменную вывести ...

Re: Uptime интерфейса

Добавлено: 20 окт 2019, 23:07
Sertik
Вот так более правильно получать для любого Микротиковского VPN-сервера:

Код: Выделить всё

:local ltu [/interface pptp-server monitor pptp-in2 once as-value]
:log info $ltu
:local uptime ($ltu->"uptime")
:log info $uptime
и для клиента:

Код: Выделить всё

:local ltu [/interface pptp-client monitor pptp-out1 once as-value]
:log info $ltu
:local uptime ($ltu->"uptime")
:log info $uptime

В обоих случаях в переменной $ltu сначала весь весь monitor-массив, а потом вычленяем нужный параметр uptime в $uptime

Если же тип интерфейса не указать:

Код: Выделить всё

:local ltu [/interface monitor pptp-out1 once as-value]
:log info $ltu
то получим другие параметры, в том числе скорости скачивания и количество пакетов, можете сами посмотреть ...

С топикастера бутылка, как минимум ..., но для нас тоже полезно, наработки кода ... :-)