|
|
# Мониторинг подключений
|
|
|
|
|
|
Компонент мониторинга подключений использует HTTP-пинги для проверки состояния подключения исходящих прокси. Результаты мониторинга могут использоваться другими компонентами, например, балансировщиком нагрузки.
|
|
|
В настоящее время доступны два режима: [observatory](#observatoryobject) (фоновый мониторинг подключений) и [burstObservatory](#burstobservatoryobject) (мониторинг параллельных подключений).
|
|
|
Выберите один из них в соответствии с вашими потребностями.
|
|
|
|
|
|
## ObservatoryObject
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
"subjectSelector":[
|
|
|
"outbound"
|
|
|
],
|
|
|
"probeUrl": "https://www.google.com/generate_204",
|
|
|
"probeInterval": "10s",
|
|
|
"enableConcurrency": false
|
|
|
}
|
|
|
```
|
|
|
|
|
|
> `subjectSelector`: \[ string \]
|
|
|
|
|
|
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
|
|
|
Например, для следующих тегов исходящих подключений: `[ "a", "ab", "c", "ba" ]`, `"subjectSelector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
|
|
|
|
|
|
> `probeUrl`: string
|
|
|
|
|
|
URL-адрес, используемый для проверки состояния подключения исходящего прокси.
|
|
|
|
|
|
> `probeInterval`: string
|
|
|
|
|
|
Интервал между проверками.
|
|
|
Формат времени: число + единица измерения, например `"10s"`, `"2h45m"`.
|
|
|
Поддерживаемые единицы измерения: `ns`, `us`, `ms`, `s`, `m`, `h` (наносекунды, микросекунды, миллисекунды, секунды, минуты, часы).
|
|
|
|
|
|
> `enableConcurrency`: true | false
|
|
|
|
|
|
- `true` - проверять все соответствующие исходящие прокси одновременно, после чего сделать паузу на время, указанное в `probeInterval`.
|
|
|
- `false` - проверять соответствующие исходящие прокси по очереди, делая паузу на время, указанное в `probeInterval`, после проверки каждого прокси.
|
|
|
|
|
|
## BurstObservatoryObject
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
"subjectSelector":[
|
|
|
"outbound"
|
|
|
],
|
|
|
"pingConfig": {}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
> `subjectSelector`: \[ string \]
|
|
|
|
|
|
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
|
|
|
Например, для следующих тегов исходящих подключений: `[ "a", "ab", "c", "ba" ]`, `"subjectSelector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
|
|
|
|
|
|
> `pingConfig`: [PingConfigObject](#PingConfigObject)
|
|
|
|
|
|
|
|
|
### PingConfigObject
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
"destination": "https://connectivitycheck.gstatic.com/generate_204",
|
|
|
"connectivity": "",
|
|
|
"interval": "1h",
|
|
|
"sampling": 3,
|
|
|
"timeout": "30s"
|
|
|
}
|
|
|
```
|
|
|
|
|
|
> `destination`: string
|
|
|
|
|
|
URL-адрес, используемый для проверки состояния подключения исходящего прокси.
|
|
|
Этот URL-адрес должен возвращать код состояния HTTP 204.
|
|
|
|
|
|
> `connectivity`: string
|
|
|
|
|
|
URL-адрес, используемый для проверки подключения к локальной сети.
|
|
|
Пустая строка означает, что проверка подключения к локальной сети не выполняется.
|
|
|
|
|
|
> `interval`: string
|
|
|
|
|
|
Проверить все соответствующие исходящие прокси в течение указанного времени, отправляя `sampling` + 1 запросов на каждый прокси.
|
|
|
Формат времени: число + единица измерения, например `"10s"`, `"2h45m"`.
|
|
|
Поддерживаемые единицы измерения: `ns`, `us`, `ms`, `s`, `m`, `h` (наносекунды, микросекунды, миллисекунды, секунды, минуты, часы).
|
|
|
|
|
|
> `sampling`: number
|
|
|
|
|
|
Количество последних результатов проверок, которые нужно сохранить.
|
|
|
|
|
|
> `timeout`: string
|
|
|
|
|
|
Время ожидания ответа при проверке.
|
|
|
Формат такой же, как и у `interval`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|