Зонды

# Настройка custom probe

Custom probe разворачивается в вашей сети для мониторинга ресурсов за firewall или в private network.

Сначала создайте probe в Project SettingsProbe. После создания в 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:release

Docker 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 из dashboard
  • PROBE_ID — ID probe из dashboard
  • S200_URL — URL инстанса (по умолчанию: https://status200.ru)

Опциональные

  • HTTP_PROXY_URL — HTTP proxy для HTTP-запросов
  • HTTPS_PROXY_URL — proxy URL для HTTPS
  • NO_PROXY — список хостов/доменов без proxy (через запятую)
  • PROBE_NAME — имя probe
  • PROBE_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:8080
  • http://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).