Kubernetes es un sistema de orquestación de contenedores muy dinámico, y su monitoreo efectivo es esencial para mantener el rendimiento, la fiabilidad y la seguridad. La observabilidad en Kubernetes garantiza una alta disponibilidad y un rendimiento óptimo del sistema. Dado que los entornos Kubernetes son dinámicos y distribuidos, el monitoreo efectivo de las implementaciones, los pods y las métricas del sistema requiere un enfoque de observabilidad integral. Implica el control de métricas, logs y trazas en tiempo real para comprender cómo se comportan las aplicaciones y los componentes de la infraestructura. Obtenga más información sobre qué es el monitoreo de Kubernetes aquí.
Esta guía cubre cómo realizar el monitoreo de Kubernetes tanto para métricas como para implementaciones en profundidad, utilizando tanto herramientas nativas (kubectl, Metrics Server) como soluciones de terceros (Prometheus, Grafana, ManageEngine Applications Manager).
Los entornos Kubernetes son intrínsecamente efímeros y complejos. Las cargas de trabajo se crean, escalan y destruyen constantemente. Este dinamismo, unido a la naturaleza distribuida de las arquitecturas de microservicios, requiere una estrategia de observabilidad robusta. Sin él, corre el riesgo de:
Para mitigar estos riesgos y garantizar el buen funcionamiento de sus implementaciones de Kubernetes, debe adoptar los tres pilares de la observabilidad:
Combinando estos elementos, los equipos de DevOps pueden detectar anomalías, solucionar problemas y optimizar el rendimiento.
Las métricas proporcionan una visión cuantitativa en tiempo real de su entorno Kubernetes. Kubernetes proporciona múltiples herramientas integradas y externas para recopilar métricas. He aquí un par de formas de obtener las métricas de Kubernetes:
El servidor de métricas es un agregador ligero, dentro del cluster, de datos de uso de recursos. Es ideal para:
Utilice el siguiente script bash:
Kubernetes expone datos clave sobre la utilización de recursos a través del servidor de métricas. A continuación, se indican algunos de los comandos para obtener la utilización de recursos del servidor de métricas:
kubectl top nodes: Uso de CPU/memoria del nodo.kubectl top pods --all-namespaces: Uso de CPU/memoria del pod.kubectl describe pod <pod-name>: Información detallada del pod (solicitudes/límites de recursos).kubectl get pods --all-namespaces: Lista de estado de los pods.El servidor de métricas no almacena datos históricos, lo que limita su uso para el análisis de tendencias a largo plazo.
Prometheus es el estándar de facto para el monitoreo de métricas de Kubernetes, ya que ofrece:
Implemente Prometheus utilizando Helm:
Verifique la instalación:
kubectl get pods -n monitoring
Acceda al dashboard de Prometheus:
kubectl port-forward svc/prometheus-server 9090:80 -n monitoring
| Consultas | Descripción |
|---|---|
up{job="kubernetes-nodes"} | Comprueba la disponibilidad de los nodos. |
sum(rate(node_cpu_seconds_total{mode="user"}[5m])) by (node) | Calcula el uso de CPU por nodo. |
sum(kube_pod_container_status_restarts_total) by (pod, namespace) | Controla los recuentos de reinicio de pod. |
histogram_quantile(0.95, rate(http_server_requests_seconds[5m])) | Mide la latencia de solicitud del percentil 95. |
Para una experiencia optimizada de monitoreo de Kubernetes, ManageEngine Applications Manager ofrece dashboards preconfigurados y detección de anomalías impulsada por IA, evitando la complejidad de las configuraciones manuales de Prometheus.
Existen dos métodos para observar las implementaciones de Kubernetes. Estos son:

