7 Métricas para Monitorizar AWS Lambda
DevOps
Guía práctica con las 7 métricas imprescindibles para monitorizar AWS Lambda y diagnosticar latencia, errores, capacidad y coste.

Si yo tuviera que vigilar una función Lambda con lo mínimo, miraría 7 datos: invocaciones, duración, throttles, errores, arranques en frío, memoria y trazas. Con eso puedo controlar coste, latencia, fallos y límites sin perder tiempo en paneles de más.
En corto: si suben las invocaciones, reviso si también sube la duración. Si aparecen Throttles, tengo un problema de capacidad. Si crecen los Errors, miro la tasa de error y no solo el número bruto. Y si hay lentitud sin más carga, reviso Init Duration y MaxMemoryUsed.
Esto es lo que me llevo del artículo:
Invocaciones: me dicen si el tráfico cambia.
Duración: miro media, p95 y p99 para ver latencia de verdad.
Throttles: si no están en 0, algo limita la concurrencia.
Errores: importa más el % de error que el total.
Cold starts /
Init Duration: ayudan a separar lentitud por arranque.Memoria /
MaxMemoryUsed: sirven para ajustar coste y evitar timeouts.X-Ray: me enseña si el tiempo se va en mi código o fuera.
Idea central: no hace falta medir todo. Yo cruzaría volumen + latencia + errores y dejaría memoria y trazas para encontrar la causa del problema.
Métrica | Qué me dice | Cuándo la miro primero |
|---|---|---|
Invocaciones | Cambio de tráfico | Si sospecho picos o caídas |
Duración | Lentitud | Si la respuesta tarda más |
Throttles | Falta de capacidad | Si hay rechazos |
Errores | Fallos de ejecución | Si algo deja de funcionar |
Init Duration | Coste del arranque | Si hay latencia intermitente |
MaxMemoryUsed | Presión de memoria | Si hay timeouts o coste alto |
X-Ray | Dónde está el cuello de botella | Si las métricas no bastan |
Mi lectura rápida sería esta: primero salud, luego rendimiento y después causa raíz. Ese orden evita alarmas por ruido y ayuda a decidir antes qué tocar en producción.
Observabilidad y monitorización de aplicaciones con AWS Lambda | AWS Lambda Fundamentals
Por qué estas 7 métricas importan a los equipos en fase inicial
Estas 7 métricas contestan a cuatro preguntas operativas muy claras: tráfico, rendimiento, fallos y uso de recursos.
Pregunta clave | Categoría de métrica | Objetivo para el equipo |
|---|---|---|
¿Está cambiando el volumen? | Invocaciones | Validar demanda y detectar anomalías |
¿El rendimiento está cayendo? | Duración, Cold Starts | Mantener la experiencia de usuario estable |
¿Los usuarios están viendo fallos o la función está alcanzando su límite de capacidad? | Errores, Throttles | Mantener la tasa de fallos bajo el umbral definido por el equipo |
¿La función está malgastando recursos? | Uso de memoria, MaxMemoryUsed | Optimizar costes y evitar sobreprovisionamiento |
No todas las métricas pesan igual. Los errores y las limitaciones de ejecución son críticos y piden acción inmediata. Si aparecen, no conviene esperar.
La duración y las invocaciones funcionan más como señales de tendencia. No siempre apuntan a un problema urgente, pero sí ayudan a ver si algo está cambiando poco a poco. Y ahí es donde muchos equipos se la juegan: no por un gran fallo de golpe, sino por pequeños desvíos que pasan desapercibidos.
El uso de memoria suele importar más cuando el equipo ya ha ganado cierta estabilidad y quiere ajustar costes sin pasarse de recursos. Dicho de otro modo: primero haces que funcione bien; después afinas.
Por eso merece la pena leer estas señales en un solo panel. Verlo todo junto permite detectar cambios rápido y unir puntos que, por separado, dicen bastante menos.
A partir de aquí, cada métrica responde a una decisión concreta.
1. Invocaciones
La primera señal que conviene mirar es el volumen bruto. Esta métrica indica cuántas veces se ejecuta tu función en un periodo concreto. En una startup, las invocaciones te dejan ver si el uso está creciendo, si se mantiene estable o si se está yendo de lo previsto.
Lo más útil es medir las invocaciones por minuto o por hora. Así detectas picos, caídas y cambios de patrón sin dar palos de ciego. Un pico sostenido puede acabar saturando dependencias compartidas, como bases de datos o colas. Si tu Lambda se conecta a una base de datos, conviene limitar y reutilizar las conexiones.
Actúa cuando el volumen crezca de forma sostenida o cuando empiece a meter presión sobre dependencias compartidas. Y si el volumen cambia y, además, cada ejecución tarda más, el siguiente dato que toca mirar es la duración.
2. Duración
Cuando suben las invocaciones, la duración te enseña si la función mantiene el ritmo o empieza a ir más lenta. Esta métrica mide cuánto tarda en ejecutarse tu función.
No te quedes solo con la media. p95 y p99 suelen contar la historia de verdad, porque dejan ver picos de latencia que el promedio tapa con facilidad.
Si la duración empeora, mira primero qué parte del recorrido está metiendo ese retraso. Si el aumento se mantiene en el tiempo, o aparece al mismo tiempo que sube el volumen de invocaciones, conviene revisarlo cuanto antes.
Las causas más comunes suelen ser estas:
Código de la propia función
Llamadas a servicios externos
Cold starts
Cargas útiles demasiado grandes
X-Ray te ayuda a separar la lógica interna de las dependencias externas para encontrar el cuello de botella. Si p95 o p99 se desvían, investígalo antes de que empiece a notarse en los usuarios. Si el tiempo sigue subiendo, toca pasar a revisar capacidad y fallos.
3. Throttles
Los throttles aparecen cuando Lambda rechaza invocaciones porque la función ha llegado al límite de concurrencia que tiene asignado. Si la causa es la capacidad, el siguiente paso es medir cuánto afecta eso al rendimiento y a los fallos.
En CloudWatch, la métrica Throttles indica cuántas invocaciones se han rechazado. Debería estar en cero.
Conviene actuar cuando los throttles se repiten o suben a medida que crece el tráfico. En ese caso:
revisa la concurrencia reservada
ajusta las alertas
valida el límite con pruebas de estrés
Si además aparecen errores, pasa a la siguiente sección.
4. Errores
Si no hay un límite de capacidad, el paso siguiente es medir los fallos.
La métrica Errors de CloudWatch cuenta las invocaciones fallidas por excepción, timeout o error no controlado. Te ayuda a separar si el problema está en la función o en una dependencia externa. Si esta métrica sube, tómatelo en serio e investígalo cuanto antes.
No mires solo el dato suelto. Fíjate en el volumen total y en cómo cambia con el tiempo. Un pico aislado suele ser algo puntual. En cambio, una subida sostenida ya huele a problema de verdad. Con AWS X-Ray puedes localizar el punto de fallo y comprobar si afecta a la función, a un trigger o a una versión concreta.
Si los errores se concentran en una versión, un alias o un trigger, revisa el despliegue o la configuración de esa parte. A veces el fallo no está en toda la función, sino en una pieza muy concreta.
Situación | Señal | Acción |
|---|---|---|
Pico aislado de errores | Aumento puntual en | Revisar logs y contexto; no escalar de inmediato |
Errores sostenidos | La métrica sigue alta | Investigar la causa raíz |
Errores solo en una versión o trigger | El fallo queda acotado | Revisar despliegue o configuración |
Timeouts repetidos | Fallos por límite de ejecución agotado | Ajustar el timeout o optimizar la ejecución |
Actúa cuando los errores se repiten, crecen o aparecen en una función que antes iba bien. Si el código falla y, además, la latencia también sube, revisa los arranques en frío.
5. Arranques en frío e Init Duration
Si la función falla solo a ratos o se vuelve más lenta sin que suba el tráfico, lo primero es mirar los arranques en frío.
Un arranque en frío pasa cuando Lambda crea un nuevo entorno de ejecución. Init Duration mide cuánto tarda esa fase de inicio. Revísalo en CloudWatch y X-Ray para aislar el coste del arranque.
Cuando la latencia sube sin más carga, Init Duration te ayuda a separar el tiempo del arranque del resto de la ejecución. Pon esta métrica en el punto de mira justo después de un despliegue y en funciones con poco tráfico.
Conviene actuar si el pico se repite, si coincide con despliegues o si golpea a funciones que se usan poco. Como primeros pasos:
Reduce el tamaño del paquete.
Saca la inicialización de clientes y conexiones fuera del handler.
Usa Provisioned Concurrency solo si el coste fijo te sale a cuenta. No la actives por defecto.
Si el problema no viene del arranque, toca revisar el consumo de memoria.
6. Uso de memoria y MaxMemoryUsed
Si la latencia sigue alta después de descartar los cold starts, toca mirar la memoria y el tamaño de la función.
MaxMemoryUsed indica el pico de memoria usado en una invocación. Lo ideal es leer este dato junto con la memoria asignada. Así ves enseguida si la función se ha quedado corta o si le has dado más de la cuenta.
Cuando MaxMemoryUsed se acerca de forma sostenida al límite, la función está subdimensionada. También conviene vigilar los picos y las subidas con el paso del tiempo, porque muchas veces avisan de fallos antes de que aparezcan en producción. Un consumo alto aumenta el riesgo de timeouts y puede hacer que la función salga más cara. Si ves ese patrón, el siguiente paso es revisar la configuración y cómo consume memoria la función.
No actúes por una sola invocación aislada. Muévete solo cuando el patrón se repita. Si el consumo se mantiene alto, sube la memoria y mide qué pasa con la duración y el coste. Si se mantiene bajo durante bastante tiempo, bájala para no sobredimensionar la función. Y antes de tocar nada, revisa CloudWatch y X-Ray.
7. Trazas con AWS X-Ray
AWS X-Ray añade contexto cuando las métricas, por sí solas, no te dicen qué está pasando.
Si la duración, los errores o los throttles no dejan claro el origen del problema, X-Ray te ayuda a verlo. Registra cada invocación y enseña dónde se va el tiempo: dentro de la función o en servicios externos.
Lo más útil de X-Ray no es solo mirar una traza suelta. La clave está en el mapa de servicio de CloudWatch ServiceLens. Ahí ves cómo se relaciona tu función con los servicios a los que llama y puedes detectar subsegmentos lentos o repetidos. Y eso, muchas veces, apunta directo al cuello de botella.
Cuándo actuar: revisa las trazas cuando aparezcan subsegmentos lentos de forma repetida, picos de latencia de extremo a extremo o segmentos con estado Fault o Error, aunque en CloudWatch todavía no se vea con claridad.
No traces el 100 % de las invocaciones. Empieza con un muestreo bajo y súbelo solo durante ventanas de diagnóstico. Así podrás leer mejor los picos antes de sacar conclusiones.
Cómo leer los datos sin perder la calma
Después de medir, toca interpretar bien. El fallo más común es mirar cada métrica por su cuenta. Cruza duración, invocaciones y tasa de error antes de mover ficha. Un pico, por sí solo, dice poco. Empieza a importar cuando aparece junto a más tráfico o más fallos.
Para la latencia, fíjate en p95 y p99. Ahí es donde suele verse la degradación de verdad. La media puede dar una falsa sensación de control y tapar picos que sí afectan a los usuarios.
Con los errores pasa algo parecido. El número absoluto puede engañar bastante. Lo que conviene calcular es la tasa de error: errores divididos entre invocaciones.
Invocaciones | Errores totales | Tasa de error | Interpretación |
|---|---|---|---|
100 | 5 | 5,0 % | Crítico: requiere investigación inmediata. |
1.000.000 | 5 | 0,0005 % | Insignificante: ruido normal del tráfico. |
Cinco errores en 100 invocaciones son un problema serio. Cinco en un millón, no. Son ruido. Si no normalizas por invocaciones, las alertas basadas en valores absolutos acaban lanzando falsos positivos. Y cuando eso pasa una y otra vez, el equipo deja de hacerles caso.
Por eso este criterio encaja mejor en paneles que muestren, a la vez, invocaciones, latencia y tasa de error.
Tablas y ayudas visuales que incluir
Estas vistas convierten las métricas en umbrales de acción.
Después de medir cada métrica, compárala con estos umbrales para ver si toca intervenir o si todo va bien.
Duración por percentiles frente al timeout configurado
Métrica | Ejemplo de umbral | Estado | Acción |
|---|---|---|---|
Mediana | 150 ms | Saludable | Ninguna |
p95 | 450 ms | Aviso | Revisa dependencias externas |
p99 | 1,2 s | Crítico | Optimiza arranques en frío o aumenta el timeout |
Timeout configurado | 1,5 s | Límite | Refactorización inmediata |
Si el p99 se acerca al timeout, el riesgo es alto. No hace falta esperar a que haya fallos: esa señal ya te está diciendo que vas muy justo.
Memoria configurada frente a MaxMemoryUsed
Memoria configurada | MaxMemoryUsed | Duración | Impacto en coste |
|---|---|---|---|
128 MB | 110 MB | 800 ms | Medio |
512 MB | 115 MB | 200 ms | Bajo |
1.024 MB | 120 MB | 180 ms | Alto |
Aquí la lectura es bastante directa. Subir memoria solo merece la pena si la duración baja de forma clara. Si pagas más pero apenas ganas tiempo, el cambio no sale a cuenta.
Tasa de arranques en frío y acciones recomendadas
Tasa de arranques en frío | Nivel de atención | Acción |
|---|---|---|
< 1 % | Bajo | Sin acción |
1 % – 5 % | Moderado | Reduce paquete y dependencias |
> 5 % | Alto | Activa Provisioned Concurrency |
Juntas, estas tres vistas funcionan como un panel de lectura rápida. De un vistazo, te ayudan a detectar si el problema está en el tiempo de ejecución, en la memoria o en los arranques en frío.
Además, estas vistas alimentan el panel y las alertas dentro del flujo de monitorización.
Un flujo de monitorización sencillo para Lambda en producción

