Перейти к основному содержимому

Документация

Полное руководство по настройке мониторинга сайтов с PingZen. Документация API, примеры кода и лучшие практики.

FTP-монитор подключается к файловому серверу, входит с указанными логином и паролем (анонимно, если вы их не задали), спрашивает у сервера, в каком каталоге оказалась сессия, и выходит. Это проверка входа, а не проверка файлов: ничего не перечисляется, не скачивается и не загружается.

Для чего подходит

Обменный каталог, куда загружают файлы партнёры или клиенты

Обмен файлами ломается на входе, а не на порту. Истёк пароль, отключили учётную запись, пропал домашний каталог, перестал отвечать сервер авторизации — а порт всё это время открыт. Монитор выполняет тот же вход, что и ваш партнёр, поэтому вы узнаете об этом раньше, чем придёт письмо.

USERPASS530

Публичное или анонимное FTP-зеркало

Оставьте логин и пароль пустыми — монитор войдёт как anonymous с паролем anonymous@, ровно так же, как это делает анонимный клиент. Если сервер перестанет пускать анонимных пользователей, вы увидите неудачную проверку, а не обращение в поддержку.

anonymousanonymous@

Сервер за файрволом, NAT или белым списком

Проверка из региона PingZen приходит к серверу так же, как внешний клиент, поэтому правило, которое тихо перестало кого-либо пускать, становится заметным. Чтобы увидеть тот же сервер изнутри своей сети, запустите монитор с приватной пробы.

:21

Подтвердить, что сервис действительно поднялся после перезапуска

FTP-демон начинает принимать соединения задолго до того, как сможет обслуживать учётные записи. Проверка доходит до входа и одной команды, поэтому сервер, который здоровается, а потом отказывает всем пользователям, записывается как недоступный — обычная проверка порта 21 назвала бы его здоровым.

TCP:21FTP:21LOGIN

Для чего не подходит

Этот монитор говорит только по FTP и останавливается сразу после входа:

Что нужно узнатьЧто использовать
Работает ли мой SFTP-сервер? SFTP — это не FTP: это подсистема SSH на порту 22, совсем другой протокол. Этот монитор с ним говорить не умеет, и других мониторов для него в PingZen тоже нетМонитор TCP на порту 22 — он подтверждает, что SSH принимает соединения; это самое близкое, что есть
Пришёл ли ночной файл и того ли он размера? Проверка не делает листинг и не передаёт данные, поэтому пустой или устаревший каталог всё равно пройдётМонитор Heartbeat — пусть задача, которая пишет файл, дёргает его URL после успешной загрузки
Когда истекает сертификат на моём FTPS-сервере?Монитор TLS/SSL-сертификата, наведённый на порт со сразу-TLS, обычно 990: проверка FTPS шифрует вход, но сертификат не проверяет, а сам сертификатный монитор AUTH TLS отправлять не умеет
Открыт ли порт вообще? Учётной записи у вас нет или вы не хотите каждую минуту оставлять попытку входа в журнале сервераМонитор TCP на порту 21 — он подключается и отключается, не входя
Работает ли веб-файлменеджер или страница загрузки?Монитор HTTP / HTTPS

Что делает проверка

  1. Подключается к хосту и порту — к 21-му, если в адресе не указан другой. На порту 990 соединение шифруется с самого первого байта, ещё до чтения.
  2. Читает приветствие сервера.
  3. На любом другом порту поднимает TLS прямо в этом соединении, если проверка шифрованная: отправляет AUTH TLS, и всё дальнейшее идёт уже внутри TLS.
  4. Отправляет вход: USER, затем PASS.
  5. Отправляет одну команду, PWD, и читает каталог, в котором началась сессия. Это и есть доказательство, что сессия настоящая, а не просто открытый сокет.
  6. Отправляет QUIT и закрывает соединение.

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

Время отклика покрывает соединение, вход и ответ на PWD. Каталог, который назвал сервер, прикрепляется к результату проверки, но он не сохраняется в истории и нигде не показывается, так что считайте его внутренней деталью, а не возможностью.

FTP, FTPS и разница, которая важна

FTPS бывает двух видов, и они не взаимозаменяемы:

  • Явный FTPS подключается открытым текстом на порт 21, а потом повышает сессию командой AUTH TLS.
  • Неявный FTPS ждёт TLS с самого первого байта, обычно на порту 990 — так же, как HTTPS.

Поддерживаются оба, и выбор делает порт: 990 — неявный TLS, любой другой порт — явный. Настраивать нечего: монитор FTPS всегда шифрованный, а обычный FTP шифруется, когда у него включена галочка «Использовать TLS (FTPS)».

Явный вариант подходит почти всем. Именно его из коробки включают FileZilla Server, vsftpd и ProFTPD, а неявный FTPS на 990 — форма постарше, которую держат живой в основном сетевые устройства. Если не знаете, что у вас за сервер, не трогайте порт и оставьте явный вариант.

Что TLS здесь доказывает, а что нет

  • Вход зашифрован. Логин и пароль идут внутри TLS-сессии, и сервер, настроенный отвергать вход открытым текстом, эту проверку примет.
  • Сертификат не проверяется. На файловых серверах самоподписанные сертификаты — норма: NAS и FileZilla Server генерируют их при первом запуске, так что отказ от них ронял бы почти каждый реальный FTPS-сервер. Проверка отвечает на вопрос «сервис жив и пускает по логину», а доверие к сертификату — отдельный вопрос. Чтобы следить за самим сертификатом, добавьте монитор TLS/SSL-сертификата — ему нужен порт со сразу-TLS вроде 990, потому что сам он AUTH TLS отправлять не умеет.
  • Канал данных не проверяется. PBSZ и PROT не отправляются, потому что эта проверка не открывает соединение для данных. Сервер может пройти проверку и всё равно быть неверно настроенным для шифрованной передачи.

Логика статусов

Состояния деградации у FTP-монитора нет. Каждая проверка — это «работает», «не работает» или «таймаут».

РезультатСтатус
Вход принят, и сервер ответил на PWDUP
Сервер отказал во входе или в любой другой команде — в сообщении об ошибке будут его код ответа и текст, например 530 при неверном паролеDOWN
В соединении отказано — на этом порту никого нетDOWN
Имя хоста не разрезолвилось, маршрута нет или соединение разорваноDOWN
TLS-рукопожатие не удалось или сервер отказал в AUTH TLS — на этом порту он не FTPSDOWN
Соединение, вход и PWD не уложились в таймаутTIMEOUT

DOWN и TIMEOUT считаются простоем и открывают инцидент после порога подтверждения — по умолчанию это три неудачные проверки подряд, чтобы один отказ во входе во время перезапуска никого не будил.

Про неверный пароль стоит сказать отдельно. Для монитора он неотличим от аварии: сервер отвечает, отказывает во входе, проверка краснеет. Многие FTP-серверы к тому же блокируют адрес после нескольких неудачных попыток, так что монитор со старым паролем может сам себя заблокировать и потом сообщать о вполне настоящей на вид аварии. Меняете пароль этой учётной записи — поменяйте его и в мониторе.

Настройки

Адрес

Хост и, при необходимости, порт: files.example.com или files.example.com:2121. Префикс ftp:// или ftps:// принимается и отбрасывается, IPv6 пишется в квадратных скобках. Без порта проверка идёт на 21 — и для типа FTP, и для типа FTPS. Отдельного поля порта в этой форме нет: порт живёт в адресе.

Логин и пароль

Оба необязательны. Пустой логин означает anonymous, пустой пароль — anonymous@. Пароль хранится только на запись: API сообщает, задан ли он, но никогда не возвращает значение. Не пишите учётные данные в адрес в виде ftp://user:pass@host — такой адрес отклоняется, потому что URL попадает в ответы, уведомления и логи.

Использовать TLS (FTPS)

Показывается только на мониторах FTP и превращает проверку в явный FTPS — то же самое, что делает монитор FTPS. У монитора FTPS такой галочки нет, потому что он шифрованный всегда. Сертификат сервера не проверяется ни в том, ни в другом случае — см. выше.

Таймаут

По умолчанию пять секунд, и они покрывают весь обмен — соединение, приветствие, вход и PWD. Для загруженного или далёкого FTP-сервера это мало: он отвечает на каждую команду отдельным round trip. От 10 до 15 секунд здесь реалистичнее, чем для простой проверки порта.

Оба типа монитора читают одни и те же три настройки, так что монитор FTP с включённой галочкой TLS и монитор FTPS — это одна и та же проверка.

Ключевые возможности

  • Настоящий вход, а не проверка порта: соединение, USER, PASS, PWD, QUIT
  • FTPS в обоих видах: явный AUTH TLS на любом порту и неявный TLS на 990
  • Поддерживаются и анонимный вход, и вход по учётной записи; пустые поля означают анонимный
  • Пароль хранится только на запись и никогда не возвращается через API
  • Код ответа и текст самого сервера попадают в сообщение об ошибке, поэтому 530 при неверном пароле не спутать с недоступным хостом
  • Нестандартный порт прямо в адресе и проверки из любого региона или с приватной пробы
  • Обычные уведомления и инциденты с привычным подтверждением по трём неудачам

Частые вопросы

Какие протоколы можно мониторить?

PingZen поддерживает 23 протокола: HTTP/HTTPS, WebSocket (WS/WSS), TCP, UDP, ICMP Ping, gRPC, DNS, WHOIS, TLS/SSL сертификаты, Email (SMTP/IMAP/POP3), FTP/FTPS, DNSBL, PageSpeed, SOCKS5, MTProxy, API Check и Transaction. Вы можете мониторить сайты, API, серверы, базы данных и любые сетевые сервисы.

Как быстро приходят оповещения?

Telegram оповещения доставляются в течение 1-2 секунд после обнаружения. Slack и Discord уведомления приходят практически мгновенно. Вы можете настроить несколько каналов оповещений для резервирования.

Можно ли организовать мониторы по проектам?

Да! PingZen поддерживает рабочие пространства, которые позволяют организовать мониторы по проектам, окружениям или командам. Каждое рабочее пространство может иметь свои настройки оповещений и участников.

Есть ли API для автоматизации?

Абсолютно. PingZen предоставляет полный REST API с OpenAPI документацией. Вы можете создавать, обновлять и удалять мониторы программно.

Как работают статус-страницы?

Статус-страницы — это публичные брендированные страницы, показывающие аптайм ваших сервисов. Вы можете отображать статус в реальном времени и позволить клиентам подписаться на обновления.

Что происходит, если я достигну лимита мониторов?

Мы уведомим вас при приближении к лимиту. Вы можете приостановить некоторые мониторы или связаться с нами для увеличения лимита. Мы никогда не останавливаем мониторинг без предупреждения, обеспечивая защиту ваших критически важных сервисов.

Готовы перестать пропускать даунтаймы?

Присоединяйтесь к тысячам команд, которые доверяют PingZen. Настройка за 30 секунд.