Conceptos básicos de la CLI para Node
10 ejemplos para curl, jq, ss y seguimiento de registros en servidores Linux que ejecutan APIs de Node.js - 7 básicos y 3 intermedios.
Busca en todas las páginas de la documentación
10 ejemplos para curl, jq, ss y seguimiento de registros en servidores Linux que ejecutan APIs de Node.js - 7 básicos y 3 intermedios.
curl, jq y ss instalados (predeterminado en la mayoría de las imágenes de Linux).3000 por defecto) y la ruta de salud (/health).curl -sf http://localhost:3000/health
curl -sf http://localhost:3000/ready-s silencioso, -f falla en HTTP 4xx/5xx (salida no cero)ready debería fallar cuando Postgres/Redis no estén accesibles# Con temporización para el triaje de latencia
curl -sf -w "time_total=%{time_total}\n" -o /dev/null http://localhost:3000/healthcurl -sf -X POST http://localhost:3000/orders \
-H "Content-Type: application/json" \
-H "x-request-id: cli-smoke-$(date +%s)" \
-d '{"customerId":"550e8400-e29b-41d4-a716-446655440000","items":[{"sku":"550e8400-e29b-41d4-a716-446655440001","quantity":1}]}'x-request-id para la correlación de registrosjq para una salida legible: | jq .# Últimas 100 líneas de error de la salida estándar del contenedor
kubectl logs deploy/orders-api --tail=500 | jq -c 'select(.level=="error")' | tail -20
# Rastrear una solicitud
kubectl logs deploy/orders-api --since=10m | jq -c 'select(.requestId=="abc-123")'jqselect(.statusCode >= 500) para errores HTTP en eventos request_completeRelacionado: pino - convenciones de campos de registro
ss -tlnp | grep node
ss -tlnp 'sport = :3000'ss reemplaza al obsoleto netstat en Linux moderno0.0.0.0:3000, no solo a 127.0.0.1 en contenedoresss -ssudo journalctl -u orders-api -f --since "15 min ago"
sudo journalctl -u orders-api -p err --since today-f sigue los registros en vivo en VMs sin Kubernetessystemctl status orders-api para bucles de reiniciodocker logs -f --tail 200 orders-api
docker logs orders-api 2>&1 | jq -c 'select(.level=="error")' | tail -10docker exec para leer archivos de registro que no existencurl -sf https://api.stripe.com/v1/charges -H "Authorization: Bearer sk_test_xxx" -o /dev/null -w "%{http_code}\n"
getent hosts postgres.internal#!/usr/bin/env bash
set -euo pipefail
BASE_URL="${BASE_URL:-http://localhost:3000}"
curl -sf "$BASE_URL/health" | jq -e '.status == "ok"'
curl -sf "$BASE_URL/ready" | jq -e '.status == "ok"'
echo "smoke OK"bin/smoke.sh; ejecuta post-despliegue en CI o SSHset -euo pipefail falla rápidamente en el primer errorRelacionado: Mejores prácticas de la CLI de Linux - higiene de scripts
curl -sI http://localhost:3000/orders/1 | grep -iE 'cache-control|x-request-id|content-type'-I solicitud HEAD solo para metadatosfor i in $(seq 1 20); do
curl -sf -o /dev/null -w "%{http_code} %{time_total}\n" http://localhost:3000/health
donek6 o autocannon, no bucles bash en producciónEjecuta desde un bastión o un pod de depuración con jq. Alternativamente, node -e analiza JSON, pero jq es más rápido para operaciones.
Es lo esperado: la producción está detrás de una VPN o una red privada. Primero, SSH a un bastión o kubectl port-forward.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS activa), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026