Ad Widget

Collapse

Ping с agent windows на удаленный хост

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Welcome_to_the_jungle
    Member
    • May 2019
    • 56

    #1

    Ping с agent windows на удаленный хост

    Добрый день, стоит задача пинговать удаленный адрес в сети 192.xxx.xxx.xx:4444
    И при потери связи сообщать об этом.
    Подскажите как это можно грамотно реализовать?
    Спасибо.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    "Пинговать" (т.е. протокол ICMP) и конкретный номер порта (т.е. протоколы либо TCP, либо UDP, причём даже не указано, который из них) плохо совмещаются.

    Уточните, пожалуйста, что именно вам нужно:
    а) пинговать конкретный IP (тогда номер порта ни при чём);
    б) убеждаться, что можно установить соединение на конкретный порт (тогда нужен протокол);
    в) проверять, находится ли на текущей машине соединение с удалённой машиной в состоянии ESTABLISHED;
    г) ещё что-то...

    Comment

    • Welcome_to_the_jungle
      Member
      • May 2019
      • 56

      #3
      Originally posted by Kos
      "Пинговать" (т.е. протокол ICMP) и конкретный номер порта (т.е. протоколы либо TCP, либо UDP, причём даже не указано, который из них) плохо совмещаются.

      Уточните, пожалуйста, что именно вам нужно:
      а) пинговать конкретный IP (тогда номер порта ни при чём);
      б) убеждаться, что можно установить соединение на конкретный порт (тогда нужен протокол);
      в) проверять, находится ли на текущей машине соединение с удалённой машиной в состоянии ESTABLISHED;
      г) ещё что-то...
      Спасибо за ответ.
      Я сделал следующим образом.
      Выбрал "Simple check" и ключ
      icmpping[192.168.11.10,4,]
      указал интерфейс хоста с которого надо проверять доступность адреса "192.168.11.10"
      НА сервере возвращается "1"
      Но если мне нужно проверять доступность определенного порта на этот адресе?
      По протоколу TCP, как лучше поступить?
      Спасибо за ответ.

      Comment

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

        #4
        Все Simple check-и, как описано в документации, выполняются сервером Zabbix без участия агентов. Если я Вас правильно понял, то требуется делать проверки с другой машины, на которой установлен агент Windows.
        Если проверки, выполяемые сервером, для данной задачи подходят, то для контроля доступности определённого TCP-порта можно использовать те же Simple check-и (см. ссылку выше), но другие метрики - net.tcp.service или net.tcp.service.perf (я обычно предпочитаю последний, т.к. он более информативен).
        Если же надо проверять именно с той машины, где установлен агент, то те же метрики net.tcp.service или net.tcp.service.perf есть и у стандартного агента.
        Только надо иметь в виду, что проверки выполняются с помощью реальных попыток установить соединение; если эти попытки на той стороне логируются, то можно слегка заспамить данный лог.

        Comment

        • Welcome_to_the_jungle
          Member
          • May 2019
          • 56

          #5
          Originally posted by Kos
          Если же надо проверять именно с той машины, где установлен агент, то те же метрики net.tcp.service или net.tcp.service.perf есть и у стандартного агента.
          Только надо иметь в виду, что проверки выполняются с помощью реальных попыток установить соединение; если эти попытки на той стороне логируются, то можно слегка заспамить данный лог.
          Т.е. если я верно понял, для проверки доступности удаленного хоста, с заббикс агента для виндус, необходимо создать итем активного агента с ключем net.tcp.service или net.tcp.service.perf?

          Comment

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

            #6
            Originally posted by Welcome_to_the_jungle
            Т.е. если я верно понял, для проверки доступности удаленного хоста, с заббикс агента для виндус, необходимо создать итем активного агента с ключем net.tcp.service или net.tcp.service.perf?
            Да, верно. Не обязательно активного (может быть и пассивным).

            Comment

            • Welcome_to_the_jungle
              Member
              • May 2019
              • 56

              #7
              Originally posted by Kos
              Да, верно. Не обязательно активного (может быть и пассивным).
              Создаю элемент данных
              Тип "забикс агент"
              Ключ net.tcp.service[tcp,192.168.10.10, 7777]
              Интерфейс узла сети IP адрес забикс агента
              Элемент не включается, и приходит ошибка "Invalid first parameter"
              Подскажите в чем ошибка?
              Last edited by Welcome_to_the_jungle; 29-05-2019, 08:00.

              Comment

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

                #8
                Странно. Попробовал скопировать себе этот ключ - всё прекрасно отрабатывает, ошибки не выдаёт (причём и на достаточно старом агенте, ещё версии 2.2.7, и на относительно новом).
                Ваше сообщение ("Invalid first parameter") возвращается в случае, если вместо "tcp" первым параметром и вправду указать какую-нибудь фигню. Перепроверьте и, на всякий случай, перебейте этот параметр заново - мало ли, вдруг, скажем, буква "c" случайно оказалась кириллицей набрана (и этого на глаз не заметно).

                Comment

                • Welcome_to_the_jungle
                  Member
                  • May 2019
                  • 56

                  #9
                  Originally posted by Kos
                  Странно. Попробовал скопировать себе этот ключ - всё прекрасно отрабатывает, ошибки не выдаёт (причём и на достаточно старом агенте, ещё версии 2.2.7, и на относительно новом).
                  Ваше сообщение ("Invalid first parameter") возвращается в случае, если вместо "tcp" первым параметром и вправду указать какую-нибудь фигню. Перепроверьте и, на всякий случай, перебейте этот параметр заново - мало ли, вдруг, скажем, буква "c" случайно оказалась кириллицей набрана (и этого на глаз не заметно).
                  Спасибо за помощь
                  Пересоздал, вроде на этот раз без ошибки но возвращает "0" а не "1"
                  Через смд с хоста необходимый адрес пингуется.
                  В подобном случае у вас приходит единица?
                  Last edited by Welcome_to_the_jungle; 29-05-2019, 09:06.

                  Comment

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

                    #10
                    У вас приходит единица?
                    Ну, смотря что проверять :-)
                    При проверке порта 7777 на адресе 192.168.10.10 (которого в моей сети не существует) возвращается ноль. Если указать какой-то мой реальный айпишник, где крутится Апач по HTTPS, и номер порта 443, то возвращается единица.

                    Ещё раз: указывая метрику net.tcp.service (или net.tcp.service.perf) и тип "Zabbix agent", у вас проверки выполняются агентом (т.е. с той машины, где этот агент установлен).
                    Куда ходить (т.е. что проверять) - указывается параметрами этой метрики.
                    Т.е. при использовании метрики net.tcp.service[tcp,192.168.10.10, 7777] агент должен пытаться установить соединение с TCP-портом 192.168.10.10:7777.
                    Если возвращается ноль - значит, связаться не удалось. Почему не удалось - вопрос отдельный. Может, фаервол какой по дороге режет.
                    Можно пробовать выставлять в конфиге агента DebugLevel=4 и смотреть по его логам (хоть это и неблагодарное занятие) - может, натолкнёт на какие-то мысли.
                    Можно пробовать просто телнетом с той машины, где установлен агент, пытаться соединиться на порт 7777 адреса 102.168.10.10 - может, там будет какое-то более осмысленное сообщение об ошибке.

                    Comment

                    • Welcome_to_the_jungle
                      Member
                      • May 2019
                      • 56

                      #11
                      Originally posted by Kos
                      Ну, смотря что проверять :-)
                      При проверке порта 7777 на адресе 192.168.10.10 (которого в моей сети не существует) возвращается ноль. Если указать какой-то мой реальный айпишник, где крутится Апач по HTTPS, и номер порта 443, то возвращается единица.

                      Ещё раз: указывая метрику net.tcp.service (или net.tcp.service.perf) и тип "Zabbix agent", у вас проверки выполняются агентом (т.е. с той машины, где этот агент установлен).
                      Куда ходить (т.е. что проверять) - указывается параметрами этой метрики.
                      Т.е. при использовании метрики net.tcp.service[tcp,192.168.10.10, 7777] агент должен пытаться установить соединение с TCP-портом 192.168.10.10:7777.
                      Если возвращается ноль - значит, связаться не удалось. Почему не удалось - вопрос отдельный. Может, фаервол какой по дороге режет.
                      Можно пробовать выставлять в конфиге агента DebugLevel=4 и смотреть по его логам (хоть это и неблагодарное занятие) - может, натолкнёт на какие-то мысли.
                      Можно пробовать просто телнетом с той машины, где установлен агент, пытаться соединиться на порт 7777 адреса 102.168.10.10 - может, там будет какое-то более осмысленное сообщение об ошибке.
                      Буду разбираться, спасибо большое.

                      Comment

                      Working...