Puede observar las implementaciones de Kubernetes en tiempo real utilizando::
| Comando | Descripción |
|---|---|
kubectl get deployments --all-namespaces | Lista todas las implementaciones. |
kubectl describe deployment <deployment-name> | Describe una implementación específica. |
kubectl rollout status deployment <deployment-name> | Monitorea las actualizaciones continuas. |
kubectl logs -f <pod-name> | Para ver los logs detallados de los pods. |
Al combinar las funciones de visualización de Grafana con la recopilación de métricas de Prometheus, obtendrá una potente información de las implementaciones de Kubernetes. Estos son los pasos para obtener informes visuales de las implementaciones de Kubernetes en Grafana:
Instalar Grafana a través de Helm:
Acceder al dashboard:
Como alternativa,,
ManageEngine Applications Manager se integra directamente con Kubernetes para visualizar las implementaciones y monitorear las anomalías en tiempo real. Mejora el monitoreo de Kubernetes al integrarse de manera eficiente con Prometheus, lo que le permite ingerir las métricas existentes de Prometheus y centralizarlas junto con otros datos de la infraestructura de TI. Esto proporciona dashboards preconstruidos, detección de anomalías impulsada por IA para reducir la fatiga por alertas y funciones de correlación para una resolución de problemas más rápida, al tiempo que ofrece autodescubrimiento de nuevos recursos Kubernetes y mantiene la neutralidad del proveedor, simplificando la observabilidad de Kubernetes sin requerir complejas configuraciones independientes de Prometheus.
Los logs son indispensables para depurar, solucionar problemas y obtener una comprensión más profunda del funcionamiento interno de su aplicación. La observabilidad efectiva de los logs es crucial para identificar los fallos de implementación, localizar los cuellos de botella en el rendimiento y mantener la salud general de su entorno Kubernetes. He aquí 2 métodos para observar los logs:
La herramienta de línea de comandos de Kubernetes, kubectl, proporciona acceso directo a los logs de pods, ofreciendo una forma rápida y eficiente de inspeccionar el comportamiento de las aplicaciones en tiempo real.
| Dominio | Propósito | Caso de uso |
|---|---|---|
kubectl logs <pod-name> | Recupera los logs del contenedor primario dentro del pod especificado. Este comando es ideal para inspeccionar rápidamente la salida de un único proceso de aplicación. | Para diagnosticar rápidamente problemas dentro de un pod de un solo contenedor, comprobar los mensajes de inicialización de la aplicación o monitorear la salida de un proceso específico. |
kubectl logs <pod-name> --all-containers | Agrega y muestra los logs de todos los contenedores del pod especificado. Esto es particularmente útil para depurar pods complejos con múltiples contenedores sidecar o microservicios que interactúan estrechamente. | Para solucionar problemas de interacción entre varios contenedores, examine los logs de los contenedores secundarios (por ejemplo, agentes de registro, mallas de servicios) o analice el comportamiento de las aplicaciones multicomponente. |
Para implementar Kubernetes a gran escala, es esencial contar con una solución centralizada de agregación de logs. La pila EFK (Fluentd, Elasticsearch, Kibana) proporciona una plataforma robusta y escalable para la gestión y el análisis de logs.
En las arquitecturas de microservicios, en las que las solicitudes atraviesan múltiples servicios, el seguimiento distribuido es indispensable para comprender el flujo de solicitudes y localizar los cuellos de botella en el rendimiento.
Jaeger es una solución líder de seguimiento de código abierto, que le permite visualizar las rutas de las solicitudes e identificar problemas de latencia en sus microservicios.
Pasos para la implementación:
Instalar Jaeger a través de Helm:
Acceder a la UI de Jaeger
ManageEngine Applications Manager agiliza el seguimiento. Evite la sobrecarga de instalar y configurar Jaeger, y la complejidad de la instrumentación del SDK. Applications Manager ofrece un seguimiento distribuido integrado que simplifica la observabilidad de los microservicios.
En conclusión, la observabilidad efectiva de Kubernetes no es una configuración de una sola vez; es un proceso continuo de monitoreo, análisis y optimización. Si adopta los tres pilares de la observabilidad y aprovecha las herramientas adecuadas, podrá garantizar la salud, el rendimiento y la seguridad de sus implementaciones de Kubernetes.
Seamos realistas, es engorroso configurar manualmente la observabilidad mediante la implementación de las directrices mencionadas. Para las empresas que buscan una solución de monitoreo de Kubernetes ágil y sin complicaciones que les brinde información proactiva y eficiencia operativa, ManageEngine Applications Manager emerge como una plataforma poderosa e intuitiva. Está diseñado para aliviar la carga de las complejas configuraciones de monitoreo de Kubernetes, ofreciendo un sólido conjunto de funciones que proporcionan valor inmediato y beneficios a largo plazo. Sus principales funciones incluyen:
Con la estrategia de observabilidad adecuada, las organizaciones pueden detectar problemas de forma proactiva, optimizar la utilización de los recursos y mantener la resiliencia de su infraestructura Kubernetes.
Gracias a su interfaz intuitiva, sus sólidas funciones de alerta y sus flexibles opciones de implementación, Applications Manager permite a las organizaciones reducir el tiempo de inactividad, mejorar la eficiencia operativa y ofrecer experiencias de usuario superiores. Tanto si gestiona entornos on-premises, en la nube o híbridos, Applications Manager simplifica la complejidad del monitoreo de TI.
Eleve su juego de monitoreo de Kubernetes con Applications Manager. Descargue ahora y experimente la diferencia, o programe una demostración personalizada para una visita guiada.
Nos permite realizar un seguimiento de métricas cruciales como los tiempos de respuesta, la utilización de recursos, las tasas de error y el rendimiento de las transacciones. Las alertas de monitoreo en tiempo real nos notifican rápidamente sobre cualquier problema o anomalía, lo que nos permite tomar medidas inmediatas.
Industria: Investigación y desarrollo