Перейти до

Мониторинг сигнала на Mikrotik + ubnt 5.6.9


Рекомендованные сообщения

(Мониторинг сигнала на Mikrotik) Очень удобная штука для мониторинга клиентов на базах в режиме онлайн и все прекрасно работала да прошивки 5.5.10 

можно было и дальше на ней висеть но  в один прекрасный момент словили вирус  и было принято решение установить последнюю прошивку  5.6.9

и передача по SNMP прекратилась

может кто - то решил эту проблему подскажите ??? 

Ссылка на сообщение
Поделиться на других сайтах

наверное там поменялись OID ,   в модуле   .1.3.6.1.4.1.14988.1.1.1.2.1.3

 

snmpwalk -c public -v1 -On 192.168.1.20 .1

.1.3.6.1.4.1.41112.1.4.7.1.8.1.68.217.231.76.194.199 = INTEGER: 71

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах
отредактировал /modules/general/mtsigmon/index.php нечего не изменилось

что за бред , все там меняется , только что проверил , но про сигнал микротик придется забыть или нормально подправить скрипт.

если нужен только ubnt то меняем например это

 $oid = '.1.3.6.1.4.1.14988.1.1.1.2.1.3';  

на

$oid = '.1.3.6.1.4.1.41112.1.4';    и получаем полный фарш

$oid = '.1.3.6.1.4.1.41112.1.4.7.1.3.1';   или сигнал и  mac станции

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах

да действительно  работает ! спасибо !  жаль я не смогу отредактировать  чтоб отображалось красиво))) может кто у кого есть готовое решение буду очень благодарен. я думал что информация будет отображаться как раньше Фио / мак / сигнал  

Ссылка на сообщение
Поделиться на других сайтах
я думал что информация будет отображаться как раньше Фио / мак / сигнал  

 

скрипт называется mtsignmon а не ubntsignmon а oid совпадали раньше возможно случайно

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

теперь уже что - то похоже но показует неправильный мак в начале пишет 01 а потом правильный 

5a162d0938e51a949b805364f723b3bc.GIF

Відредаговано livalera
Ссылка на сообщение
Поделиться на других сайтах

да там весь парсинг надо переписывать для  ubnt , хрен с ним, у меня из ubnt остался один только мост на бимах

Відредаговано zaza12
Ссылка на сообщение
Поделиться на других сайтах

 

