Ad Widget

Collapse

Проверка произвольного порта без Zabbix Agent

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zerstroer
    Junior Member
    • Jul 2009
    • 22

    #1

    Проверка произвольного порта без Zabbix Agent

    Здравсвтуйте!
    Возникла проблема:
    Необходимо проверять, открыт ли порт на удаленной машине, на которой не установлен Zabbix Agent.
    Пытаюсь сделать это с помощью простой проверки (simple check) с ключом: net.tcp.service[telnet,<ip>,3306] - правильное ли это решение?

    Раскрою проблему более детально.
    Есть удаленная машина, без Zabbix-агента. Настроил на мониторинг элементы типа "простая проверка" со следующими ключами:
    • net.tcp.service[ssh] - в "Последние данные" возвращает, что сервис находится в рабочем состоянии Up(1)
    • net.tcp.service[telnet.<ip>,3306] - показывает Down(0). Открыт или нет порт 3306 на машине на самом деле неизвестно.
    • net.tcp.service[telnet.<ip>,22] - по идее, то, что по элементу net.tcp.service[ssh] я получаю состояние Up(1) подразумевает, что стандартный 22 порт для SSH - открыт. Это означает, что элемент net.tcp.service[telnet.<ip>,22] должен так же возвращать Up(1) (если я все правильно понимаю). Но тем не менее этот элемент возвращает Down(1).
  • ableev
    Senior Member
    Zabbix Certified Specialist
    • Oct 2012
    • 276

    #2
    Для того, чтобы проверить tcp-порт на удаленной машине, можно сделать так
    Code:
    net.tcp.service["tcp",<ip>,"3306"]

    Comment

    • zerstroer
      Junior Member
      • Jul 2009
      • 22

      #3
      Спасибо. Это решение подошло.
      А почему такой синтаксис? Я имею ввиду кавычки.

      Comment

      • ableev
        Senior Member
        Zabbix Certified Specialist
        • Oct 2012
        • 276

        #4
        Originally posted by zerstroer
        Спасибо. Это решение подошло.
        А почему такой синтаксис? Я имею ввиду кавычки.
        Можно и без кавычек) это не принципиально.

        Comment

        • visaversa
          Junior Member
          • Sep 2013
          • 3

          #5
          возвращает всегда 1.

          По этой же теме вдогонку.
          Моя ситуация очень похожа на вышеописанную. Есть сервер в интернет, надо проверять доступность нестандартного порта.
          Создаю хост с ip, создаю тестовый элемент данных с условием:
          net.tcp.service[ssh,7.7.7.7,22], он возвращает 1,
          где 7.7.7.7 - внешний ip
          затем создаю триггер с этим элементом данных и ответом = 1, ура, работает.
          НО.
          Если отключить ssh то значение не меняется! И более того, если прописать для того же хоста вообще произвольный порт, например
          net.tcp.service[ssh,7.7.7.7,227]
          то все равно возвращется 1. Что я делаю не так?

          Comment

          • dyuha85
            Member
            • Aug 2012
            • 41

            #6
            Можно и я спрошу касательно этой темы?
            Мониторю порт Pgbouncer по такой проверке net.tcp.service[tcp,10.10.10.10,6432]. Не получается настроить триггер по времени. То есть если порт не отвечает в течение 5 минут, то ALERT.
            Объясню почему так надо. Сервер хостится на amazon ec2 и при малейшем изменении любого правила фаервола в amazon, порт начинает отпадать, но после 20 секунд он снова работает. Этот alert у меня настроен на отправку смс и не хотелось бы тратиться на смс-ки при каждом изменении в фаервола.

            Спасибо заранее.

            Comment

            Working...