← Cloudflare Load Balancing / load-balancing / monitors
Управление мониторами
Монитор с определённым интервалом отправляет запросы проверки состояния, чтобы оценить работоспособность каждой конечной точки в пул.
Когда пул становится недоступным, ваш балансировщик нагрузки исключает этот пул из ротации конечных точек.
Подробнее о мониторах см. в Мониторы.
Периодичность повторных попыток
Когда проверка работоспособности превышает время ожидания, Cloudflare немедленно отправляет повторные запросы и не ждет следующего интервала. Параметр retries параметр определяет количество дополнительных попыток после первой проверки. Например, при пяти повторах:
- Всего попыток: 1 (первая) + 5 (повторы) = 6
- При тайм-ауте 20 с: Cloudflare помечает конечную точку как неработоспособную примерно через 120 с (6 × 20 с)
- Настроенный интервал (например, 60 s) применяется только между успешно циклами проверки, а не между повторными попытками
Создайте монитор
Настройка монитора
Вы можете создать монитор в процесс работы с балансировщиком нагрузки или в Мониторы на вкладке:
-
Перейдите в Load Balancing.
-
Выберите Мониторы на вкладке.
-
Выберите Создание монитора.
-
Добавьте следующие сведения:
- Тип: протокол, используемый для мониторов
- Клиенты без плана Enterprise: Выберите HTTP, HTTPS, или TCP.
- Клиенты Enterprise: Выберите HTTP, HTTPS, TCP, UDP ICMP, ICMP Ping, или SMTP.
- Путь: путь конечной точки, на который отправляются запросы монитора
- Порт: порт назначения для мониторов
- Тип: протокол, используемый для мониторов
-
Для дополнительных настроек выберите Дополнительные настройки монитора работоспособности:
- Интервал:
- Увеличивая значение по умолчанию, можно улучшить время переключения при отказе, но это также может увеличить нагрузку на конечные точки.
- Минимальное время в секундах составляет 60 (Pro), 15 (Business) и 10 (Enterprise).
- Тайм-аут и Повторы:
- Запрос монитора состояния вернёт статус «неисправен», если превышена длительность, указанная в Тайм-аут (и превышает эту длительность большее число раз, чем указано в параметре Повторы).
- Ожидаемый код(-ы): ожидаемые коды ответов HTTP, перечисленные по отдельности (
200,302) или в виде диапазона (например, указав2xxохватывал бы все коды ответов в200диапазон). - Response Body:
- Ищет подстроку без учета регистра в теле ответа.
- Убедитесь, что значение достаточно статично и находится в первых 10 KB HTML-страницы.
- Simulate Zone:
- Рекомендуется использовать ту же зону, в которой создан балансировщик нагрузки.
- Изменяет настройки исходящей зоны запроса монитора работоспособности для обеспечения совместимости с такими функциями, как Authenticated Origin Pulls (mTLS), Argo Smart Routing, Bring your own CA (mTLS), Dedicated CDN Egress IPs, а также HTTP/2 to Origin.
- Follow Redirects:
- Вместо того чтобы сообщать
301или302код как признак неработоспособности, запрос монитора работоспособности переходит по перенаправлениям к конечному эндпоинту.
- Вместо того чтобы сообщать
- Настройте заголовки запроса:
- Полезно, если ваши конечные точки ожидают определённые входящие заголовки.
- Header:
- Заголовки HTTP-запроса, отправляемого монитором состояния. По умолчанию рекомендуется задавать заголовок Host. Заголовок User-Agent переопределить нельзя. Этот параметр применим только к мониторам HTTP и HTTPS.
- Интервал:
-
Выберите 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 символов связанный пул.
Привяжите монитор к пулу
После создания монитора его необходимо привязать к пулу:
-
Перейдите в Load Balancing.
-
Выберите Пулы на вкладке.
-
В конкретном пуле выберите Изменить.
-
Обновите следующую информацию:
- Мониторинг: выберите ваш монитор.
- Регионы монитора работоспособности: Определяет географические регионы, из которых Cloudflare должен отправлять запросы монитора работоспособности. Из-за как мониторы проверяют работоспособность пула, выбор нескольких регионов может увеличить нагрузку на ваши серверы.
- Электронная почта для уведомлений: Содержит адреса электронной почты, на которые приходят уведомления (отдельный адрес, адрес списка рассылки, адрес PagerDuty).
-
Выберите 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 параметр, когда создание пула.
Редактирование монитора
Чтобы изменить монитор на панели управления:
- Перейдите в Load Balancing.
- Выберите Мониторы.
- В конкретном мониторе выберите Изменить.
- Обновите настройки по мере необходимости.
- Выберите Save.
Удаление монитора
Чтобы удалить монитор на панели управления:
- Перейдите в Load Balancing.
- Выберите Мониторы на вкладке.
- В конкретном мониторе выберите Удалить.
Чтобы удалить монитор через API, отправьте DELETE запрос.