# Настройка custom probe
Custom probe разворачивается в вашей сети для мониторинга ресурсов за firewall или в private network.
Сначала создайте probe в Project Settings → Probe. После создания в dashboard будут PROBE_ID и PROBE_KEY.
Развёртывание probe
Docker
Нужен установленный Docker:
docker run --name status200-probe --network host -e PROBE_KEY=<probe-key> -e PROBE_ID=<probe-id> -e S200_URL=https://status200.ru -d status200/probe:releaseПри self-hosted Status200 замените S200_URL на URL вашего инстанса.
Прокси
Если probe ходит в Status200 или наружу через proxy, задайте переменные окружения:
# HTTP proxy
docker run --name status200-probe --network host \
-e PROBE_KEY=<probe-key> \
-e PROBE_ID=<probe-id> \
-e S200_URL=https://status200.ru \
-e HTTP_PROXY_URL=http://proxy.example.com:8080 \
-e NO_PROXY=localhost,.internal.example.com \
-d status200/probe:release
# HTTPS proxy
docker run --name status200-probe --network host \
-e PROBE_KEY=<probe-key> \
-e PROBE_ID=<probe-id> \
-e S200_URL=https://status200.ru \
-e HTTPS_PROXY_URL=http://proxy.example.com:8080 \
-e NO_PROXY=localhost,.internal.example.com \
-d status200/probe:release
# Прокси с аутентификацией
docker run --name status200-probe --network host \
-e PROBE_KEY=<probe-key> \
-e PROBE_ID=<probe-id> \
-e S200_URL=https://status200.ru \
-e HTTP_PROXY_URL=http://username:password@proxy.example.com:8080 \
-e HTTPS_PROXY_URL=http://username:password@proxy.example.com:8080 \
-e NO_PROXY=localhost,.internal.example.com \
-d status200/probe:releaseDocker Compose
docker-compose.yml:
version: "3"
services:
status200-probe:
image: status200/probe:release
container_name: status200-probe
environment:
- PROBE_KEY=<probe-key>
- PROBE_ID=<probe-id>
- S200_URL=https://status200.ru
network_mode: host
restart: alwaysС прокси
version: "3"
services:
status200-probe:
image: status200/probe:release
container_name: status200-probe
environment:
- PROBE_KEY=<probe-key>
- PROBE_ID=<probe-id>
- S200_URL=https://status200.ru
# Прокси (опционально)
- HTTP_PROXY_URL=http://proxy.example.com:8080
- HTTPS_PROXY_URL=http://proxy.example.com:8080
- NO_PROXY=localhost,.internal.example.com
# С аутентификацией:
# - HTTP_PROXY_URL=http://username:password@proxy.example.com:8080
# - HTTPS_PROXY_URL=http://username:password@proxy.example.com:8080
# - NO_PROXY=localhost,.internal.example.com
network_mode: host
restart: alwaysЗапуск:
docker compose up -dДля self-hosted замените S200_URL.
Kubernetes
status200-probe.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: status200-probe
spec:
selector:
matchLabels:
app: status200-probe
template:
metadata:
labels:
app: status200-probe
spec:
containers:
- name: status200-probe
image: status200/probe:release
env:
- name: PROBE_KEY
value: "<probe-key>"
- name: PROBE_ID
value: "<probe-id>"
- name: S200_URL
value: "https://status200.ru"С прокси
apiVersion: apps/v1
kind: Deployment
metadata:
name: status200-probe
spec:
selector:
matchLabels:
app: status200-probe
template:
metadata:
labels:
app: status200-probe
spec:
containers:
- name: status200-probe
image: status200/probe:release
env:
- name: PROBE_KEY
value: "<probe-key>"
- name: PROBE_ID
value: "<probe-id>"
- name: S200_URL
value: "https://status200.ru"
# Прокси (опционально)
- name: HTTP_PROXY_URL
value: "http://proxy.example.com:8080"
- name: HTTPS_PROXY_URL
value: "http://proxy.example.com:8080"
- name: NO_PROXY
value: "localhost,.internal.example.com"
# С аутентификацией:
# - name: HTTP_PROXY_URL
# value: "http://username:password@proxy.example.com:8080"
# - name: HTTPS_PROXY_URL
# value: "http://username:password@proxy.example.com:8080"
# - name: NO_PROXY
# value: "localhost,.internal.example.com"kubectl apply -f status200-probe.yamlПеременные окружения
Обязательные
PROBE_KEY— ключ probe из dashboardPROBE_ID— ID probe из dashboardS200_URL— URL инстанса (по умолчанию: https://status200.ru)
Опциональные
HTTP_PROXY_URL— HTTP proxy для HTTP-запросовHTTPS_PROXY_URL— proxy URL для HTTPSNO_PROXY— список хостов/доменов без proxy (через запятую)PROBE_NAME— имя probePROBE_DESCRIPTION— описаниеPROBE_MONITORING_WORKERS— число worker’ов (по умолчанию: 1)PROBE_MONITOR_FETCH_LIMIT— сколько мониторов за раз (по умолчанию: 10)PROBE_MONITOR_RETRY_LIMIT— повторы при ошибке (по умолчанию: 3)PROBE_SYNTHETIC_MONITOR_SCRIPT_TIMEOUT_IN_MS— таймаут synthetic-скрипта, мс (по умолчанию: 60000)PROBE_CUSTOM_CODE_MONITOR_SCRIPT_TIMEOUT_IN_MS— таймаут custom code, мс (по умолчанию: 60000)
Прокси
Трафик мониторинга может идти через HTTP/HTTPS proxy; NO_PROXY — исключения для внутренних хостов.
Формат URL:
http://[username:password@]proxy.server.com:portПримеры:
http://proxy.example.com:8080http://username:password@proxy.example.com:8080
Возможности:
- HTTP и HTTPS proxy
- Аутентификация proxy
- Fallback между HTTP/HTTPS proxy
- Обход через
NO_PROXY - Все типы мониторов (Website, API, SSL, Synthetic и т.д.)
Поддерживаются и стандартные имена (HTTP_PROXY_URL, HTTPS_PROXY_URL, NO_PROXY), и нижний регистр (http_proxy, https_proxy, no_proxy).