Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Filtering script for rule in Event Processing Policy

Filtering script for rule in Event Processing Policy

Scheduled Pinned Locked Moved Support (Russian)
18 Posts 3 Posters 17.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V
    V
    Victor Kirhenshtein
    wrote on last edited by
    #8

    @enp said in Filtering script for rule in Event Processing Policy:

    Спасибо! Я верно понимаю, все возможные параметры к событиям описаны в Configuration -> Event configuration?

    да, верно.

    @enp said in Filtering script for rule in Event Processing Policy:

    И вопрос о запуске скриптов вручную по-прежнему актуален.

    Для проверки обработки событий можно исскуственно создавать события при помощи команды nxevent. Например, для отсылки SYS_IF_DOWN команда может выглядеть так:

    nxevent -u admin 192.168.64.1 5 101 eth0 10.10.10.2 255.255.255.0 1

    1 Reply Last reply
    0
    • E
      E
      enp
      wrote on last edited by
      #9

      А скрипт может что-либо вывести в лог/консоль? Как это увидеть?

      1 Reply Last reply
      0
      • E
        E
        enp
        wrote on last edited by
        #10

        Просто ваши примеры не работают - такое ощущение, что в $2 попадает совсем не имя интерфейса

        1 Reply Last reply
        0
        • V
          V
          Victor Kirhenshtein
          wrote on last edited by
          #11

          Можно вывести в лог, функцией trace. Например так:

          trace(0, "$2='" . $2 . "'");

          1 Reply Last reply
          0
          • E
            E
            enp
            wrote on last edited by
            #12

            Спасибо!

            С помощью trace удалось сформулировать правило так:

            return !($event->name like "SYS_IF_*" && $event->parameters[2] like "Vi*");
            

            Наверное, это самый правильный вариант.

            1 Reply Last reply
            0
            • E
              E
              enp
              wrote on last edited by
              #13

              А куда и в каких случаях выводит данные функция println?

              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #14

                println выводит данные на консоль, ее имеет смысл использовать либо в тестовых скриптах, которые запускаются из nxscript, либо в скриптах, которые запускаются из дебаг консоли сервера командой exec.

                1 Reply Last reply
                0
                • E
                  E
                  enp
                  wrote on last edited by
                  #15
                  $ nxscript
                  NetXMS Scripting Host  Version 1.2.10
                  Copyright (c) 2005-2013 Victor Kirhenshtein
                  
                  Usage: nxscript [options] script [arg1 [... argN]]
                  
                  Valid options are:
                     -d         Dump compiled script code
                     -e <name>  Entry point
                     -r         Print script return value
                  

                  Что такое entry point? Объекты вроде $event в nxscript передать нельзя?

                  1 Reply Last reply
                  0
                  • G
                    G
                    glebofff
                    wrote on last edited by
                    #16

                    enp, настоятельно рекомендую уже быстрее проникнуться концепцией NetXMS.

                    Передать $event из командной строки нельзя, но можно сгенерировать событие (из скрипта - PostEvent, из командной строки - утилитой nxevent), на которое среагирует обработчик, в котором есть фильтрующий скрипт.

                    Создай тестовый объект, тестовое событие, тестовый обработчик, и т.д.

                    1 Reply Last reply
                    0
                    • E
                      E
                      enp
                      wrote on last edited by
                      #17

                      Не вижу, чем передача $event и любых объектов вообще из командной строки идет поперек концепции. Это просто более прямой способ отладки скриптов. Похоже, он действительно не востребован из-за того, что скрипты обычно маленькие и отлаживать там особо нечего.

                      Я ж не с претензиями, я всего лишь вопросы задаю 🙂

                      1 Reply Last reply
                      0
                      • G
                        G
                        glebofff
                        wrote on last edited by
                        #18

                        nxevent + trace - куда прямее?

                        1 Reply Last reply
                        0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        Powered by NodeBB Contributors
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups