ICMP/TCP мониторинг

ICMP (Ping) и TCP мониторинг позволяют проверять доступность серверов и сетевых устройств, а также отслеживать открытость портов. Эти проверки можно настроить как регулярные cron-задачи или одноразовые отложенные задачи.

Типы протоколов

ICMP (Ping)

Проверяет доступность хоста с помощью ICMP echo-запросов. Измеряет время отклика (RTT), потерю пакетов и джиттер. Идеально для мониторинга серверов и сетевого оборудования.

TCP

Проверяет открытость TCP-порта на хосте. Позволяет мониторить базы данных (MySQL 3306, PostgreSQL 5432), почтовые серверы (SMTP 25/587), веб-серверы (HTTP 80, HTTPS 443) и другие сервисы.

Создание ICMP-задачи

curl -X POST https://api.cronbox.ru/v1/workspaces/{workspace_id}/cron-tasks \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ping сервера",
    "protocol_type": "icmp",
    "host": "server.example.com",
    "icmp_count": 5,
    "schedule": "*/5 * * * *",
    "timeout_seconds": 30,
    "notify_on_failure": true,
    "notify_on_recovery": true
  }'

Создание TCP-задачи

curl -X POST https://api.cronbox.ru/v1/workspaces/{workspace_id}/cron-tasks \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Проверка PostgreSQL",
    "protocol_type": "tcp",
    "host": "db.example.com",
    "port": 5432,
    "schedule": "*/10 * * * *",
    "timeout_seconds": 10,
    "notify_on_failure": true
  }'

Параметры

ПараметрТипОписание
protocol_typestring"http", "icmp" или "tcp"
hoststringХост для проверки (для ICMP/TCP)
portintegerTCP-порт (1-65535, только для TCP)
icmp_countintegerКоличество ICMP-пакетов (1-10, по умолчанию 3)

Результаты ICMP

После выполнения ICMP-проверки вы получите следующие метрики:

{
  "id": "exec_123",
  "status": "success",
  "protocol_type": "icmp",
  "target_host": "server.example.com",
  "icmp_packets_sent": 5,
  "icmp_packets_received": 5,
  "icmp_packet_loss": 0.0,
  "icmp_min_rtt": 12.34,
  "icmp_avg_rtt": 15.67,
  "icmp_max_rtt": 18.91,
  "duration_ms": 156
}

Результаты TCP

Результаты TCP-проверки содержат время подключения:

{
  "id": "exec_456",
  "status": "success",
  "protocol_type": "tcp",
  "target_host": "db.example.com",
  "target_port": 5432,
  "tcp_connection_time": 23.45,
  "duration_ms": 45
}

Популярные порты для мониторинга

СервисПорт
HTTP80
HTTPS443
MySQL3306
PostgreSQL5432
MongoDB27017
Redis6379
SMTP25, 587
SSH22

Совет: ICMP и TCP проверки работают с cron-задачами и отложенными задачами. Используйте параметр protocol_type при создании задачи для выбора типа проверки.