Ad Widget

Collapse

Расширяем snmp lld скриптами

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Melanxolik
    Senior Member
    • Nov 2009
    • 174

    #211
    Originally posted by firm
    В 3-ей версии реализованы шаблоны для applications.
    можно подробней, не совсем понял.

    Comment

    • Firm
      Senior Member
      • Dec 2009
      • 342

      #212
      Originally posted by Melanxolik
      можно подробней, не совсем понял.
      Вот тут https://www.zabbix.com/documentation...on/whatsnew300 в п. 5.11 указано, что при LLD новые метрики можно привязывать к приложениям на основе значений макросов из LLD. Т.е. обнаруженные интерфейсы можно просто привязывать к разными типам приложений вида iface_physical, iface_virtual и т.п. И триггера писать с привязкой к конкретному приложению.

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #213
        Originally posted by tuban
        Всем привет. Такой вопрос:
        Если, с помощью данного скрипта я буду передавать скорость интерфейса в макрос, например #ifspeed, как можно написать триггер используя данное значение?
        Вопрос не понятен. Вы попробовали использовать {#ifspeed} в выражении триггера и у вас не вышло, или что?

        Comment

        • tuban
          Senior Member
          Zabbix Certified Specialist
          • Sep 2012
          • 286

          #214
          Originally posted by jimson
          Вопрос не понятен. Вы попробовали использовать {#ifspeed} в выражении триггера и у вас не вышло, или что?
          Вот это и хотел узнать. Почему-то думал, что макрос не будет поддерживаться в выражении триггера.

          Comment

          • FreeGard
            Junior Member
            • Sep 2014
            • 2

            #215
            Originally posted by Jimson
            Вопрос не понятен. Вы попробовали использовать {#ifspeed} в выражении триггера и у вас не вышло, или что?
            Тема довольно древняя, спасибо за скрипт.
            Я не большой знаток Perl, скажите, насколько сложно переписать скрипт под библиотеку Net::SNMP?

            Comment

            • zbxnew
              Junior Member
              • Oct 2017
              • 2

              #216
              Originally posted by sadman
              Спасибо за тестирование.
              Попался в стандартную ловушку с кавычками и пробелами, на этот раз в printf:

              Code:
              #!/bin/bash
              str="--- vlan ---"
              echo "[1]" $str
              printf "[2] %s\n" "$str"
              printf "[3] %s\n" $str
              Code:
              [1] --- vlan ---
              [2] --- vlan ---
              [3] ---
              [3] vlan
              [3] ---
              Ну ничего, заодно отловил ещё пару моментов, связанных с пустыми значениями SNMP OID-ов.
              Подправленный скрипт в аттаче.
              Здравствуйте. Я не большой специалист. Пробую запустить скрипт DiscoverySNMPTrees для создания правила обнаружения имен пользователей на Cisco Unified Communications Manager. На выходе имею строку вида { "{#SNMPINDEX}":"144", "{#SNMPVALUE}":"................ .............." }, поскольку в кодах Hex в OID закодированы русские буквы. Как можно обойти ограничения запуска snmpwalk в скрипте с ключами "-Oaqn" и запустить преобразование Hex в String, типа $(snmpwalk -v 2c -Ih -Oqv -c publbc 10.10.10.10 .1.3.6.1.4.1.9.9.156.1.2.1.1.4 | tr -d '\n' | sed 's/["[:space:]]/\\x/g') | sed s/[[unct:]\x]/"\n"/g. Спасибо.

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #217
                Originally posted by zbxnew
                На выходе имею строку вида { "{#SNMPINDEX}":"144", "{#SNMPVALUE}":"................ .............." }, поскольку в кодах Hex в OID закодированы русские буквы.
                Вопрос, конечно, интересный.

                Полагаю, что его можно решить, как минимум, тупо делая преобразование на этапе формирования JSON:
                Code:
                ...
                printf "\"{#%s}\":\"%s\"" "${arrMacroNames[$idxMacroNames]}" [B]"${arrValues[$idxSNMPIndexes,$idxMacroNames]}"[/B]
                ...
                Но это будет жуткое месиво конвейеров.

                Однако, вот тут есть некоторая подсказка о DISPLAY-HINT, который может существовать в MIB-файле, который придется подключить в вызов snmpwalk: http://net-snmp.sourceforge.net/wiki...from_the_tools

                И как будто бы утилита тогда сама перекодирует, основываясь на хинте, вашу тарабарщину в правильные буквы.

                Однако, мне такие задачи пока не приходилось решать, поэтому точного рецепта я вам не предложу.

                Comment

                • zbxnew
                  Junior Member
                  • Oct 2017
                  • 2

                  #218
                  Originally posted by sadman
                  Однако, вот тут есть некоторая подсказка о DISPLAY-HINT, который может существовать в MIB-файле, который придется подключить в вызов snmpwalk: http://net-snmp.sourceforge.net/wiki...from_the_tools

                  И как будто бы утилита тогда сама перекодирует, основываясь на хинте, вашу тарабарщину в правильные буквы.

                  Однако, мне такие задачи пока не приходилось решать, поэтому точного рецепта я вам не предложу.
                  К сожалению DISPLAY-HINT по ссылке не отрабатывает, вывод все равно приходится преобразовывать. Использую для этого PHP скрипт с git. Хотелось все в одном флаконе. Что бы не плодить кучу внешних проверок. А Ваш скрипт на самом деле очень хороший. Жаль.

                  Comment

                  Working...