Ad Widget

Collapse

Проверка подключения к FTP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • yuryyy
    Junior Member
    • Nov 2019
    • 3

    #1

    Проверка подключения к FTP

    Всем доброго дня. С заббиксом только осваиваюсь, прошу подсказать опытных коллег.
    Стоит задача мониторить доступность FTP. Именно успешный\не успешный вход под пользователем, т.е. simple check мне не подходит, как я понял.
    Подскажите, в какую сторону копать?
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Можно сделать скрипт который будет пробовать подключаться по FTP используя curl и отдавать признак удачного/неудачного подключения (или конвеер команд делающий тоже самое) и прикрутить к забиксу использую Userparametr или system.run.

    Comment

    • yuryyy
      Junior Member
      • Nov 2019
      • 3

      #3
      Я про curl в принципе и думал. На реализацию скрипта для curl никто случаем не натыкался? Спасибо.

      Comment

      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #4
        вот пример на php https://www.php.net/manual/en/function.curl-error.php - может пригодиться....

        Comment

        • AvaTTaR
          Member
          • Dec 2018
          • 96

          #5

          По идее должно работать вот так, но это чисто в какую сторону смотреть вам пример:
          Code:
          #!/bin/bash
          #test connection to FTP
          if curl -s -N "ftp://192.168.1.1" --user "login:pass" | grep -qs [B](Сюда какой-нибудь признак удачного подключения к фтп, как вариант можно в корень кинуть файл с уникальным именем и дать на него права только техническому пользователю которым будете тестить подключение и сюда имя этого файла)[/B] >> /dev/null;
          then echo 1
          else echo 0
          fi

          Comment

          • yuryyy
            Junior Member
            • Nov 2019
            • 3

            #6
            Все откликнувшимся спасибо. Решил, данные собираю из под виндового агента. Вот так:
            Code:
            [USER="4888"]echo[/USER] off
            
            C:\1\check\curl\bin\curl.exe -sS [URL]ftp://ftp.ftp.ru/check/[/URL] --user user:password | find /C "Какое-нибудь уникально имя файла" >C:\1\1.txt
            
            set /p a=<C:\1\1.txt
            if "%a%"=="0" (echo 0) else (echo 1)
            Эти данные собираются через UserParameter
            Возможно, не самое элегантное решение, но завелось.
            Last edited by yuryyy; 20-11-2019, 07:58.

            Comment

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

              #7
              Originally posted by yuryyy
              Возможно, не самое элегантное решение, но завелось.
              Если решение устраивает - то и хорошо. Единственное, мне кажутся излишними последние три строки этого батника. Если смысл в том, чтобы в качестве результата выводить то, что выдаёт команда "find /C", то я бы на этом батник и закончил (убрав перенаправление в файл и последующее чтение из этого файла, а потом ещё и ненужную проверку - ноль или не ноль).

              Comment

              Working...