жаль! ну раз меня одного волнует эта тема тогда закрываю ее (((

Создал pull request. Ждем, пока закоммитят.

 

Ubilling CURRENT 0.7.9 rev 5166

Ссылка на сообщение
Поделиться на других сайтах
  • 3 months later...

а случаем не планируется добавить уровень сигнала с Deliberant? только у них snmp v1 ..

Вы предлагаете разработчикам купить такую железку, чтобы поискать в ней нужные OID ?

Ссылка на сообщение
Поделиться на других сайтах

Было бы удобнее, если бы была форма ввода настройек под устройтва. Например, добавляете устройство, ввыбераете его тип (Микротик, UBNT и другое), при выборе другое пусть человек сам прописывает ручками коммьюнити oid и все такое.

Ссылка на сообщение
Поделиться на других сайтах
  • 5 months later...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від legenda vols
      Всем привет, заезженная тема но приходиться искать по всем уголкам интернета - А именно OID и как их использовать.
      Начнём. 
      для новичков.
      bash 
      set_olt_oids() {
          # Общие для EPON (BDCOM)
          if [[ "$1" =~ ^(P3310|P3310B|P3310C|P3608|P3608B|P3316|P3600-16E|P3608-2TE|P3616-2TE|IEP3310)$ ]]; then
              OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2"
              OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"
              OID_AUNT_ONU_STATUS="SNMPv2-SMI::enterprises.3320.101.10.1.1.26"
              OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80"
              OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
              OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
              OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
              LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
              LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
              LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
              OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8"
              OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде
              OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"
              OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0 reboot
              OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2" #.$portID.$mac10" i 0 #mac decimal onu
          fi
          # Общие для GPON
          if [[ "$1" =~ ^(GP3600-08|GP3600-16B|GP3600-08B)$ ]]; then
              ETH_STATUS="1.3.6.1.2.1.2.2.1.8" # статус порта 1 портовая ону
              ETH_STATUS4="1.3.6.1.4.1.3320.10.4.1.1.4" # статус портов 4х портовая ону
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_ADMIN_STATUS="1.3.6.1.4.1.3320.10.4.1.1.3"
              OID_DOWN_REASON="1.3.6.1.4.1.3320.10.3.1.1.35"
              OID_DIST="1.3.6.1.4.1.3320.10.3.1.1.33"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.10.3.1.1.9"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.10.3.2.1.4" #snmpset -v2c -c RW IP OID.onuIndex i 1 reboot
              
          fi
          # Уникальные параметры для моделей
          case "$1" in
              # EPON модели
              P3310 | P3310B)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              IEP3310)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  ;;
              P3608 | P3608B | P3310C | P3316 | P3600-16E | P3608-2TE | P3616-2TE)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.101.108.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              # GPON модели
              GP3600-08 | GP3600-16B | GP3600-08B | P3600-08E)
                  OID_RX_ONU="1.3.6.1.4.1.3320.10.3.4.1.2"
                  OID_RX_OLT="1.3.6.1.4.1.3320.10.2.3.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.10.3.4.1.3"
                  OID_GET_MAC="1.3.6.1.4.1.3320.10.3.1.1.4"
                  ;;
              *)
                  echo -e "\e[1;91mНеизвестный режим OLT: $1\e[0m"
                  return 1
                  ;;
          esac
          return 0
      }
      что бы было понятно в дальнейшем что за переменные 
      snmp1="snmpwalk -v2c -c паблик стринг"
      snmp2="snmpwalk -v2c -Ouqv -c паблик стринг"
      snmp3="snmpget -v2c -c паблик стринг"
      snmp3q="snmpget -v2c -Ouqv -c паблик стринг"
      snmp4="snmpget -v2c -Ouqv -c приват стринг"
      snmp5="snmpset -v2c -c приват стринг"

      EPON GEPON
      1- OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1" на бдкомах епон 
      = SNMPv2-SMI::enterprises.3320.101.10.4.1.1.96 = Hex-STRING: A0 94 6A 97 CC 50
      snmp_response=$($snmp3 "$IP" "$OID_GET_MAC.$1" 2>/dev/null | awk -F'Hex-STRING: ' '{print tolower($2)}' | tr -d ' ')
          onu_mac=$(echo "$snmp_response" | sed 's/\(..\)/\1:/g;s/:$//') #Переводим в человеческий вид
          mac10=$(echo "$snmp_response" | awk '{    # Переводим в mac10 дада способов есть миллиард.
              for (i=1; i<=length; i+=2) {
                  printf "%d", strtonum("0x" substr($0, i, 2))
                  if (i + 2 <= length) printf "."
              }
              print ""
          }')

      лучший способ сделать функцию для форматирования снмп запросов в зависимости от типов STRING / HEX-STRING / COUNTER32 и тд тп.

      ifID=$($snmp1 "$IP" "$OID_IF_MAC10" 2>/dev/null | awk -v mac="$mac10" '$0 ~ mac {split($1, arr, "."); print arr[length(arr)-6]; exit}') 


      2 - OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
      тут без лишних слов возвращает вендор онушек 
      SNMPv2-SMI::enterprises.3320.101.10.1.1.1.97 = STRING: "XPON"   если укажем параметр -Oqv  или -Ouqv получим просто "XPON" и надо будет лишь сделать | tr -d ' " '    что бы удалить лапки.

      3 - OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2" аналогично вендорам, получаем модель.

      4- OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"  - температура ону делим на / 256
      SNMPv2-SMI::enterprises.3320.101.10.5.1.2.17 = INTEGER: 7027  
      temp_onu=$($snmp3q $IP 1.3.6.1.4.1.3320.101.10.5.1.2.$INDEX | awk '{printf "%.2f", $1/265}' 2>/dev/null)

      5 - OID_AUNT_ONU_STATUS="1.3.6.1.4.1.3320.101.10.1.1.26"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.26.276 = INTEGER: 3

      onuAunt_type=$($snmp3q $IP "$OID_AUNT_ONU_STATUS.$INDEX" 2>/dev/null)
          case "$onuAunt_type" in
              0) onuAunt_type_txt="authenticated" ;;
              1) onuAunt_type_txt="registered" ;;
              2) onuAunt_type_txt="deregistered" ;;
              3) onuAunt_type_txt="auto_config" ;;
              4) onuAunt_type_txt="lost" ;;
              *) onuAunt_type_txt="unknown" ;;
          esac

      6 - OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80" uptime
      SNMPv2-SMI::enterprises.3320.101.10.1.1.80.207 = INTEGER: 290907
      timetick 
      | awk '{h=int($1/3600); m=int(($1%3600)/60); s=$1%60; printf "AliveTime: %dч %dмин %dсек\n", h, m, s}')${reset}"

      7 - OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.27.149 = INTEGER: 1600
      на епоне в метрах  на гпоне делим на 10

      8 - OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3.14.60.21.18.8.130.175 = Hex-STRING: 3C 15 12 08 82 AF  
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3      .14-PORTINDEX     60.21.18.8.130.175  - MAC10                = Hex-STRING: MAC HEX

      9- OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.227.186 = INTEGER: 125
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.247.136 = INTEGER: 125
      возвращает PORT INDEX и можно грепнуть по mac10 найти индекс и можно грепнуть через мак10

      10 - LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
      дату отдаёт в хексе. надо декодировать это дело.
      вызов snmp + IP + oid + PORTINDEX + MAC10 
      date_hex=$($snmp1 $IP "$LASTREG_DATE.$IF_INDEX.$mac10" 2>/dev/null | awk -F': ' '{print $2}' | tr -d ' ')
      if [[ -n "$date_hex" ]]; then
              # Преобразуем дату из hex в числовое представление
              data=($(echo "$date_hex" | sed 's/../0x& /g'))
              local year=$((data[0] * 256 + data[1]))
              local month=${data[2]}
              local day=${data[3]}
              local hour=${data[4]}
              local minute=${data[5]}
              local second=${data[6]}


      local formatted_date=$(printf "%04d-%02d-%02d %02d:%02d:%02d" "$year" "$month" "$day" "$hour" "$minute" "$second")


      10 - LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
      аналогично 9му оиду.

      11 - LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
      DEREG_STATUS=$($snmp3 $IP "$LASTDEREG_REASON.$IF_INDEX.$mac10" -Oqv 2>/dev/null)
          case "$DEREG_STATUS" in
              2) dereg_status_text="normal";;
              3) dereg_status_text="mpcp-down";;
              4) dereg_status_text="oam-down";;
              5) dereg_status_text="firmware-download";;
              6) dereg_status_text="illegal-mac";;
              7) dereg_status_text="llid-admin-down";;
              😎 dereg_status_text="wire-down";;
              9) dereg_status_text="power-off";;
              255) dereg_status_text="unknown";;
              0) dereg_status_text="Нет данных.";;
              *) dereg_status_text="not found";;
          esac

      есть прикол если онушка autoconfig статус 3 / authenticated статус 0
      там инвертируються 7 и 8  может и от моделей ону зависеть.... 
      7) dereg_status_text="llid-admin-down";;
      😎 dereg_status_text="wire-down";;
      это уже тестами )


      12  -  OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8" статус езернет ничего не обычного кроме того что может верно отдать данные с 2-3го раза )
      2 down 1 up 
      там же есть прикол с authenticated autoconfig инвертируется...
      local PORT_COUNT=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX" | wc -l)
      local ETH_STATUS=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX.$port" 2>/dev/null)
              [[ "$ETH_STATUS" =~ ^[0-9]+$ ]] || continue  # Проверяем, что ETH_STATUS - это число
              if [[ "$onuAunt_type" == "0" ]]; then
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 2 ]] && echo "UP" || echo "DOWN" )
              else
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 1 ]] && echo "UP" || echo "DOWN" )
              fi

      13 - OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде.
      14 - OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"   гигабит езернет порты на онушках (кол-во)
      15 - OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"   ФастЕзернет 100мбит аналогично. 
      INTEGER 

      16 - OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0                                  reboot REBOOT ONU epon snmp
      $snmp5 "$IP" "$OID_REBOOT_ONU.$INDEX" i 0 >/dev/null 2>&1

      17 - delete onu epon  удалить ону бдком снмп 
      OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2"
      $snmp5 "$IP" "$OID_DEL_ONU.$ifID.$mac10" i 0 > /dev/null 2>&1    oid.PORTINDEX.mac10 i 0 
      остальные есть выше там думаю всё понятно.

      SIGNAL LEVELS в зависимости от моделей плат и олтов расписаны 
      все везде одинаково 
      $snmp2 "$IP" "$OID_RX_OLT.$INDEX" 2>/dev/null | awk '{print $NF / 10}')   результат делим на 10.

      epon пакеты, ошибки по портам на онушке.
      broadcasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.16.$INDEX.$port" 2>/dev/null)
      multicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.17.$INDEX.$port" 2>/dev/null)
      unicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.18.$INDEX.$port" 2>/dev/null)
      pause=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.19.$INDEX.$port" 2>/dev/null)
      fcserrs=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.20.$INDEX.$port" 2>/dev/null )
      oversize=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.13.$INDEX.$port" 2>/dev/null)
      jabber=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.14.$INDEX.$port" 2>/dev/null)

      мне бы такое помогло.. а не искать на тонне форумов и сайтов и неделю тыкая snmpwalk и выясняя что и для чего. остального и в инете полно. 
    • Від olapchuk
      Вечір добрий 
      потрібно підсказка чи це взагалі можливо зробити через snmp в ціско
      як влан створити, видалити і переімінувати розібрався через snmp, якщо комусь цікаво тут написано https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/45080-vlans.html, якщо треба приклади скину 
      але проблема в наступному, в ціско всі знають є таке штука яка interface vlan **id**
      тут потрібно саме це створити через snmp і задати пару параментрів, його взагалі можна створити через snmp!?
      interface Vlan3**
        no shutdown
        ip address 192.168.***.***/27
      подякував якщо хто тикне куди дивитись
    • Від Georgianairlink
      нужен OID, чтобы увидеть это с помощью snmp
      interface TGigaEthernet0/1 description test switchport trunk vlan-allowed 352,362,365,509,514-515,518,528,565-566,590 switchport trunk vlan-allowed add 720-723,1543-1546,2021,2201,2208,2378,2441 switchport trunk vlan-untagged 1 switchport mode trunk  
    • Від apels1n
      Доброго времени суток. Столкнулись с проблемой, userside не тушит линк на портах у fd1208s, версия прошивки: V1.6.0_230223 (Thu, 23 Feb 2023 10:26:48 +0800). Если у кого есть список актуальных миб для неё, поделитесь пожалуйста. И подскажите как их импортировать в userside
    • Від volkras
      Доброго дня.
       
      Розробляю систему моніторинга. Хто може діліться конкретними ОІД. Потрібно найти наступні OIDS:
      1.  Absenttime -- Час скільки лежить онушка (Alive Time вже найшов)
      2. LastDeregReason -- Остання причина падіння онушки.
       
      Також Якщо є додаткові mibs прохання поділитися.
×
×
  • Створити нове...