Руководство по развёртыванию 2026-04-13 · ~10 мин

2026: OpenClaw Gateway — метрики Prometheus и панели Grafana: сбор /metrics 7×24 на удалённом физическом Mac, пороги алертов и разбор ложных срабатываний (готовые scrape, запросы панелей и FAQ)

Командам платформы и SRE, которые держат OpenClaw Gateway на удалённых физических Mac, часто кажется, что шлюз «живой» по SSH, пока Prometheus показывает up=0, а Grafana шлёт ночные «шипы» задержки. Здесь — матрица топологии скрейпа и снисходительности алертов, воспроизводимый runbook из семи шагов, копируемые scrape / PromQL / правила и FAQ.

2026: OpenClaw Gateway, Prometheus и Grafana на удалённом физическом Mac

1. Введение и префиксы имён метрик

Материал для команд, которые запускают OpenClaw на арендованных физических Mac (например, узлы ZoneMac). Нужны задержка HTTP, доля ошибок и здоровье процесса как запрашиваемые, аудируемые и алертуемые ряды — а не только разовый curl по SSH.

Имена метрик зависят от версии OpenClaw и рантайма (Node.js prom-client, OpenTelemetry или встроенная статистика шлюза). Ниже — PromQL для типичных HTTP-метрик вроде http_request_duration_seconds_* и http_requests_total (или *_bucket/_sum/_count). На хосте выполните curl -s localhost:<port>/metrics | grep -E 'http_|process_' и подставьте реальные имена в запросы.

Если вы подбираете регион узла и сетевую топологию, см. как выбрать регион облачного сервера Mac в 2026 году; для базовой настройки производительности и окружения — как эффективно запустить OpenClaw на Mac в 2026 году.

2. Три типовых боли

  1. Ограничение: адрес привязки и место Prometheus. Шлюз слушает только 127.0.0.1, а Prometheus в контейнере или на другой машине — скрейпы падают (up=0), хотя локальный curl на Mac успешен.
  2. Скрытая цена: высокая кардинальность и агрессивный scrape_interval. Сырые пути или фрагменты ключей в метках раздувают кардинальность TSDB; скрейп каждую 1 с по Wi‑Fi или туннелю превращает джиттер в «шерсть» на графиках Grafana.
  3. Стабильность и ложные тревоги: энергосбережение macOS и окна деплоя. Сон дисплея, сон диска или горячая перезагрузка кратко поднимают p95; алерты с for: 0s будят дежурного из-за шума.

3. Матрица: скрейп и алерты

Перед продом зафиксируйте «кто из какого сетевого пространства скрейпит» и нужно ли учитывать рабочие часы в алертах.

Измерение Локальный Prometheus / vmagent Централизованный удалённый Prometheus
Сетевой путь Та же машина или мост, что и шлюз — проще всего 127.0.0.1 Шлюз должен слушать LAN или отдавать read-only метрики через обратный прокси / Tailscale
Операционная нагрузка Конфиг на узел; апгрейды трогают много файлов Правила и дашборды в одном месте; нужна стабильная достижимость
Типичный сценарий Один арендатор, сильная изоляция, первый контур наблюдаемости Мультирегиональные пулы с едиными SLO и маршрутизацией алертов
Стиль алерта Лучше всего для Главный риск
for: 2–5m + выражения на rate HTTP 5xx, тайм-ауты, повышенная доля ошибок Сустейн-аварии видны на несколько минут позже (допустимо при мягком SLA)
for: 0 + проба up Процесс исчез, порт не принимает Шум при покатных рестартах без silence или слияния
Почасовой / временной silence Плановое обслуживание, бэкапы, всплески GC Забытые silence скрывают реальные инциденты

4. Семишаговый runbook (удалённый физический Mac)

  1. Подтвердите endpoint и bind. Включите метрики в конфиге шлюза; проверьте metrics_path (часто /metrics) и IP прослушивания. Для удалённого скрейпа избегайте только 127.0.0.1, если сборщик не в том же namespace.
  2. Локальный дымовой тест. curl -sS http://127.0.0.1:<port>/metrics | head -n 40 — должны быть строки HELP/TYPE для HTTP и process.
  3. Выберите место сборщика. PoC на одном узле — Prometheus рядом. Много узлов — vmagent с remote-write или централизованный Prometheus с allowlist в фаерволе.
  4. Опишите scrape (ниже). Используйте scrape_interval: 15s–30s, разумный scrape_timeout, стабильное relabel для instance.
  5. Подключите Grafana. Добавьте datasource Prometheus; панели: суммарный RPS, p95, доля 5xx, up, длительность скрейпа.
  6. Задайте алерты и маршруты. Разные for для долей ошибок и для «сырого» up; silence в Alertmanager или флаги обслуживания из CI при деплое.
  7. Согласуйте настройки macOS 7×24. Предпочтительно проводное Ethernet, отключить сон диска, выровнять часовой пояс и NTP. Если скрейп зелёный, а приложение отдаёт 500 — сначала логи приложения, не Prometheus.

5. Готовые scrape, PromQL и алерты

5.1 Фрагмент scrape_configs для Prometheus

