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