Obter Métricas do Projeto

Retorna as métricas de uso do projeto (CPU, memória, etc).

GET /project/:id/metrics

Parâmetros de Path

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

Headers

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

Parâmetros de Query (opcionais)

ParâmetroTipoDescrição
instancestringIdentificador de uma instância específica. Quando omitido, projetos HTTP retornam métricas de rede agregadas.

Resposta

O campo uptime representa o tempo de atividade atual da instância ou do container retornado pelo endpoint de métricas. Ele não deve ser interpretado como uptime da aplicação, SLA ou histórico de disponibilidade pública.

{
  "status": "success",
  "message": "get metrics with success",
  "data": {
    "type": "application",
    "aggregate": true,
    "network": {
      "requests": 1200,
      "bytes_received": 420000,
      "bytes_sent": 1800000,
      "status_codes": {
        "200": 1160,
        "500": 5
      },
      "user_agents": {
        "Mozilla/5.0": 900,
        "curl/8.0": 300
      },
      "window_seconds": 300
    }
  }
}

Obter Logs do Projeto

Retorna os logs do projeto em execução.

GET /project/:id/logs

Parâmetros de Path

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

Parâmetros de Query (opcionais)

ParâmetroTipoDescrição
instancestringIdentificador da instância para retornar logs de apenas um container

Resposta

{
  "status": "success",
  "message": "get instances logs with success",
  "data": [
    "2024-01-15T10:30:00Z Starting application...\n2024-01-15T10:30:01Z Server listening on port 3000",
    "2024-01-15T10:30:05Z GET /health 200"
  ]
}

Quando instance é enviado, data pode ser uma string única com os logs da instância solicitada.


Exemplos

Obter Métricas

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

Obter Logs

curl -X GET "https://api.zenifra.com/v1/project/507f1f77bcf86cd799439011/logs?instance=abc" \
  -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}

# Obter métricas
metrics = requests.get(
    f"https://api.zenifra.com/v1/project/{PROJECT_ID}/metrics",
    headers=headers
).json()
print(metrics)

# Obter logs
logs = requests.get(
    f"https://api.zenifra.com/v1/project/{PROJECT_ID}/logs",
    params={"instance": "abc"},
    headers=headers
).json()
print(logs)