easymon

easymon · API de lectura

API HTTP de solo lectura para consultar tus instancias, métricas y consultas de forma programática. Disponible en planes con la funcionalidad API (Pro y Enterprise).

Contenido: AutenticaciónURL baseInstancias Nombres de métricaMétricasConsultas Errores

Autenticación

Genera una clave en el panel: Organización → API → Generar clave. La clave (em_…) se muestra una sola vez; guárdala. Se envía en la cabecera:

Authorization: Bearer em_tu_clave

La clave está ligada a tu organización y ve todas sus instancias. Puedes revocarla en el mismo panel. Si el plan no incluye API, las llamadas responden 403.

URL base

PANEL/api/v1

Todas las rutas cuelgan de esa base. Respuestas en JSON.

Listar instancias

GET/instances — instancias de tu organización.

curl -H "Authorization: Bearer em_tu_clave" PANEL/api/v1/instances
[
  { "instance_id": "…uuid…", "engine": "postgres", "label": "db-prod", "last_seen": 1783760438032 }
]

Nombres de métrica disponibles

GET/metricnames?instance=<uuid> — métricas con datos recientes para esa instancia.

curl -H "Authorization: Bearer em_tu_clave" "PANEL/api/v1/metricnames?instance=UUID"
["db.connections","db.cache_hit_ratio","db.locks_waiting","db.deadlocks"]

Serie temporal de una métrica

GET/metrics?instance=<uuid>&name=<métrica>&mins=<N>

ParámetroDescripción
instanceUUID de la instancia (obligatorio).
nameNombre de la métrica. Por defecto db.connections.
minsVentana en minutos hacia atrás. Por defecto 60, máximo 10080 (7 días).
curl -H "Authorization: Bearer em_tu_clave" \
  "PANEL/api/v1/metrics?instance=UUID&name=db.connections&mins=120"
[ { "t": 1783760400000, "v": 42 }, { "t": 1783760415000, "v": 45 } ]

t es el timestamp en milisegundos; v el valor.

Consultas más costosas

GET/slowqueries?instance=<uuid> — top de consultas (texto normalizado, sin valores reales) de los últimos 10 minutos.

curl -H "Authorization: Bearer em_tu_clave" "PANEL/api/v1/slowqueries?instance=UUID"
[
  {
    "fingerprint": "…", "database": "appdb",
    "query_text": "SELECT * FROM t WHERE id = ?",
    "calls": 1200, "duration_ms": 4.2, "max_ms": 38.0, "total_ms": 5040, "p95_ms": 9.1,
    "rows_affected": 1, "rows_examined": 1200, "rows_sent": 1,
    "no_index_used": 3, "tmp_disk_tables": 0
  }
]

no_index_used > 0 indica ejecuciones sin índice; rows_examined muy por encima de rows_sent sugiere índice faltante.

Errores

CódigoSignificado
401Falta la cabecera Authorization o la clave no es válida / está revocada.
403El plan de tu organización no incluye la funcionalidad API.
400Falta un parámetro obligatorio (p. ej. instance).
Solo lectura: la API no modifica nada. Los datos se aíslan por organización; una clave solo ve las instancias de su organización.
easymon · easytools.dev · volver al panel