Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Запрос: Вынести изменения состояния OSPF из категории лога 'debug'

    Запрос: Вынести изменения состояния OSPF из категории лога 'debug'

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Запрос: Вынести изменения состояния OSPF из категории лога 'debug', RouterOS
     
    millenium7
    Guest
    #1
    0
    04.11.2019 05:34:00
    Часть нашего мониторинга заключается в регистрации и оповещении о изменениях состояния OSPF. В данный момент только переход "в DOWN" регистрируется как сообщение ‘route, ospf, info’, но всё остальное, например, “состояние изменилось с Loading на Full”, попадает в категорию ‘route, ospf, debug’. Это значит, что я не могу генерировать сообщения, показывающие, что связь с соседом OSPF восстановилась, только когда сосед отключается (если, конечно, не хочу отправлять все отладочные сообщения OSPF на сервер SysLog... ни в коем случае). Разработчики MikroTik: не могли бы вы переместить эти сообщения из ‘debug’ в ‘info’, чтобы я мог регистрировать и оповещать, когда сосед снова активен? В противном случае мы получаем только одно оповещение "Down", и нам приходится заходить, чтобы проверить, всё ли ещё отключено или это была просто кратковременная проблема.
     
     
     
    millenium7
    Guest
    #2
    0
    17.04.2021 10:21:00
    Должен сделать дополнительный пост, поэтому вот он. Мне пришлось отключить этот скрипт по всей нашей сети. Где-то есть ошибка, и я не могу понять, что это. В большинстве случаев этот скрипт работает нормально, но иногда по какой-то причине он просто продолжает срабатывать и сообщать о статусе «вверх», хотя никаких изменений в соседях нет. Я проверил свой скрипт (и был бы признателен, если бы кто-то другой тоже посмотрел) и действительно не могу найти никакой проблемы, поэтому думаю, что это ошибка в выводе соседей MicroTik. Возможно, он возвращает ошибку/недопустимые записи и не обновляет глобальное значение, из-за чего всегда кажется, что оно отличается, и снова срабатывает уведомление «вверх». Я просто не знаю, как с этим обойтись. Поэтому мне, к сожалению, пришлось отключить это на данный момент. К MikroTik: ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, просто ПОЧИНИТЕ отчетность журналов! Это действительно очень простое изменение — просто добавить уведомления «вверх» в журнал! У вас уже есть уведомления «вниз» в ospf,info, так почему же у вас нет уведомлений «вверх»? Они есть в отладке, что совершенно нелепо, потому что это просто заполняет файл журнала, и абсолютно непрактично получать полные отладочные уведомления ospf каждые 1 секунду (интервал hello, который мы используем) на каждом маршрутизаторе в нашей сети. Это так глупо! Это задача на 5 минут для младшего инженера — просто перенести уведомление из отладки в информацию (предупреждение было бы еще лучше). Пожалуйста, просто сделайте это!!!
     
     
     
    millenium7
    Guest
    #3
    0
    25.01.2022 01:35:00
    Поднимаю этот вопрос. MikroTik, пожалуйста, реализуйте это в следующем обновлении прошивки. Это должно быть невероятно простым и лёгким делом, сообщения уже есть, просто возьмите сообщение «up» (и все другие ключевые изменения состояния) и отнесите его к категории «ospf, info». Очень просто, займет 30 минут, если не меньше.
     
     
     
    WreckLoose
    Guest
    #4
    0
    25.02.2022 15:02:00
    Я просмотрел свой скрипт (и буду признателен, если кто-то еще это сделает), но не могу найти ни одной проблемы, поэтому думаю, что это ошибка в выводе соседей Mikrotik. Возможно, он выдает ошибку или недопустимые записи и не обновляет глобальное значение, поэтому оно всегда кажется различным, вызывая повторное уведомление «включено». Я модифицировал ваш скрипт для работы с ботом в Telegram и заметил похожее поведение. Либо я не получаю никаких уведомлений, либо получаю повторяющиеся уведомления, как вы описали. Я изучал вывод соседей, так как чувствую, что именно отсюда могут происходить проблемы. В сессии Winbox в разделе System > Scripts > Environment замечаю, что значение не заполняется иногда и также довольно часто варьируется на других маршрутизаторах. Я продолжаю работать над этим, так как считаем, что изменения состояния OSPF — важные уведомления. P.S. Спасибо за проделанную работу над начальным скриптом и за то, что начали эту тему!
     
     
     
    sjwrick
    Guest
    #5
    0
    10.12.2024 01:19:00
    Есть ли какие-то новые достижения в разработке этого сценария? Собираюсь попробовать внедрить это в часть своей сети. Рик
     
     
     
    millenium7
    Guest
    #6
    0
    10.12.2024 01:34:00
    Нет обновлений, но меня поражает, что MikroTik по-прежнему ничего не сделал по этому поводу. Это задача на 5 минут в пятницу после обеда, буквально нужно просто перенести классификацию некоторых сообщений OSPF в правильную категорию, и все. Видимо, это ситуация "курица и яйцо", что должно быть первым? Никому, похоже, не интересно, потому что никто не использует сообщения в журнале, так как они не находятся в нужном месте...
     
     
     
    wiseroute
    Guest
    #7
    0
    10.12.2024 01:46:00
    @millenium7, супер, однако иногда по какой-то причине скрипт продолжает срабатывать и сообщать о статусе «вверх», несмотря на то, что в соседях нет никаких изменений. Если соседи действительно были в состоянии «вниз» без каких-либо уведомлений, то это часть вашего скрипта работает корректно. Сделайте проверку последней метки времени. Предположим, мы выполняем tail -n 10 /var/log/messages|grep -i что-то… без какой-либо проверки, тогда последняя метка времени будет взята вашей частью скрипта, следовательно, скрипт еще раз работает корректно. Альтернатива: если последняя метка времени < (текущая метка времени - 1 минута), тогда выйти. #это гарантирует отсутствие многократного логирования за 1 минуту, иначе последняя метка времени = получить сообщение. fi эта часть «вверх»… зависит от вашего бэкенда syslog - был ли это MySQL? если да, то вы можете просто изменить/добавить ваш статус «вверх» в соответствующую колонку. tail -n 10 /var/log/messages| grep “up”|sed \debug\info\ >> в sql функции. #или что-то подобное и не забудьте про синхронизацию времени NTP по всей сети - чтобы скрипт работал корректно. Удачи!
     
     
     
    stsimb
    Guest
    #8
    0
    29.05.2020 14:49:00
    Действительно, это было бы очень полезно, но в текущих версиях 6.45 (долгосрочная) и 6.46 (стабильная) это отсутствует. Тем временем, нашли ли вы какое-либо обходное решение для получения изменений состояния?
     
     
     
    chaigeo
    Guest
    #9
    0
    29.05.2020 15:47:00
    Да, у меня такая же проблема. Интересно, почему никто не отвечает на что-либо.
     
     
     
    millenium7
    Guest
    #10
    0
    05.02.2021 08:16:00
    Поскольку MikroTik все еще не реализовал изменение состояния с "Вниз" на "Вверх", я написал скрипт, чтобы симулировать это в промежутке. Он не идеален, но свою задачу выполняет. Скрипт работает как программа, поэтому уведомления не приходят мгновенно, а сообщения отображаются в категории ‘script,info’, а не ‘route,ospf,info’, так что если вы проводите удаленный мониторинг syslog, вам нужно это учесть. Скрипт настроен на просмотр журналов за последнюю минуту и сохраняет любые сообщения с информацией OSPF. Затем он перебирает их и сравнивает активные соседства OSPF: если он видит сообщение "Вниз", но Router-ID в данный момент активен, предполагается, что связь восстановилась, и отправляется сообщение в журнал: “OSPFv2 neighbor [ID]: изменение состояния с Вниз на Вверх на [интерфейсе]”. Я предлагаю запланировать его выполнение раз в минуту. Если хотите запускать реже, то измените время в строке 3 скрипта, чтобы просматривать сообщения журнала с большим интервалом:

    /global OSPFNeighborList
    :if ($OSPFNeighborList != [/routing ospf neighbor find]) do={
    :local OSPFDownMessages [/log find where topics=route,ospf,info time>=([/system clock get time]-00:01:00)]
    :foreach i in=[$OSPFDownMessages] do={
    :local m [/log get $i message]
    :local t [:pick $m ([find $m "r"]+2) [find $m ":"]]
    :local r [/routing ospf neighbor find where router-id=$t]
    :local r [:pick $r 0]
    :local ri [/routing ospf neighbor get $r interface]
    :if ($r != "") do={:log info "OSPFv2 neighbor $t: state change from Down to Up on $ri"};
    };
    };
    :global OSPFNeighborList [/routing ospf neighbor find];

    Мне пришлось добавить несколько дополнительных проверок на дублирующиеся Router ID (т.е. резервные пути), так как это создавало проблемы. Скрипт будет отправлять сообщение "Вниз на Вверх", если хотя бы один путь к маршрутизатору все еще активен. Это не совсем корректно, потому что активная связь не переходит из состояния "Вниз" в "Вверх", т.е. у вас есть ether1 ↔ ether1 и ether2 ↔ ether2 на RouterA и RouterB соответственно. Если связь на ether2 была потеряна, технически должно быть только одно сообщение "Вверх на Вниз". Однако этот скрипт сравнивает Router-ID и видит, что на самом деле есть путь к RouterB, так что он отправляет "Вниз на Вверх". "Вниз на Вверх" также не является фактическим состоянием, это просто предположение. Технически маршрутизатор может остаться в состоянии init/exstart/2way, и он будет показывать "Вверх", это не смотрит на фактическое состояние. Это можно было бы реализовать в скрипте, но я не хочу усложнять его слишком сильно. Я бы предпочел, чтобы MikroTik просто реализовал это корректно с самого начала... Кроме того, в скрипте упоминается интерфейс. Мне бы хотелось, чтобы эта информация включалась по умолчанию в сообщение журнала. Потому что при наличии нескольких/резервных путей между маршрутизаторами мне важно знать, какой интерфейс вышел из строя, а не только о соседстве. Хотелось бы знать, если низкоскоростная резервная ссылка упала и это никого не затронет, или если вышла из строя основная высокоскоростная, что может вызвать задержки и заторы.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры