Jump to content
Калькуляторы

RouterOS растёт счётчик Sector Writes при авторизации

Всем привет.

Решил попробовать api, так как он не грузит cpu в отличии от snmp.
После каждой авторизации и закрытия соединения растёт счётчик "Sector Writes" на 2, причём только после удачной авторизации.
Если держать соединение активным, то счётчик не увеличивается до тех пор, пока соединение не завершится.
При закрытии winbox счётчик тоже увеличивается на 3.
Видимо RouterOS что-то куда-то пишет.
Думал логи, отключил - без изменений.
Если дёргать скрипт каждую секунду, то за месяц выйдет 5184000.
Пробовал на RouterOS 6.49.6 и на 7.6
Может быть это как-то лечится?
 

Через REST API счётчик не растёт, но он грузит CPU не меньше snmp.

Дебаг:

Connection attempt #1
<<< [6] /login
<<< [9] =name=api
<<< [14] =password=test
>>> [5/5] bytes read.
>>> [5, 1]!done
Connected...
Disconnected...

После чего счётчик увеличивается на 2

Edited by 1boris

Share this post


Link to post
Share on other sites

User manager хранит базу на flash. При каждом логине обновляется дата последнего успешного логина у пользователя.

Отдельно пишется на flash история терминала

На flash также пишут демоны NTP и DHCP

 

Поддержка MT рекомендует беспокоиться при показателе счетчика записи от миллиона в месяц. Реальные пределы зависят от микрухи NAND внутри, чего без разборки узнать обычно невозможно.

Share this post


Link to post
Share on other sites

При обращении к REST API тоже происходит авторизация через веб сервер, при этом счётчик не растёт.
Значит для REST API отключили обновление даты последнего успешного входа.
Получается баг в самом api, зачем хранить дату последнего подключения к api.
Если дёргать скрипт каждую секунду, то за месяц счётчик вырастет на 5кк.
Можно не рвать соединение с api, тогда счётчик не будет расти. Но где гарантия, что по какой-то причине соединение само не будет обрываться.

Может в RouterOS есть настройка для отключения обновления даты последнего успешного входа?

Share this post


Link to post
Share on other sites

2 минуты назад, 1boris сказал:

Если дёргать скрипт каждую секунду, то за месяц счётчик вырастет на 5кк.

Вопрос, зачем нужна такая необходимость?

Share this post


Link to post
Share on other sites

Хочу, например, мониторить ddm и счётчики на портах в реальном времени, чтобы отслеживать динамику и писать её в БД
Можно, конечно, уменьшить кол-во обращений до 10 секунд или минуты. Но в любом случае счётчик растёт и непонятно как это влияет на память, особенно в дешёвых устройствах.
Не очень хочется, чтобы в один момент у пары десятков устройств умерла память.
С этой задачей прекрасно справляется snmp, но он намного сильнее грузит ЦП.

Edited by 1boris

Share this post


Link to post
Share on other sites

Я видел устройства с десятками миллионов записей без BAD-блоков, и видел подохшие флешки при счетчике в несколько миллионов. Была у МТ одно время партия неудачных флешек "отсамсунга", там почти все померли в районе 3-4 лет. En masse же 256M флешка имеет 32К блоков, ресурс одного блока Hynix - 100000 записей. Если флешку не заполнять и на 10%, вы на нее миллиард записей сделаете, прежде чем там плохие блоки пойдут.

Share this post


Link to post
Share on other sites

Скорее всего вы правы, но проверять не хочу
Всё же разработчики по какой-то причине не делали обновление даты последней успешной авторизации через REST API
Лучше продолжу использовать snmp

Edited by 1boris

Share this post


Link to post
Share on other sites

Проверил, при закрытии ssh соединения счётчик тоже растёт на 2. В таком случае, мне кажется, удобнее использовать api.
Счётчик не растёт только при использовании REST API
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.