Métricas de Rede

As métricas de rede ajudam a investigar tráfego HTTP, códigos de status, rotas mais acessadas, latência, user agents e IPs de origem. Estes endpoints estão disponíveis para projetos HTTP em planos com acesso a métricas.

Headers

HeaderObrigatórioDescrição
x-api-keySimAPI Key do projeto
x-organization-idSimOrganização ativa do projeto

Endpoints

EndpointUso principal
GET /project/:id/metrics/network/summaryVisão agregada de requests, bytes, latência e classes de status
GET /project/:id/metrics/network/status-codesAgrupamento por código HTTP
GET /project/:id/metrics/network/routesRotas mais acessadas e status por rota
GET /project/:id/metrics/network/user-agentsUser agents mais frequentes
GET /project/:id/metrics/network/request-eventsEventos individuais de requisição
GET /project/:id/metrics/network/source-ipsIPs de origem com maior volume

Parâmetros de Path

ParâmetroTipoDescrição
idstringID do projeto (ObjectId)

Filtros de Query

ParâmetroTipoDescrição
range_secondsnumberJanela relativa. Valores aceitos: 300, 3600, 21600, 86400, 604800
fromstringData inicial em formato ISO 8601
tostringData final em formato ISO 8601
status_codestringCódigo HTTP específico, como 500
status_classstringClasse HTTP: 2xx, 3xx, 4xx ou 5xx
source_ipstringIP de origem para filtrar eventos
pathstringCaminho HTTP para filtrar eventos
pagenumberPágina da paginação. Padrão: 1
limitnumberItens por página. Padrão: 5, máximo: 50

Use range_seconds para dashboards simples. Use from e to quando precisar comparar uma janela específica de incidente.

Summary

GET /project/:id/metrics/network/summary
{
  "status": "success",
  "message": "get network analytics summary with success",
  "data": {
    "project_id": "507f1f77bcf86cd799439011",
    "window": {
      "from": "2026-05-23T13:00:00.000Z",
      "to": "2026-05-23T14:00:00.000Z",
      "seconds": 3600
    },
    "summary": {
      "requests": 1200,
      "bytes_received": 420000,
      "bytes_sent": 1800000,
      "avg_latency_ms": 42,
      "p95_latency_ms": 120
    },
    "status_classes": {
      "2xx": 1160,
      "3xx": 20,
      "4xx": 15,
      "5xx": 5
    }
  }
}

Listas Paginadas

Os endpoints status-codes, routes, user-agents, request-events e source-ips retornam data e pagination.

{
  "status": "success",
  "message": "get network analytics status codes with success",
  "data": {
    "data": [
      {
        "status_code": "200",
        "requests": 1160,
        "user_agents": {
          "Mozilla/5.0": 900,
          "curl/8.0": 260
        },
        "routes": {
          "GET /": 800,
          "GET /health": 360
        },
        "bytes_received": 390000,
        "bytes_sent": 1600000,
        "avg_latency_ms": 39,
        "p95_latency_ms": 110
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 5,
      "total": 1,
      "total_pages": 1
    }
  }
}

Exemplos

Resumo da última hora

curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/metrics/network/summary?range_seconds=3600" \
  -H "x-api-key: sua-api-key" \
  -H "x-organization-id: sua-organization-id"

Rotas com erros 5xx

curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/metrics/network/routes?status_class=5xx&limit=10" \
  -H "x-api-key: sua-api-key" \
  -H "x-organization-id: sua-organization-id"

Eventos de um IP específico

curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/metrics/network/request-events?source_ip=203.0.113.10" \
  -H "x-api-key: sua-api-key" \
  -H "x-organization-id: sua-organization-id"

Python

import requests

API_KEY = "sua-api-key"
ORGANIZATION_ID = "sua-organization-id"
PROJECT_ID = "507f1f77bcf86cd799439011"

headers = {"x-api-key": API_KEY, "x-organization-id": ORGANIZATION_ID}

summary = requests.get(
    f"https://api.zenifra.com/v1/project/{PROJECT_ID}/metrics/network/summary",
    params={"range_seconds": 3600},
    headers=headers
).json()

print(summary)

Erros Comuns

CódigoMotivo provávelComo resolver
400Projeto não é HTTPUse métricas de banco em Métricas e Logs
402Plano não permite acesso a métricasFaça upgrade para um plano com métricas habilitadas
403Organização ou permissão inválidaConfirme x-organization-id e acesso ao projeto
404Projeto não encontradoConfira Project ID, API Key e organização

Próximos Passos