Ad Widget

Collapse

Мониторинг аппаратов Xerox

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AbyssMoon
    Member
    • Nov 2012
    • 51

    #16
    Originally posted by pzabortsev
    не, там много нужно скриншотить...

    Если ручками, то можно набить из файла Printer-MIB. Все взято оттуда.
    Странно, все работает, кроме скрипта, причем когда я его руками запускаю, он вроде нормально отрабатывает...

    Code:
    root@geostar-server:/etc/zabbix/externalscripts# ./prtMarkers_discovery.pl 192.168.28.62 161 public
     50884:20141124:191806.000 1 192.168.28.62:161 START
     50884:20141124:191806.000 1 192.168.28.62:161 GET prtMarkerSuppliesDescription
     50884:20141124:191806.000 1 192.168.28.62:161 GET prtMarkerSuppliesType
     50884:20141124:191806.000 1 192.168.28.62:161 GET prtMarkerColorantValue
     50884:20141124:191806.000 1 192.168.28.62:161 READY to output JSON format
    {"data":[{"{#MARKER_INDEX}":"1","{#MARKER_DESCR}":"Black Toner Cartridge, High Capacity, P/N 106R01412","{#MARKER_TAGS}":",Black Toner Cartridge, High Capacity, P/N 106R01412,Type:3,Color:Black,"},]}
     50884:20141124:191806.000 1 192.168.28.62:161 {"data":[
     50884:20141124:191806.000 1 192.168.28.62:161 {"{#MARKER_INDEX}":"1"
     50884:20141124:191806.000 1 192.168.28.62:161 ,"{#MARKER_DESCR}":"Black Toner Cartridge, High Capacity, P/N 106R01412"
     50884:20141124:191806.000 1 192.168.28.62:161 ,"{#MARKER_TAGS}":",Black Toner Cartridge, High Capacity, P/N 106R01412,Type:3,Color:Black,"
     50884:20141124:191806.000 1 192.168.28.62:161 },
     50884:20141124:191806.000 1 192.168.28.62:161 ]}
     50884:20141124:191806.000 1 192.168.28.62:161 FINISH
    А вот заббикс ругается
    Value should be a JSON object.
    и сваливает дисковери правило в нот суппорт.

    либо заббикс json распарсить не может, либо параметры неверно передает скрипту... не пойму...
    В лог файле пусто.

    Comment

    • pzabortsev
      Senior Member
      • Dec 2012
      • 338

      #17
      В тексте скрипта есть переменная:
      Code:
      my $DEBUG   = 0;
      Так вот она должна быть равна 0.

      Comment

      • aib
        Senior Member
        • Jan 2014
        • 1615

        #18
        и еще
        JSON вывод содержит лишнюю запятую, что Zabbix в версиях больше 2.0 просто ненавидит
        Code:
         50884:20141124:191806.000 1 192.168.28.62:161 [B][U]},[/U][/B]
         50884:20141124:191806.000 1 192.168.28.62:161 ]}
         50884:20141124:191806.000 1 192.168.28.62:161 FINISH
        Это проблема скрипта, которую надо решать, к сожалению.
        Sincerely yours,
        Aleksey

        Comment

        • AbyssMoon
          Member
          • Nov 2012
          • 51

          #19
          Originally posted by aib
          и еще
          JSON вывод содержит лишнюю запятую, что Zabbix в версиях больше 2.0 просто ненавидит
          Code:
           50884:20141124:191806.000 1 192.168.28.62:161 [B][U]},[/U][/B]
           50884:20141124:191806.000 1 192.168.28.62:161 ]}
           50884:20141124:191806.000 1 192.168.28.62:161 FINISH
          Это проблема скрипта, которую надо решать, к сожалению.
          Да, похоже из-за нее все равно не работает..
          А версия у меня 2.4.2

          Code:
          root@geostar-server:/etc/zabbix/externalscripts# ./prtMarkers_discovery.pl 192.168.28.62 161 public
          {"data":[{"{#MARKER_INDEX}":"1","{#MARKER_DESCR}":"Black Toner Cartridge, High Capacity, P/N 106R01412","{#MARKER_TAGS}":",Black Toner Cartridge, High Capacity, P/N 106R01412,Type:3,Color:Black,"},]}
          Поковыряю на досуге может быть, если исправлю - положу версию поправленную тут.

          Comment

          • AbyssMoon
            Member
            • Nov 2012
            • 51

            #20
            Запятую победил, но проблему это не решило...поковыряю еще...

            было
            Code:
            root@geostar-server:/etc/zabbix/externalscripts# ./prtMarkers_discovery.pl 192.168.28.69 161 public
            {"data":[{"{#MARKER_INDEX}":"1","{#MARKER_DESCR}":"Black Toner Cartridge, High Capacity, P/N 106R01412","{#MARKER_TAGS}":",Black Toner Cartridge, High Capacity, P/N 106R01412,Type:3,Color:Black,"},]}
            стало
            Code:
            root@geostar-server:/etc/zabbix/externalscripts# ./prtMarkers_discovery.pl 192.168.28.69 161 public
            {"data":[{"{#MARKER_INDEX}":"1","{#MARKER_DESCR}":"Black Toner Cartridge, High Capacity, P/N 106R01412","{#MARKER_TAGS}":",Black Toner Cartridge, High Capacity, P/N 106R01412,Type:3,Color:Black,"}]}
            Валидацию на http://jsonlint.com стал проходить вывод, но все равно не пашет...
            Last edited by AbyssMoon; 24-11-2014, 19:29.

            Comment

            • AbyssMoon
              Member
              • Nov 2012
              • 51

              #21
              Видимо передаются криво данные скрипту, включил дебаг на сервере...
              Code:
              63179:20141124:205704.490 In substitute_key_macros() data:'prtMarkers_discovery.pl[{HOST.CONN},{$SNMP_PORT},{$SNMP_COMMUNITY},${CARTRIDGES}]'
               63179:20141124:205704.490 In substitute_simple_macros() data:'{HOST.CONN}'
               63179:20141124:205704.490 End substitute_simple_macros() data:'192.168.28.69'
               63179:20141124:205704.490 In substitute_simple_macros() data:'{$SNMP_PORT}'
               63179:20141124:205704.490 In DCget_user_macro() macro:'{$SNMP_PORT}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_PORT}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_PORT}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_PORT}'
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 In DCget_global_macro() macro:'{$SNMP_PORT}'
               63179:20141124:205704.490 End of DCget_global_macro()
               63179:20141124:205704.490 End of DCget_user_macro()
               63179:20141124:205704.490 End substitute_simple_macros() data:'{$SNMP_PORT}'
               63179:20141124:205704.490 In substitute_simple_macros() data:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 In DCget_user_macro() macro:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 In DCget_host_macro() macro:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 End of DCget_host_macro():FAIL
               63179:20141124:205704.490 In DCget_global_macro() macro:'{$SNMP_COMMUNITY}'
               63179:20141124:205704.490 End of DCget_global_macro()
               63179:20141124:205704.490 End of DCget_user_macro()
               63179:20141124:205704.490 End substitute_simple_macros() data:'public'
               63179:20141124:205704.491 In substitute_simple_macros() data:'${CARTRIDGES}'
               63179:20141124:205704.491 End substitute_simple_macros() data:'${CARTRIDGES}'
               63179:20141124:205704.491 End of substitute_key_macros():SUCCEED data:'prtMarkers_discovery.pl[192.168.28.69,{$SNMP_PORT},public,${CARTRIDGES}]'
               63179:20141124:205704.491 In get_value() key:'prtMarkers_discovery.pl[{HOST.CONN},{$SNMP_PORT},{$SNMP_COMMUNITY},${CARTRIDGES}]'
               63179:20141124:205704.491 In get_value_external() key:'prtMarkers_discovery.pl[{HOST.CONN},{$SNMP_PORT},{$SNMP_COMMUNITY},${CARTRIDGES}]'
               63179:20141124:205704.491 In zbx_popen() command:'/etc/zabbix/externalscripts/prtMarkers_discovery.pl "192.168.28.69" "{$SNMP_PORT}" "public" "${CARTRIDGES}"'
               63179:20141124:205704.492 End of zbx_popen():6
               64169:20141124:205704.492 zbx_popen(): executing script
               63179:20141124:205704.535 In zbx_waitpid()
               63179:20141124:205704.535 zbx_waitpid() exited, status:2
               63179:20141124:205704.535 End of zbx_waitpid():64169
               63179:20141124:205704.536 End of get_value_external():SUCCEED
               63179:20141124:205704.536 End of get_value():SUCCEED
               63179:20141124:205704.536 In activate_host() hostid:10153 itemid:26734 type:10
               63179:20141124:205704.536 End of activate_host()
               63179:20141124:205704.536 In lld_process_discovery_rule() itemid:26734
               63179:20141124:205704.536 query [txnlev:0] [select hostid,key_,state,evaltype,formula,error,lifetime from items where itemid=26734]
               63179:20141124:205704.536 In substitute_simple_macros() data:'30'
               63179:20141124:205704.536 query [txnlev:0] [select item_conditionid,macro,value from item_condition where itemid=26734]
               63179:20141124:205704.536 In lld_rows_get()

              Comment

              • AbyssMoon
                Member
                • Nov 2012
                • 51

                #22
                Победил...
                Надо поправить дискавери правило на:
                prtMarkers_discovery.pl[{HOST.CONN},161,$SNMP_COMMUNITY},${CARTRIDGES}]
                и заработало...

                правда надо теперь все равно что-то с запятой думать, для себя то я ее просто убрал, так как у меня везде по 1 картриджу, но на цветных принтерах так работать не будет...

                Comment

                • aib
                  Senior Member
                  • Jan 2014
                  • 1615

                  #23
                  что-то у вас тут запутано с фигурными скобками и знаками $
                  Code:
                  prtMarkers_discovery.pl[{HOST.CONN},161,$SNMP_COMMUNITY},${CARTRIDGES}]
                  Логичнее было бы
                  Code:
                  prtMarkers_discovery.pl[{HOST.CONN},161,{$SNMP_COMMUNITY},{$CARTRIDGES}]
                  и в описании хоста указать пару макросов
                  {$SNMP_COMMUNITY} => public
                  {$CARTRIDGES} => 1
                  Sincerely yours,
                  Aleksey

                  Comment

                  • pzabortsev
                    Senior Member
                    • Dec 2012
                    • 338

                    #24
                    Вообще у меня на некоторых принтерах прекрасно работает шаблон с LLD на заббиксовском SNMP (прикладываю шаблон для SNMPv1, может пригодится).

                    Внешний скрипт нужен для принтеров, которые названия катриджей выдают в Hex-STRING, как Xerox. Ну и для RICOH.

                    Да, скрипт работает под zabbix 2.0.13.
                    Attached Files

                    Comment

                    • faddist88
                      Junior Member
                      • Sep 2015
                      • 1

                      #25
                      Скачал шаблон и скрипт с первой страницы. Чтобы он заработал пришлось его немного подправить. Выкладываю готовый результат.

                      Инструкция по установке:
                      1. Проверяем что у нас установлены: компоненты perl, snmp и другие важные штуки. Скачиваем MIBs
                      2. Копируем prtMarkers_discovery.pl на сервер zabbix в папку со внешними скриптами заббикса (в настройках сервера параметр ExternalScripts )
                      3. Правим права и владельца prtMarkers_discovery.pl чтобы заббикс мог запускать его.
                      4. Пробуем запускать скрипт
                      prtMarkers_discovery1.pl ip.printera 161 public
                      Вместо ip.printera необходимо подставить IP Вашего устройства.
                      На выводе должны получить нечто подобное:

                      {"data":[{"{#MARKER_INDEX}":"6","{#MARKER_DESCR}":"Сборн ик отраб. тонера, WorkCentre 6605DN, PN#108R01124","{#MARKER_TAGS}":",Сборник отраб. тонера, WorkCentre 6605DN, PN#108R01124,Type:4,"}]}

                      Если валятся ошибки - исправляем их. После этого желательно перезапустить сервер заббикса (у меня без перезапуска не видел новые MIBs)

                      5. Создаем 2 преобразования значений (данные берем из файла value mapping)
                      6. Если шаблон Template SNMP Generic отсутствует - импортируем его.
                      7. Импортируем сам шаблон Template Printer Xerox
                      8. Заводим узлы сети и подключаем к ним шаблон Template Printer Xerox. В макросах шаблона уже содержатся SNMP порт и группа, но если используются нестандартные значения - их нужно переопределить в макросах узла сети.
                      9. В первый час могут быть ошибки связанные с тем, что некоторые элементы данных рассчитываются на основе других элементов, значения которых еще не получены.
                      10. Самый главный пункт: наслаждаемся использованием

                      Вроде все верно
                      Attached Files

                      Comment

                      • WarBull
                        Junior Member
                        • Feb 2012
                        • 26

                        #26
                        Количество отпечатков за месяц

                        Originally posted by sidorin
                        Коллеги, добрый вечер.
                        Столкнулся с проблемой мониторинга состояния печатной техники компании xerox.
                        Ни как не могу подобрать oid для следующих ошибок и данных
                        Замятие бумаги
                        Уровень тонера(кол-во)
                        Уровень бумаги(кол-во)
                        Уровень фъюзер
                        Уровень бункера отработки
                        Уровень ксерографического модуля
                        Кол-во отпечатков
                        На следующие аппараты:
                        Xerox 3600
                        xerox 5775
                        xerox 5675
                        xerox 5845
                        xerox 3550
                        xerox 3320
                        Прошу у Вас помощи
                        Привет. Скажите пожалуйста, Уважаемые коллеги! Как сделать подсчет отпечатков за месяц? За 1 день - это разница значений если снимать 1 раз в день... А за месяц?!

                        Comment

                        • Eugene2012
                          Member
                          • Apr 2020
                          • 31

                          #27
                          А что за единица измерения impressions в шаблоне?

                          Comment

                          Working...