Skip to content
Эта страница переведена с помощью ИИ и может содержать неточности. Помогите улучшить перевод на GitHub.

Метрики (Prometheus / Grafana) ​

Gately экспортирует глобальные метрики в текстовом формате Prometheus (0.0.4) по адресу /api/metrics: процесс, проброс портов, STUN, DDNS, сертификаты и веб-службы.

Настройка сбора ​

  1. На странице «API-токены» создайте токен только с правом чтения «Метрики (Prometheus)» (metrics:read). Этот токен не даёт доступа ни к каким другим эндпоинтам.
  2. Добавьте в scrape_configs в Prometheus:
yaml
scrape_configs:
  - job_name: gately
    metrics_path: /api/metrics
    scheme: http
    authorization:
      credentials: gtl_xxxx
    static_configs:
      - targets: ["gately.example.lan:16680"]

Метрики ​

МетрикаТипОписание
gately_build_info{version,commit,goversion}gaugeСведения о сборке, всегда 1
gately_uptime_secondsgaugeВремя работы процесса
gately_goroutines / gately_memory_alloc_bytesgaugeЧисло горутин и память кучи
gately_cert_days_remaining{cert}gaugeДней до истечения сертификата
gately_cert_expiry_timestamp_seconds{cert}gaugeВремя истечения сертификата
gately_ddns_record_up{task,record,type}gaugeУспешна ли последняя синхронизация (1 = успешно)
gately_ddns_last_update_timestamp_seconds{...}gaugeКогда запись последний раз изменялась
gately_stun_up{rule}gaugeЕсть ли у правила STUN рабочее сопоставление
gately_stun_connections_total{rule}counterСоединения, обработанные встроенной переадресацией STUN
gately_portforward_active_connections{rule}gaugeОткрытые соединения правила проброса
gately_portforward_connections_total{rule}counterПринятые соединения правила проброса
gately_portforward_bytes_total{rule,direction}counterПереданные байты (in = от клиента к цели)
gately_site_requests_total{listener,site}counterЗапросы по сайтам
gately_site_responses_total{listener,site,class}counterОтветы по классам статуса (2xx/3xx/4xx/5xx)
gately_site_response_bytes_total / gately_site_errors_total / gately_site_active_requestscounter / counter / gaugeБайты ответов, ошибки бэкендов, выполняющиеся запросы
gately_upstream_up{listener,site,upstream}gaugeРаботоспособен ли бэкенд

Примеры оповещений ​

yaml
groups:
  - name: gately
    rules:
      - alert: GatelyCertExpiring
        expr: gately_cert_days_remaining < 14
        for: 1h
      - alert: GatelyDDNSFailing
        expr: gately_ddns_record_up == 0
        for: 15m
      - alert: GatelyUpstreamDown
        expr: gately_upstream_up == 0
        for: 2m

Дашборд Grafana ​

В Grafana выберите Import, загрузите deploy/grafana/gately-dashboard.json и укажите свой источник данных Prometheus.

Распространяется по лицензии Apache-2.0.