Ad Widget

Collapse

Защита от брута

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jet_one
    Member
    • Jan 2017
    • 32

    #16
    Обновил я сервер. настроил триггер как выше описывали. Но теперь вылезла новая проблемка.
    В логах приходят среди всего текста две строки с Именем учетной записи.
    Так вот первая строка мне совсем не интересна, а нужна вторая.
    Вопрос: как написать триггер, чтоб он пропускал эту первую строку, а выводил вторую?
    Attached Files

    Comment

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

      #17
      Originally posted by jet_one
      Но теперь вылезла новая проблемка.
      В логах приходят среди всего текста две строки с Именем учетной записи.
      Так вот первая строка мне совсем не интересна, а нужна вторая.
      Вопрос: как написать триггер, чтоб он пропускал эту первую строку, а выводил вторую?
      Жаль, что Вы не читали мою реплику ранее, я про это писал
      Только у меня английская версия Windows, и там вместо слов "Имя учетной записи" выдаётся фраза "Account Name".

      Comment

      • jet_one
        Member
        • Jan 2017
        • 32

        #18
        Originally posted by Kos
        Жаль, что Вы не читали мою реплику ранее, я про это писал
        Только у меня английская версия Windows, и там вместо слов "Имя учетной записи" выдаётся фраза "Account Name".
        Сделал как у вас описано, но выводит на экран первую строку с именем SQL$.
        А как добавить, чтоб пропускал строку если в первом имени будет стоять "-"?
        И где можно поподробнее почитать про значения этих символов \S [^$]) \n \r \1 ??

        Comment

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

          #19
          Originally posted by jet_one
          Сделал как у вас описано, но выводит на экран первую строку с именем SQL$.
          Покажите Вашу формулу триггера.
          Originally posted by jet_one
          И где можно поподробнее почитать про значения этих символов \S [^$]) \n \r \1 ??
          Для начала - хотя бы в Википедии.

          Comment

          • jet_one
            Member
            • Jan 2017
            • 32

            #20
            Originally posted by Kos
            Покажите Вашу формулу триггера.
            Code:
            Неверно введён пароль на {HOST.NAME} для {{ITEM.VALUE}.regsub("Имя учетной записи:\s*(\S+[^$])[\r\n]","\1")}

            Comment

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

              #21
              Да, подтверждаю: действительно, работает как-то кривовато.
              Судя по этому сайту (кстати, весьма его рекомендую для отладки регулярных выражений), само регулярное выражение верное. Одно не должно совпадать ни с символом "минус", ни с именем компьютера (должно быть, как минимум два символа, последний из которых - не доллар).

              Однако, в реальной жизни работает, как я говорил, несколько неустойчиво: в уведомлениях по e-mail шлёт одно, в веб-интерфейсе в списке проблем показывавет другое. Иногда имя компьютера (которое заканчивается на доллар), иногда пустую строку.

              Comment

              • SKabanov
                Member
                • Jan 2014
                • 36

                #22
                Kos, добрый день!

                Возможно проблема в этом (цитата из доки):
                В zabbix используется extended regexp, в отличии от perl regexp ни POSIX, ни extended не поддерживают нотацию классов через обратный слеш (\d, \w, etc). Валидация в "морде" же работает потому, что валидатор написан на PHP, т.е. валидатор и сервер zabbix это разные реализации regexp.
                Как я понял у вас регулярка испольуется в имени триггера (там она обрабатывается php) и в оповещении (там она обрабатывается zabbix сервером)

                Comment

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

                  #23
                  Originally posted by SKabanov
                  Kos, добрый день!

                  Возможно проблема в этом (цитата из доки):
                  [...]
                  Интересная мысль. А где именно Вы это нашли в документации?

                  Я вижу только это:(со ссылкой на статью Википедии про регулярные выражения, раздел "Расширенные регулярные выражения POSIX"). Процитированных Вами замечаний не вижу.

                  Update:
                  Нет, даже если максимально упростить регулярное выражение, убрав из него "подозрительные" символьные классы, то всё равно не работает
                  Code:
                  Неверно введён пароль на {HOST.NAME} для {{ITEM.VALUE}.regsub("Account Name:[ \t]+([^ \t]+[^\$])[\r\n]","\1")}
                  При уведомлении по e-mail подставляется пустая строка, а в списке проблем фигурирует имя компьютера (которое заканчивается на символ доллара). Не понимаю, почему.
                  Last edited by Kos; 28-03-2017, 15:55.

                  Comment

                  • jet_one
                    Member
                    • Jan 2017
                    • 32

                    #24
                    Originally posted by kos
                    Покажите Вашу формулу триггера.
                    Для начала - хотя бы в Википедии.
                    Originally posted by kos
                    Интересная мысль. А где именно Вы это нашли в документации?

                    Я вижу только это:
                    (со ссылкой на статью Википедии про регулярные выражения, раздел "Расширенные регулярные выражения posix"). Процитированных Вами замечаний не вижу.

                    update:
                    Нет, даже если максимально упростить регулярное выражение, убрав из него "подозрительные" символьные классы, то всё равно не работает
                    Code:
                    Неверно введён пароль на {host.name} для {{item.value}.regsub("account name:[ \t]+([^ \t]+[^\$])[\r\n]","\1")}
                    При уведомлении по e-mail подставляется пустая строка, а в списке проблем фигурирует имя компьютера (которое заканчивается на символ доллара). Не понимаю, почему.
                    Может быть есть вариант, чтоб это имя непосредственно на компе клиента вырезалось из лога, а потом передавалось на наш сервер?

                    Comment

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

                      #25
                      Originally posted by jet_one
                      Может быть есть вариант, чтоб это имя непосредственно на компе клиента вырезалось из лога, а потом передавалось на наш сервер?
                      Это только через внешние скрипты. Что в случае Windows Event Log-а - задача не такая простая. Начиная с возможности как-то до этого лога добраться и заканчивая необходимостью где-то хранить маркер последнего просмотренного сообщения в логе (чтобы при следующем просмотре не обрабатывать те сообщения, которые уже были обработаны ранее). Не говоря уж о том, что структура этого лога (и используемые API) отличается в разных версиях Windows.

                      Comment

                      • SKabanov
                        Member
                        • Jan 2014
                        • 36

                        #26
                        Originally posted by kos
                        Интересная мысль. А где именно Вы это нашли в документации?
                        Действительно, в документации не вижу. Эту мысль я взял из своих заметок, видимо когда-то наткнулся здесь же на форуме и записал

                        Comment

                        Working...