Ad Widget

Collapse

snmp discovery & regexp filter

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Morbid
    Junior Member
    • Nov 2014
    • 11

    #1

    snmp discovery & regexp filter

    Всем привет.

    Подскажите где не прав.

    1) Сделал дискавери в шаблоне:



    2) В закладке Filter, добавил

    {#SNMPVALUE} и макрос @sw_port (глобально выражение, которое выглядит так "Port \d{1,2} on Unit \d{1}")

    Проверил встроенным тестеров. Все ок. На нужную строчку, возвращает True.

    3) Добавил Прототип:



    4) Добавил в шаблон нужный хост
    Но итемы не добавляются. То есть как будто не проходят через фильтр регэкспа. Стоит убрать, итемы появляются.

    Подскажите где ошибся, или что не так сделал?

    P.S. Значение которое возвращает snmpwalk:
    iso.3.6.1.2.1.2.2.1.2.18 = STRING: "D-Link DGS-3627G R2.84.B40 Port 18 on Unit 1"
    iso.3.6.1.2.1.2.2.1.2.19 = STRING: "D-Link DGS-3627G R2.84.B40 Port 19 on Unit 1"
    iso.3.6.1.2.1.2.2.1.2.20 = STRING: "D-Link DGS-3627G R2.84.B40 Port 20 on Unit 1"
    iso.3.6.1.2.1.2.2.1.2.21 = STRING: "D-Link DGS-3627G R2.84.B40 Port 21 on Unit 1"
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    А тип регулярного выражения какой?

    Пробовали перенести регулярку из глобальной просто в "локальную" если можно так сказать? То есть в "Фильтре" указать "{#SNMPVALUE}" совпадает с "Port \d{1,2} on Unit \d{1}"?

    Comment

    • Morbid
      Junior Member
      • Nov 2014
      • 11

      #3
      Пробовал, результат тот же.

      Тип: Result is TRUE

      Comment

      • Morbid
        Junior Member
        • Nov 2014
        • 11

        #4
        заменил выражение на (Port|Unit) все стало ок. Судя по всему какая то у меня не правильная вариацаия регулярки для заббикса.

        Comment

        • Jimson
          Senior Member
          • Jan 2008
          • 1327

          #5
          Originally posted by Morbid
          не правильная вариацаия регулярки для заббикса.
          В zabbix используется extended regexp, в отличии от perl regexp ни POSIX, ни extended не поддерживают нотацию классов через обратный слеш (\d, \w, etc). Валидация в "морде" же работает потому, что валидатор написан на PHP, т.е. валидатор и сервер zabbix это разные реализации regexp.
          Короче, замените \d на [0-9] или [[:digit:]] и должно заработать.

          P.S. мультипликатор {1} смысла не имеет

          Comment

          • yukra
            Senior Member
            • Apr 2013
            • 1359

            #6
            Originally posted by jimson
            В zabbix используется extended regexp, в отличии от perl regexp ни posix, ни extended не поддерживают нотацию классов через обратный слеш (\d, \w, etc). Валидация в "морде" же работает потому, что валидатор написан на php, т.е. валидатор и сервер zabbix это разные реализации regexp.
            Короче, замените \d на [0-9] или [[:digit:]] и должно заработать.
            Вот жеж! Спасибо.

            Comment

            • eduard.gan
              Junior Member
              • Aug 2015
              • 6

              #7
              Т.е. заббикс не поддерживает \d .

              Подтверждено на 2.2.
              Да, проблема решается с помощью [0-9] или [[:digit:]].

              Comment

              • astrix89
                Senior Member
                • Jun 2017
                • 149

                #8
                Странно, у меня так работает (\b\d\b)|(\b\d\d\b), хотя я использую индекс порта IF-MIB::ifIndex, фильтруем только 1 или 2 символа, остальное не надо.

                Comment

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

                  #9
                  Originally posted by eduard.gan
                  Т.е. заббикс не поддерживает \d .

                  Подтверждено на 2.2.
                  Да, проблема решается с помощью [0-9] или [[:digit:]].
                  Начиная с версии 3.4, поддерживает:
                  10 PCRE library for regular expressions
                  Regular expression support in Zabbix has been switched from POSIX extended regular expressions to Perl Compatible Regular Expressions (PCRE) for enhanced regular expressions and consistency with the frontend.

                  Comment

                  Working...