Flujo de Monitorización AWS Lambda: 3 Etapas para Detectar Problemas
Cuando ya entiendes qué te dice cada métrica, el siguiente paso es poner orden. En producción, no conviene mirar todo a la vez. Sale mejor revisar las señales según su prioridad operativa.
Empieza por Invocations y Errors. Estas dos métricas te dan la foto base: cuánto trabajo está entrando y cuántos fallos se están produciendo. Si aquí algo va mal, ya sabes que hay un problema de salud que atender.
Después, pasa a Duration y Throttles. Aquí controlas dos cosas muy concretas: la latencia y la capacidad. Configura una alarma en CloudWatch para que te avise cuando la duración supere tu umbral o cuando Throttles sea mayor que 0. Así no dependes de entrar a revisar paneles todo el rato.
Por último, usa Cold Starts, memoria y trazas para ir a la causa raíz. Este bloque es el que te ayuda a decidir si toca escalar, ajustar la configuración o investigar más a fondo.
Visto así, la monitorización deja de ser una pila de datos sueltos y pasa a ser un proceso de decisión. La tabla resume ese orden de trabajo.
Etapa | Métricas | Para qué sirve |
|---|---|---|
1. Salud |
| Confirmar salud |
2. Rendimiento |
| Controlar latencia y capacidad |
3. Optimización |
| Depurar cuellos de botella y costes |
Conclusión
Después de revisar tráfico, rendimiento, capacidad y trazas, la idea es bastante simple: no necesitas decenas de paneles para leer Lambda con criterio y saber cuándo mover ficha.
Cada métrica responde a una decisión distinta. Unas te hablan del tráfico, otras de la latencia, la capacidad, los fallos, el arranque, la memoria o la trazabilidad. La lectura buena casi siempre empieza igual: cruza volumen, latencia y errores. No se trata de medir más. Se trata de responder antes.
Mirarlas con cierta regularidad recorta ruido y ayuda a decidir mejor en producción. Así puedes detectar incidencias antes de que lleguen al usuario y al gasto. Cuando las ves en conjunto, Lambda deja de parecer una caja negra.
FAQs
¿Qué métrica debería vigilar primero?
La primera métrica que debes vigilar son las invocaciones. Es el punto de partida para entender qué está pasando en AWS Lambda, porque te muestra el volumen de uso de tu aplicación.
Además, te da el contexto que necesitas para leer mejor otras métricas, como los errores, el throttling o la duración. Sin ese dato, es fácil mirar números sueltos y sacar la conclusión equivocada. Con él, en cambio, puedes gestionar los recursos con más criterio.
¿Cuándo un throttle es grave?
Un throttle es grave cuando golpea de lleno la experiencia del usuario o corta procesos críticos del negocio.
Pasa a ser prioritario cuando el porcentaje de invocaciones rechazadas se mantiene estable o empieza a subir, sobre todo durante picos de tráfico previstos. En muchos casos, eso apunta a que los límites de concurrencia de AWS Lambda se han quedado cortos para la carga actual.
¿Cómo sé si necesito más memoria?
Monitoriza el uso de memoria de tu función AWS Lambda y compáralo con el límite que has configurado. Si el consumo se acerca de forma constante al máximo asignado, suele ser una señal clara: algo va justo. Y cuando una función va justa de memoria, no solo puede rendir peor; también puede acabar fallando por falta de recursos.
También merece la pena revisar los logs de ejecución. Una memoria insuficiente puede hacer que el procesamiento se vuelva más lento y que la duración de las invocaciones suba. A veces el problema no salta a la vista hasta que miras esos tiempos y ves que, poco a poco, se disparan.