Подставьте свои targets и порт. За обратным прокси пропустите /metrics без кэширования.

scrape_configs:
  - job_name: openclaw-gateway
    scrape_interval: 15s
    scrape_timeout: 10s
    metrics_path: /metrics
    static_configs:
      - targets:
          - '127.0.0.1:18789'
        labels:
          env: prod
          role: gateway
    # relabel_configs:
    #   - source_labels: [__address__]
    #     target_label: instance

5.2 Запросы панелей Grafana (подставьте имена метрик с хоста)

  • Запросов в секунду (RPS): sum(rate(http_requests_total{job="openclaw-gateway"}[5m]))
  • p95 задержка (гистограмма): histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{job="openclaw-gateway"}[5m])) by (le))
  • Доля 5xx (пример): sum(rate(http_requests_total{job="openclaw-gateway",status=~"5.."}[5m])) / sum(rate(http_requests_total{job="openclaw-gateway"}[5m]))
  • Здоровье скрейпа: up{job="openclaw-gateway"} и scrape_duration_seconds{job="openclaw-gateway"}

5.3 Правила алертов (rule_files в Prometheus)

groups:
  - name: openclaw_gateway
    rules:
      - alert: GatewayScrapeDown
        expr: up{job="openclaw-gateway"} == 0
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "Эндпоинт метрик OpenClaw недоступен"
      - alert: GatewayHigh5xxRatio
        expr: sum(rate(http_requests_total{job="openclaw-gateway",status=~"5.."}[5m])) / sum(rate(http_requests_total{job="openclaw-gateway"}[5m])) > 0.05
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "Доля 5xx > 5% (подстройте метки под свою схему)"

Если вместо status используется code или свой outcome, перепишите селекторы — проверьте ненулевые векторы в Grafana Explore до включения в алерты.

6. Типичные ложные срабатывания

Симптом Сначала проверьте Что сделать
Прерывистый up=0 Переподключение туннеля, энергосбережение Wi‑Fi, bind только на loopback Ethernet, исправить bind, удлинить for для job’ов за туннелем
Ночные всплески p95 Сон диска, Time Machine, Spotlight Отключить сон диска; перенести бэкапы; в выражении алерта требовать «два подряд окна»
Алерты 5xx при деплое Катящийся рестарт, readiness ещё не готов Silence из CI; разделить job readiness и скрейп метрик
Рост памяти TSDB Путь или user id в метках Снизить кардинальность в приложении; metric_relabel_configs для отбрасывания меток

7. Цифры для отчётов и слайдов

  • scrape_interval: 15s в проде (не ускоряйте без причины сильнее хвостовой задержки шлюза); 30s на межконтинентальных линках.
  • scrape_timeout: держите ≤ ~2/3 от scrape_interval; для туннелей начните с 10s.
  • for в алертах: правила доступности — с 2m; долевые — с 5m, затем ужесточайте по burn rate SLO.

8. FAQ

В: Нужен ли Basic Auth перед /metrics?

О: Да, если путь пересекает недоверенную или мультитенантную сеть. Предпочтительны приватные сети + mTLS или SSH-туннели, а сложность аутентификации оставляйте на границе.

В: Влияет ли часовой пояс macOS на PromQL?

О: Prometheus хранит UTC; часовой пояс выбирайте в Grafana. При корреляции с локальными логами держите одну согласованную зону, чтобы не путать порядок «алерт раньше строки лога».

В: Можно ли добавить node_exporter для метрик хоста?

О: Да — отдельный job_name: node, чтобы связывать 5xx шлюза с заполнением диска или нехваткой CPU.

9. Итог и выбор узла

Когда HTTP- и процесс-метрики OpenClaw Gateway попадают в Prometheus и Grafana, сбои на узлах 7×24 перестают решаться «зайти по SSH и угадать»: видно, двигаются ли вместе up, доля ошибок и p95. Повторяющиеся темы — согласовать адрес привязки с сетевым путём скрейпа, использовать for в алертах и отфильтровать шум от энергосбережения macOS и деплоев из SLO.

Такой стек «шлюз + наблюдаемость» хорошо ложится на macOS: launchd, логи и Unix-утилиты в одном контуре; Apple Silicon в простое потребляет очень мало — удобно для постоянных шлюзов. По сравнению с компактными x86-коробками того же класса цены вы обычно получаете лучшую стабильность и энергоэффективность, а Gatekeeper, SIP и FileVault усиливают защиту учётных данных и концов туннелей — что важно операторам удалённых шлюзов.

Если нужны те же scrape и дашборды на тихом, экономичном железе, готовом к работе 7×24, Mac mini M4 в 2026 году остаётся одним из лучших по соотношению цена/качество — возьмите удалённый физический Mac через ZoneMac и введите метрики шлюза в промышленный контур за один проход.

Удалённые узлы Mac

Запускаете OpenClaw и Prometheus на реальном железе Mac?

ZoneMac предлагает мультирегиональные физические Mac для шлюзов 7×24 и выкатов наблюдаемости — по запросу, с той же планкой приёмки, что и в этом руководстве.

Оплата по факту Физическая изоляция Аудируемо
Аренда macOS в облаке Суперцена — ограниченное время
Получить сейчас