Ad Widget

Collapse

Ping сетевого устройства (без портов)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zadm
    Junior Member
    • Oct 2013
    • 8

    #1

    Ping сетевого устройства (без портов)

    Необходимо проверять сетевое устройство (on\off), но оно не имеет открытых портов в тоже время откликается на команду ping (стандартным образом). И находится в подсети с ПК на котором агент (активный).

    Обычно делаю проверки net.tcp.port[host, port], но тут не работает.

    Как можно осуществить такую проверку?
  • sergadm
    Junior Member
    • Sep 2013
    • 29

    #2
    icmpping


    icmpping

    Comment

    • bga83
      Senior Member
      • Sep 2011
      • 268

      #3
      Originally posted by zadm
      Необходимо проверять сетевое устройство (on\off), но оно не имеет открытых портов в тоже время откликается на команду ping (стандартным образом). И находится в подсети с ПК на котором агент (активный).

      Обычно делаю проверки net.tcp.port[host, port], но тут не работает.

      Как можно осуществить такую проверку?
      Если это устройство напрямую с сервера не доступно для простой проверки icmpping[], тогда можно через скрипт в пользовательских параметрах агента на ПК в той подсети.

      Comment

      • zadm
        Junior Member
        • Oct 2013
        • 8

        #4
        Originally posted by bga83
        Если это устройство напрямую с сервера не доступно для простой проверки icmpping[], тогда можно через скрипт в пользовательских параметрах агента на ПК в той подсети.
        На приямую не прингуется, устройство как и ПК с агентом - за натом.

        Если не затруднит опишите плз как это сделать.

        Comment

        • bga83
          Senior Member
          • Sep 2011
          • 268

          #5
          Originally posted by zadm
          На приямую не прингуется, устройство как и ПК с агентом - за натом.

          Если не затруднит опишите плз как это сделать.
          поскольку не указана ОС на удаленном ПК приведу пример для линукса, в Windows по сути все аналогично, разве что сам скрипт будет немного отличасться

          В конфиг агента добавляется сторка:
          UserParameter=device.ping[*],ping -c 5 $1 | grep transmitted | cut -f 6 -d " "
          Скрипт возвращает процент потерянных пакетов.
          На стороне сервера создается элемент данных с ключем device.ping[<IP устройства>]. По сути и все. Но стоит иметь ввиду, что при отсутсвии пинга время работы скрипта возрастает, поэтому стоит проверить выставленные таймауты и возможно изменить параметры самого пингования.


          Детальнее описано в документации

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            Originally posted by zadm
            На приямую не прингуется, устройство как и ПК с агентом - за натом. Если не затруднит опишите плз как это сделать.
            Это делается через активные проверки агента, можете опрашивать почти все элементы данных, которые поддерживает агент, в качестве "пинга" можно использовать agent.ping

            Comment

            • bga83
              Senior Member
              • Sep 2011
              • 268

              #7
              Originally posted by Jimson
              Это делается через активные проверки агента, можете опрашивать почти все элементы данных, которые поддерживает агент, в качестве "пинга" можно использовать agent.ping
              agent.ping пинг проверяет доступность агента. А ТС требуется не это, а проверка отвечает ли на пинг устройство, на которое нет возможности установить агент, и при этом устройство напрямую с сервера не пингуется из-за наличия ната.

              Comment

              • zadm
                Junior Member
                • Oct 2013
                • 8

                #8
                Originally posted by bga83
                Детальнее описано в документации
                ОС = W7.

                Мне тут решение подсказали, без скриптов.


                system.run[ping -n 2 -i 1 -w 1 [host IP] | findstr /R /C:"(0% .*)" >NUL && echo 1 || echo 0]

                Comment

                • bga83
                  Senior Member
                  • Sep 2011
                  • 268

                  #9
                  Originally posted by zadm
                  ОС = w7.

                  Мне тут решение подсказали, без скриптов.


                  System.run[ping -n 2 -i 1 -w 1 [host ip] | findstr /r /c:"(0% .*)" >nul && echo 1 || echo 0]
                  в моем понимании это и есть скрипт. А как его вызвать через пользовательские параметры или запуск удаленной команды уже другой вопрос. Главное чтобы работало и поставленная задача была решена

                  Comment

                  • zadm
                    Junior Member
                    • Oct 2013
                    • 8

                    #10
                    Originally posted by bga83
                    А как его вызвать через пользовательские параметры или запуск удаленной команды уже другой вопрос
                    Очень даже не другой, имхо есть разница перезаливать N-config файлов на хосты, или ткнуть строку в вебморду.

                    Comment

                    • bga83
                      Senior Member
                      • Sep 2011
                      • 268

                      #11
                      Originally posted by zadm
                      Очень даже не другой, имхо есть разница перезаливать n-config файлов на хосты, или ткнуть строку в вебморду.
                      побуду занудой - по умолчанию в конфиге агента выполнение удаленных команд запрещено. Так что для из разрешения все равно придется перезаливать n-ое количество конфигов, если подобное требуется массово.

                      Хотя я не так давно небольшим скриптом буквально за несколько минут раскидал по примерно 80-90 серверам индивидуальные для каждого сервера подключаемые конфигом файлы(генерировались автоматически скриптом).

                      Comment

                      • zadm
                        Junior Member
                        • Oct 2013
                        • 8

                        #12
                        Originally posted by bga83
                        Так что для из разрешения все равно придется перезаливать n-ое количество конфигов
                        О каком выполнени команд идет речь, если агент за натом. (Я правда делаю сейчас некую утииту которая будет решать это проблемму, но это доп софт, а мы говорим о стандартном агенте)

                        Originally posted by bga83
                        Хотя я не так давно небольшим скриптом буквально за несколько минут раскидал по примерно 80-90 серверам индивидуальные для каждого сервера подключаемые конфигом файлы(генерировались автоматически скриптом).
                        Если агенты на прямой видимости (в т.ч. через проброс портов) это совсем не проблемма.

                        Comment

                        • Rainmib
                          Junior Member
                          • Jun 2013
                          • 25

                          #13
                          Этот скрпит выполняется на стороне агента на машине которая доступна и на которой есть активный агент. Команда пингует с машине на которой установлен агент нужный хост и в случае удачи возвращает 1 ну и 0 если пусто, чем не подходит?

                          Comment

                          Working...