← Cloudflare Load Balancing / load-balancing / reference
Аналитика
С помощью аналитики балансировки нагрузки вы можете:
- Оцените поток трафика.
- Оцените статус работоспособности конечных точек в своих пулах.
- Просматривайте изменения пулов и их работоспособности с течением времени.
Dashboard Analytics
Общие метрики
Чтобы просмотреть Обзор метрики для своего балансировщика нагрузки, перейдите в Трафик > Load Balancing Analytics.
Эти метрики показывают количество запросов, направленных на конкретные пулы в рамках балансировщика нагрузки, и помогают вам:
- Оцените последствия добавления или удаления пула.
- Определите, когда создавать новые пулы.
- Планируйте нагрузку с учётом пиковых значений трафика и будущих потребностей инфраструктуры.
Добавьте дополнительные фильтры для конкретных пулов, времени, регионов и конечных точек.
Задержка
Задержка метрики отображают интерактивную карту, которая помогает определить регионы с Unhealthy или Медленно пулы.
Чтобы просмотреть информацию о задержке для балансировщика нагрузки, перейдите в Трафик > Load Balancing Analytics > Задержка.
Журналы
Журналы предоставляют историю всех изменений статуса конечных узлов и того, как они влияют на пулы балансировки нагрузки. Load Balancing регистрирует только события, представляющие собой изменение статуса конечного узла, с работоспособного на неработоспособный и наоборот.
Когда к пулу привязана Monitor Group, каждое записанное событие проверки состояния включает поле monitors поле.
В этом поле перечислены отдельные мониторы, входящие в группу, и их результаты, что упрощает определение того, какой монитор повлиял на изменение статуса.
Пример события (сокращено):
{
"id": <id>,
"timestamp": "2025-09-22 19:22:00",
"pool": {
"id": "<id>",
"name": "example-monitor-group-test-pool-us",
"healthy": true,
"changed": false,
"minimum_origins": 1
},
"origins": [
{
"name": "origin-a",
"ip": "192.0.2.10",
"enabled": true,
"healthy": true,
"failure_reason": "No failures",
"response_code": 200,
"monitors": [
{
"id": "<id>",
"healthy": true,
"failure_reason": "No failures",
"response_code": 200,
"must_be_healthy": true,
"monitoring_only": false
},
{
"id": "<id>",
"healthy": true,
"failure_reason": "No failures",
"response_code": 200,
"must_be_healthy": true,
"monitoring_only": false
},
{
"id": "<id>",
"healthy": false,
"failure_reason": "HTTP timeout occurred",
"must_be_healthy": false,
"monitoring_only": true
}
]
},
{
"name": "origin-b",
"ip": "198.51.100.25",
"enabled": true,
"healthy": false,
"failure_reason": "TCP connection failed",
"changed": true,
"monitors": [
{
"id": "<id>",
"healthy": false,
"failure_reason": "TCP connection failed",
"must_be_healthy": true,
"monitoring_only": false
},
{
"id": "<id>",
"healthy": true,
"failure_reason": "No failures",
"response_code": 200,
"must_be_healthy": true,
"monitoring_only": false
},
{
"id": "<id>",
"healthy": false,
"failure_reason": "HTTP timeout occurred",
"must_be_healthy": false,
"monitoring_only": true
}
]
}
]
}В этом примере:
- Каждый источник включает
monitorsмассив со списком всех мониторов в прикреплённой группе. - Такие поля, как
must_be_healthyand monitoring_onlyпоказывают роль каждого монитора в определении общей работоспособности источника. -
healthyиfailure_reasonполя показывают, какие проверки отдельных мониторов прошли успешно, а какие завершились ошибкой.
Чтобы получить доступ к журналам на панели управления, перейдите в Трафик > Load Balancing Analytics.
GraphQL Analytics
Для большей гибкости получайте метрики балансировки нагрузки напрямую из GraphQL Analytics API.
Начните с примера запроса:
Запросы по пулам
Этот запрос показывает количество запросов, которые каждый пул получает из каждой локации глобальной сети Cloudflare.
query RequestsPerPool($zoneTag: string, $start: Time, $end: Time) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
loadBalancingRequestsAdaptiveGroups(
limit: 100
filter: {
datetime_geq: $start
datetime_leq: $end
lbName: "lb.example.com"
}
orderBy: [datetimeFifteenMinutes_DESC]
) {
count
dimensions {
datetimeFifteenMinutes
coloCode
selectedPoolName
}
}
}
}
}{
"data": {
"viewer": {
"zones": [
{
"loadBalancingRequestsAdaptiveGroups": [
{
"count": 4,
"dimensions": {
"coloCode": "IAD",
"datetimeFifteenMinutes": "2021-06-26T00:45:00Z",
"selectedPoolName": "us-east"
}
},
...
]
}
]
}
}
}Запросы по дата-центрам
Этот запрос показывает взвешенное измерение времени приёма-передачи (RTT) (avgRttMs) для запросов монитора из определённого дата-центра (например, Сингапур или SIN) каждому пулу в конкретном балансировщике нагрузки.
query RequestsPerDataCenter($zoneTag: string, $start: Time, $end: Time) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
loadBalancingRequestsAdaptive(
limit: 100
filter: {
datetime_geq: $start
datetime_leq: $end
lbName: "lb.example.com"
coloCode: "SIN"
}
orderBy: [datetime_DESC]
) {
selectedPoolName
pools {
poolName
healthy
healthCheckEnabled
avgRttMs
}
}
}
}
}{
"data": {
"viewer": {
"zones": [
{
"loadBalancingRequestsAdaptive": [
{
"pools": [
{
"avgRttMs": 67,
"healthCheckEnabled": 1,
"healthy": 1,
"poolName": "asia-ne"
},
{
"avgRttMs": 156,
"healthCheckEnabled": 1,
"healthy": 1,
"poolName": "us-east_and_asia-ne"
},
{
"avgRttMs": 237,
"healthCheckEnabled": 1,
"healthy": 1,
"poolName": "us-east"
},
],
"selectedPoolName": "asia-ne"
},
...
]
}
]
}
}
}