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. Возможность использования скриптов на сервере

Возможность использования скриптов на сервере

Scheduled Pinned Locked Moved Support (Russian)
63 Posts 5 Posters 88.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
    #2

    Это можно сделать через ExternalParameter в агенте. В конфиге агента пишем

    ExternalParameter = MyParameterName:my_script

    После чего можем определить DCI для параметра MyParameterName на ноде где стоит агент. При каждом запросе параметра будет вызываться скрипт. Значением будет первая строчка выданная скриптом на stdout.

    1 Reply Last reply
    0
    • A
      A
      Alex
      wrote on last edited by
      #3

      У меня есть Cisco с SIP. К сожалению подсчет кол-ва одновременных звонков как на терминацию, так и на оригинацию стандартными средствами сделать не получается по причине не существования в природе такого MIB для SNMP. Был написан скрипт на Perl. Как его прикрутить к NetXMS, чтоб можно было вызывать этот скрипт с параметром? В качестве параметра должен быть host. Т.е. к примеру:
      "/usr/bin/perl /usr/local/bin/myscript.pl hostname"
      Этот скрипт возвращает всего одну цифру.

      1 Reply Last reply
      0
      • W
        W
        weec
        wrote on last edited by
        #4

        @victor said in Возможность использования скриптов на сервере:

        ExternalParameter = MyParameterName:my_script

        попробуйте использовать MyParameterName($1), где в качестве первого аргумента укажите hostname

        1 Reply Last reply
        0
        • A
          A
          Alex Kirhenshtein
          wrote on last edited by
          #5

          ExternalParameter = MyParameterName(*):/usr/bin/perl /usr/local/bin/myscript.pl $1

          Из nxagentd.conf:

          #
          # ExternalParameter
          #
          # Add parameter handled by external command. To add multiple parameters, you
          # should use multiple ExternalParameter entries. Please note that on Windows
          # agent uses system process execution API for execution of specified
          # command, so you cannot use pipes or shell commands. If you need to
          # execute command via shell, use ExternalParameterShellExec instead.
          #
          # Syntax:
          # ExternalParameter = <parameter_name>:<command_line>
          # If you specify parameter name as "name(*)", then you can use $1 .. $9 in
          # command line to substitute actual arguments passed from server.
          #
          # Examples:
          # ExternalParameter = Test:echo test
          # ExternalParameter = LineCount(*):cat $1 | wc -l
          # ExternalParameter = Test2(*):myprog $1 $2

          1 Reply Last reply
          0
          • W
            W
            weec
            wrote on last edited by
            #6

            добавил в FAQ/ЧаВо

            1 Reply Last reply
            0
            • A
              A
              Alex
              wrote on last edited by
              #7

              в конфиги прописал выполнение скрипта. а где, как и что прописать в DCI? сорри, но реально не могу понять 😞

              1 Reply Last reply
              0
              • W
                W
                weec
                wrote on last edited by
                #8

                точно также как и для NXAGENT и NXSNMP

                1 Reply Last reply
                0
                • A
                  A
                  Alex
                  wrote on last edited by
                  #9

                  И...а....о... Может я как-то не так выразился...
                  Объясняю ситуацию:
                  Cisco (на неё поставить nxagent ну никак не представляется возможным)
                  Сервер (на нем запущены nxagentd и netxmsd).

                  Задача.
                  При снятии статистики с этой конкретного Cisco устройства, нужно чтобы NetXMS вызывал скрипт на стороне сервера для этого конкретно устройства.

                  Вопрос можно ли использовать как "InternalShellExeс"?

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

                    T.e. nuzno chtobi script ispolnjalsja na hoste A no znachenie shlo v DCI dlja hosta B? Esli tak, to normal'nogo reshenija poka net. Edinstvenno chto mogu predlozit' - eto ispol'zovat' push DCI i ne vizivat' script s servera, a zapuskat' ego po cron'u i ispol'zovat' nxpush dlja peredachi novogo znachenija DCI na server monitoringa.

                    1 Reply Last reply
                    0
                    • A
                      A
                      Alex
                      wrote on last edited by
                      #11

                      Появится ли такая возможность в будущем? Если да, то когда?

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

                        Uze pochti pojavilas' 🙂 Ja sdelal novij attribut u DCI - "proxy node" - t.e. DCI konfiguritsja na odnoj node a znachenie real'no sprashivaetsja u nodi vistavlennoj kak proxy. Protestiruju i vilozu promezutochnij reliz - mozno budet probovat'.

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

                          Vilozil promezutochnij reliz 0.2.20-dev2 na https://www.netxms.org/download/rc/ . Nado delat' upgrade i serveru, i consoli. VNIMANIE: esli posle upgrade'a redaktirovat' DCI konsol'ju ot versii 0.2.19, to nastroiki "proxy node" budut sbrosheni v znachenie po umolchaniju.

                          1 Reply Last reply
                          0
                          • A
                            A
                            Alex
                            wrote on last edited by
                            #14

                            В nxagentd.conf прописал следующее:

                            ExternalParameter = SipOrig(*):/usr/bin/perl /root/scripts/sip_stat/originate.pl $1

                            Что и как в DCI я должен выставить?

                            Что в качестве Data Parameter, Data Origin я должен выставить? При использовании в качестве Origin NetXMS Agent и Data Parameter SipOrigin 192.168.100.22.
                            При этом не работает ничего. Скрипт на стороне сервера даже не вызывается.
                            В качестве ProxyNode используется хост, на котором установлен NetXMS с параметрами:
                            ./configure --with-server --with-mysql --with-agent --with-nxhttpd

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

                              Esli ExternalParameter opredelen kak SipOrig(*), to v Parameter nado pisat'

                              SipOrig(192.168.100.22)

                              Ostal'noe vrode vse pravil'no. Dolzen rabotat.
                              Mozno eshe zapustit' agenta s kljuchom -D i posmotret' na kakoj parametr prihodjat zaprosi.

                              1 Reply Last reply
                              0
                              • A
                                A
                                Alex
                                wrote on last edited by
                                #16

                                [07-Nov-2007 18:33:36] NetXMS Agent started
                                Agent running. Press Ctrl+C to shutdown.
                                [07-Nov-2007 18:33:41] Debug: Incoming connection from netxms_ip
                                [07-Nov-2007 18:33:41] Debug: Connection from netxms_ip rejected
                                [07-Nov-2007 18:33:47] Debug: Incoming connection from netxms_ip
                                [07-Nov-2007 18:33:47] Debug: Connection from netxms_ip rejected

                                и так далее.

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

                                  Znachit netxms_ip ne propisan v parametre Servers. Nado ego tam propisat' (zelatel'no kak MasterServers).

                                  1 Reply Last reply
                                  0
                                  • A
                                    A
                                    Alex
                                    wrote on last edited by
                                    #18

                                    Точно. Так заработало.. Кстати, а можно к примеру создать template с подобного рода DCI и в качестве host_ip указывать к примеру маску %1 где %1 будет IP адрес хоста?

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

                                      Poka nel'zja. No misl' horoshaja, objazatel'no sdelaju.

                                      1 Reply Last reply
                                      0
                                      • A
                                        A
                                        Alex
                                        wrote on last edited by
                                        #20

                                        Это было бы жутко удобно. Не нужно будет править все хосты, на которых используется тот или иной ExternalParametr, а так подправил в темплейтах и усе, применилось ко всем хостам аналогично другим DCI.

                                        1 Reply Last reply
                                        0
                                        • A
                                          A
                                          Alex
                                          wrote on last edited by
                                          #21

                                          После апгрейда заметил что перестали работать скрипты вызываемые через ExternalParameter. В DCI collection status становится Not Supported, хотя никакие настройки не менялись, кроме того что сделал upgrade.
                                          У меня настроенно так:

                                          В nxagentd.conf

                                          ExternalParameter = SipOrig(*):/usr/bin/perl /root/scripts/myscript.pl $1

                                          В Data Collection Item:
                                          Data Parametr SipOrig(живой_ip_address)
                                          Origin: NetXMS Agent
                                          Proxy_node: сервер, на котором стоит скрипт (он же NetXMS сервер).

                                          В скрипте указал что создавать файлик для теста, в плане отрабатывается скрипт или нет из под netxms и нифига.. Такое впечатление что он почему-то не хочет вызывать внешний скрипт. Что-то поменялось в отношении ExternalParameter????

                                          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