You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
4.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Мониторинг подключений
Компонент мониторинга подключений использует 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`.