Ad Widget

Collapse

меняющийся oid

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sergey69
    Junior Member
    • Nov 2015
    • 16

    #1

    меняющийся oid

    Коллеги, всем привет! Есть Huawei NQA, нужно с него снимать метрики SLA. Опрашиваем таким oid
    snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30850 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30851 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30852 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30853 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30854 = Gauge32: 35
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30850 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30851 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30852 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30853 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30854 = Gauge32: 44
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30850 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30851 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30852 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30853 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30854 = Gauge32: 43
    И все бы ничего, только постоянно меняется значения 30xxx. Я так понимаю, что это некая временная метка.Как мне правильно снять данные? Может быть подмогете внешним скриптом? Спасибо!
    P.S В скриптах не мастер...
  • astrix89
    Senior Member
    • Jun 2017
    • 149

    #2
    Originally posted by Sergey69
    Коллеги, всем привет! Есть Huawei NQA, нужно с него снимать метрики SLA. Опрашиваем таким oid
    snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30850 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30851 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30852 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30853 = Gauge32: 33
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.49.30854 = Gauge32: 35
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30850 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30851 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30852 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30853 = Gauge32: 42
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.50.30854 = Gauge32: 44
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30850 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30851 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30852 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30853 = Gauge32: 41
    SNMPv2-SMI::enterprises.2011.5.25.111.4.3.1.46.5.97.100.1 09.105.110.4.49.48.48.51.30854 = Gauge32: 43
    И все бы ничего, только постоянно меняется значения 30xxx. Я так понимаю, что это некая временная метка.Как мне правильно снять данные? Может быть подмогете внешним скриптом? Спасибо!
    P.S В скриптах не мастер...

    Comment

    • Sergey69
      Junior Member
      • Nov 2015
      • 16

      #3
      имеем только 2.4 к сожалению. Хелп..

      Comment

      • astrix89
        Senior Member
        • Jun 2017
        • 149

        #4

        Comment

        • Sergey69
          Junior Member
          • Nov 2015
          • 16

          #5
          Да, каюсь не прочел. Но у меня проблема не в том что oid для наименования меняется. Счетчик отдает значения в 5 временных рамках, а мне нужно последнее. Как это решить эим мануалом не представляю..

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Я правильно Вас понял, что из приведённого в первом сообщении вывода утилиты snmpbulkwalk Вас интересуют только три значения (...48.49.30854, ...48.50.30854 и ...48.51.30854), где 30854 - это наибольшее значение последнего компонента этого OID?

            Comment

            • Sergey69
              Junior Member
              • Nov 2015
              • 16

              #7
              Originally posted by kos
              Я правильно Вас понял, что из приведённого в первом сообщении вывода утилиты snmpbulkwalk Вас интересуют только три значения (...48.49.30854, ...48.50.30854 и ...48.51.30854), где 30854 - это наибольшее значение последнего компонента этого oid?
              Да, все верно, только значения x ..48.49.x меняется. А из x брать последнее.
              Last edited by Sergey69; 07-12-2017, 16:43.

              Comment

              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #8
                Тогда можно вывод этой команды отформатировать с помощью, например, awk и заслать на сервер с помощью утилиты zabbix_sender.
                Скажем, в Linux-е получится примерно так:
                Code:
                #!/bin/sh
                ZABBIX_SERVER=127.0.0.1
                ZABBIX_HOST=MySuperHuawei
                
                snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46 | \
                awk -F '[. ]' '
                    {REZ[$20]=$24}
                END {for (I in REZ) printf "- nqa[%s] %s\n", I, REZ[I]}' | \
                /usr/local/bin/zabbix_sender -z $ZABBIX_SERVER -s $ZABBIX_HOST -i - >/dev/null
                Предполагается, что в переменной $ZABBIX_SERVER содержится имя или IP-адрес Вашего сервера Zabbix, в переменной $ZABBIX_HOST - имя хоста, для которого засылаются данные (как оно прописано в веб-интерфейсе), а на самом хосте заведены элементы данных с типом "Zabbix trapper" (integer) с ключами nqa[49], nqa[50] и nqa[51].

                AWK будет генерировать на выходе вот такое:
                Code:
                - nqa[49] 35
                - nqa[50] 44
                - nqa[51] 43
                что будет скармливаться zabbix_sender-у для отправки в Zabbix.

                При необходимости (если таких элементов данных много) можно доделать ещё и дискаверинг (LLD) - таким же образом отсылать на сервер сам список, сформатированный в виде JSON-а.
                Last edited by Kos; 07-12-2017, 18:07. Reason: опечатки

                Comment

                • Sergey69
                  Junior Member
                  • Nov 2015
                  • 16

                  #9
                  Originally posted by kos
                  Тогда можно вывод этой команды отформатировать с помощью, например, awk и заслать на сервер с помощью утилиты zabbix_sender.
                  Скажем, в linux-е получится примерно так:
                  Code:
                  #!/bin/sh
                  zabbix_server=127.0.0.1
                  zabbix_host=mysuperhuawei
                  
                  snmpbulkwalk -c ##### -v2c 10.125.x.x 1.3.6.1.4.1.2011.5.25.111.4.3.1.46 | \
                  awk -f '[. ]' '
                      {rez[$20]=$24}
                  end {for (i in rez) printf "- nqa[%s] %s\n", i, rez[i]}' | \
                  /usr/local/bin/zabbix_sender -z $zabbix_server -s $zabbix_host -i - >/dev/null
                  Предполагается, что в переменной $zabbix_server содержится имя или ip-адрес Вашего сервера zabbix, в переменной $zabbix_host - имя хоста, для которого засылаются данные (как оно прописано в веб-интерфейсе), а на самом хосте заведены элементы данных с типом "zabbix trapper" (integer) с ключами nqa[49], nqa[50] и nqa[51].

                  Awk будет генерировать на выходе вот такое:
                  Code:
                  - nqa[49] 35
                  - nqa[50] 44
                  - nqa[51] 43
                  что будет скармливаться zabbix_sender-у для отправки в zabbix.

                  При необходимости (если таких элементов данных много) можно доделать ещё и дискаверинг (lld) - таким же образом отсылать на сервер сам список, сформатированный в виде json-а.
                  Спасибо! попробую ваш вариант. Отпишусь по результатам. Да lld очень хотелось бы.

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #10
                    Originally posted by Sergey69
                    Спасибо! попробую ваш вариант. Отпишусь по результатам. Да lld очень хотелось бы.
                    Да, отпишитесь, пожалуйста. Если всё OK - сделаем по той же схеме и автообнаружение. Только уточните, пожалуйста, как долго отрабатывает Ваш snmpbulkwalk. Если это быстро (1-2 секунды), то можно будет его для дискаверинга вызывать через UserParameters; если долго - придётся вызов организовывать как-то независимо от Zabbix-а (например, по CRON-у).

                    Comment

                    Working...