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

Управление мониторами

Монитор с определённым интервалом отправляет запросы проверки состояния, чтобы оценить работоспособность каждой конечной точки в пул.

Когда пул становится недоступным, ваш балансировщик нагрузки исключает этот пул из ротации конечных точек.

Подробнее о мониторах см. в Мониторы.


Периодичность повторных попыток

Когда проверка работоспособности превышает время ожидания, Cloudflare немедленно отправляет повторные запросы и не ждет следующего интервала. Параметр retries параметр определяет количество дополнительных попыток после первой проверки. Например, при пяти повторах:


Создайте монитор

Настройка монитора

Вы можете создать монитор в процесс работы с балансировщиком нагрузки или в Мониторы на вкладке:

  1. Перейдите в Load Balancing.

  2. Выберите Мониторы на вкладке.

  3. Выберите Создание монитора.

  4. Добавьте следующие сведения:

    • Тип: протокол, используемый для мониторов
      • Клиенты без плана Enterprise: Выберите HTTP, HTTPS, или TCP.
      • Клиенты Enterprise: Выберите HTTP, HTTPS, TCP, UDP ICMP, ICMP Ping, или SMTP.
    • Путь: путь конечной точки, на который отправляются запросы монитора
    • Порт: порт назначения для мониторов

  5. Для дополнительных настроек выберите Дополнительные настройки монитора работоспособности:

    • Интервал:
      • Увеличивая значение по умолчанию, можно улучшить время переключения при отказе, но это также может увеличить нагрузку на конечные точки.
      • Минимальное время в секундах составляет 60 (Pro), 15 (Business) и 10 (Enterprise).
    • Тайм-аут и Повторы:
      • Запрос монитора состояния вернёт статус «неисправен», если превышена длительность, указанная в Тайм-аут (и превышает эту длительность большее число раз, чем указано в параметре Повторы).
    • Ожидаемый код(-ы): ожидаемые коды ответов HTTP, перечисленные по отдельности (200, 302) или в виде диапазона (например, указав 2xx охватывал бы все коды ответов в 200 диапазон).
    • Response Body:
      • Ищет подстроку без учета регистра в теле ответа.
      • Убедитесь, что значение достаточно статично и находится в первых 10 KB HTML-страницы.
    • Simulate Zone:
    • Follow Redirects:
      • Вместо того чтобы сообщать 301 или 302 код как признак неработоспособности, запрос монитора работоспособности переходит по перенаправлениям к конечному эндпоинту.
    • Настройте заголовки запроса:
      • Полезно, если ваши конечные точки ожидают определённые входящие заголовки.
    • Header:
      • Заголовки HTTP-запроса, отправляемого монитором состояния. По умолчанию рекомендуется задавать заголовок Host. Заголовок User-Agent переопределить нельзя. Этот параметр применим только к мониторам HTTP и HTTPS.

  6. Выберите Save.

Подготовьте серверы

Убедитесь, что ваш файрвол или веб-сервер не блокирует и не ограничивает частоту запросов от настроенных мониторов состояния или запросов, связанных с IP-адреса Cloudflare ↗.

Каждый монитор работоспособности использует HTTP user-agent "Mozilla/5.0 (compatible; Cloudflare-Traffic-Manager/1.0; +https://www.cloudflare.com/traffic-manager/; pool-id: $poolid)", где $poolid представляет собой первые 16 символов связанный пул.

Привяжите монитор к пулу

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

  1. Перейдите в Load Balancing.

  2. Выберите Пулы на вкладке.

  3. В конкретном пуле выберите Изменить.

  4. Обновите следующую информацию:

    • Мониторинг: выберите ваш монитор.
    • Регионы монитора работоспособности: Определяет географические регионы, из которых Cloudflare должен отправлять запросы монитора работоспособности. Из-за как мониторы проверяют работоспособность пула, выбор нескольких регионов может увеличить нагрузку на ваши серверы.
    • Электронная почта для уведомлений: Содержит адреса электронной почты, на которые приходят уведомления (отдельный адрес, адрес списка рассылки, адрес PagerDuty).
  5. Выберите Save. Статус вашего монитора работоспособности будет unknown пока не станут доступны результаты первой проверки.

Настройка монитора

Полный список свойств монитора приведён в Создание монитора. Если вам нужна помощь с аутентификацией через API, см. Документация по API Cloudflare.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
  • Load Balancing: Monitors and Pools Write
Создание монитора
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/load_balancers/monitors" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"type": "https",
		"description": "Login page monitor",
		"method": "GET",
		"path": "/health",
		"header": {
				"Host": [
						"example.com"
				],
				"X-App-ID": [
						"abc123"
				]
		},
		"port": 8080,
		"timeout": 3,
		"retries": 0,
		"interval": 90,
		"expected_body": "alive",
		"expected_codes": "2xx",
		"follow_redirects": true,
		"allow_insecure": true,
		"consecutive_up": 3,
		"consecutive_down": 2,
		"probe_zone": "example.com"
	}'

Ответ содержит полное описание нового монитора.

Ответ
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": ":monitor-id",
    "created_on": "2021-01-01T05:20:00.12345Z",
    "modified_on": "2021-01-01T05:20:00.12345Z",
    "type": "https",
    "description": "Login page monitor",
    "method": "GET",
    "path": "/health",
    "header": {
      "Host": [
        "example.com"
      ],
      "X-App-ID": [
        "abc123"
      ]
    },
    "port": 8080,
    "timeout": 3,
    "retries": 0,
    "interval": 90,
    "expected_body": "alive",
    "expected_codes": "2xx",
    "follow_redirects": true,
    "allow_insecure": true,
    "consecutive_up": 3,
    "consecutive_down": 2,
    "probe_zone": "example.com"
  }
}

Подготовьте серверы

Убедитесь, что ваш файрвол или веб-сервер не блокирует и не ограничивает частоту запросов от настроенных мониторов состояния или запросов, связанных с IP-адреса Cloudflare ↗.

Каждый монитор работоспособности использует HTTP user-agent "Mozilla/5.0 (compatible; Cloudflare-Traffic-Manager/1.0; +https://www.cloudflare.com/traffic-manager/; pool-id: $poolid)", где $poolid представляет собой первые 16 символов связанный пул.

Привяжите монитор к пулу

После создания монитора сохраните его id свойство. Включите это значение в monitor параметр, когда создание пула.


Редактирование монитора

Чтобы изменить монитор на панели управления:

  1. Перейдите в Load Balancing.
  2. Выберите Мониторы.
  3. В конкретном мониторе выберите Изменить.
  4. Обновите настройки по мере необходимости.
  5. Выберите Save.

Когда вы редактируете монитор через API, тип запроса зависит от объема изменений.

Чтобы обновить отдельные настройки, не отправляя заново всю конфигурацию, используйте PATCH запрос. Для более масштабных изменений используйте PUT запрос.


Удаление монитора

Чтобы удалить монитор на панели управления:

  1. Перейдите в Load Balancing.
  2. Выберите Мониторы на вкладке.
  3. В конкретном мониторе выберите Удалить.

Чтобы удалить монитор через API, отправьте DELETE запрос.