En este artículo, conocerás la herramienta Performance Co-Pilot (PCP) y la manera en que la aprovechamos para implementar la supervisión de sistemas y aplicaciones para Red Hat Ansible Automation Platform.
¿Qué es Performance Co-Pilot?
PCP es un marco open source de análisis y supervisión del rendimiento desarrollado por Red Hat. Proporciona un conjunto de herramientas, bibliotecas y servicios para controlar, recuperar y analizar los indicadores de rendimiento de diferentes sistemas, servicios y aplicaciones. Está diseñado para ofrecer capacidad de ajuste, por lo que supervisa todo, desde un solo servidor hasta una gran red distribuida de máquinas en tiempo real.
Funciones principales de PCP:
- Capacidad de ajuste: se puede utilizar para controlar tanto los sistemas individuales como los entornos distribuidos.
- Recopilación de datos de varias fuentes: recopila datos de varias fuentes, como el sistema operativo, las bases de datos, las interfaces de red y las aplicaciones personalizadas.
- Capacidad de ampliación: se pueden agregar nuevos indicadores desarrollando extensiones o agentes personalizados.
- Almacenamiento y recuperación: puede almacenar datos de rendimiento para el análisis histórico y admite la recuperación de datos en tiempo real.
- Supervisión en tiempo real: proporciona indicadores en tiempo real, lo que permite el análisis de rendimiento en directo.
- Interfaces gráficas y de línea de comandos: incluye herramientas gráficas (p. ej.,
pmchart
) y de línea de comandos (p. ej.,pminfo, pmval y pmlogsummary
) para controlar y analizar los datos de rendimiento.
Elementos típicos:
- Performance Metrics Collector Daemon (PMCD): es el daemon central que recopila indicadores de los agentes.
- Performance Metrics Name Space (PMNS): es un espacio de nombres jerárquico que organiza los indicadores de rendimiento.
- Performance Metrics Inference Engine (PMIE): es una herramienta para generar alertas o acciones según los umbrales de los indicadores en tiempo real.
- PMLogger: se utiliza para registrar los indicadores de rendimiento y analizarlos más adelante.
- PMProxy: actúa como un protocolo proxy, lo que permite que PCP supervise a los clientes para que se conecten a una o más instancias de PMCD a través de PMProxy.
Casos prácticos:
- Análisis del rendimiento del sistema: PCP puede controlar la CPU, la memoria, la E/S del disco, el uso de la red y otros indicadores del sistema.
- Supervisión de aplicaciones: controla aplicaciones o servicios específicos para comprender el consumo de recursos y las tendencias de rendimiento.
- Análisis de los datos históricos: puede almacenar datos de rendimiento a lo largo del tiempo para el análisis de tendencias históricas o el análisis forense después de que surjan fallas en el sistema.
Motivos para supervisar Ansible Automation Platform con PCP
El control de Ansible Automation Platform con PCP es importante por varias razones:
- Información sobre el rendimiento: PCP proporciona indicadores e información detallados sobre el rendimiento de Ansible Automation Platform. Esto ayuda a identificar los bloqueos y a optimizar el uso de los recursos.
- Detección anticipada de problemas: al supervisar los indicadores de rendimiento permanentemente, puedes detectar posibles problemas antes de que se agraven, lo que permite una solución anticipada.
- Gestión de recursos: comprender el uso de los recursos (CPU, memoria y E/S del disco) ayuda a planificar la capacidad de manera efectiva y garantiza que tu entorno de automatización funcione sin problemas y sin contención de recursos.
- Capacidad de ajuste: a medida que la automatización necesita crecer, la supervisión ayuda a evaluar el momento y la manera de ajustar la infraestructura de Ansible Automation Platform, lo que asegura que se gestione el aumento de las cargas de trabajo sin disminuir el rendimiento.
- Cumplimiento normativo y auditoría: las herramientas de control permiten mantener el cumplimiento de las normas internas y externas, ya que proporcionan un registro de auditoría claro de las actividades de automatización y el uso de los recursos.
- Integración con otras herramientas: PCP puede integrarse con otros sistemas de supervisión y alerta, lo que te brinda una visión integral de tu infraestructura y permite una mejor respuesta ante incidentes.
- Experiencia del usuario: si se garantiza que las tareas de automatización se ejecuten de manera eficiente, se mejorará la experiencia general del usuario para los equipos que dependen de Ansible Automation Platform para implementar y gestionar la configuración.
- Análisis de datos históricos: PCP conserva los datos de rendimiento históricos, lo cual permite analizar las tendencias a lo largo del tiempo. Esto es esencial para tomar decisiones fundamentadas sobre futuros cambios u optimizaciones de la infraestructura.
En resumen, el uso de PCP para controlar Ansible Automation Platform mejora el rendimiento, la confiabilidad y la eficiencia, de modo que las iniciativas de automatización contribuyan positivamente a los objetivos de la empresa.
La supervisión en Ansible Automation Platform con PCP
Actualmente, la configuración del control en Ansible Automation Platform es compatible con las instalaciones tradicionales y en contenedores en máquinas virtuales. Para habilitarlo, debes asignar el operador booleano setup_monitoring
a True
en el archivo de inventario de configuración que está en la sección [all:vars
]. Por ejemplo:
[all:vars] setup_monitoring = True
Cuando ejecutes el instalador, se pondrá en marcha la función de supervisión para configurar el PCP en el clúster de Ansible Automation Platform. Esta función instala y activa los servicios necesarios, como pcp, pmcd
y pmproxy
. En la implementación tradicional basada en RPM, PCP se instala a través de DNF y se ejecuta mediante systemd. En la instalación en contenedores, se ejecuta en un contenedor junto con todos los demás elementos de Ansible Automation Platform. Además, el instalador configura Performance Metric Domain Agents (PMDA), que son plugins que se ejecutan como daemons para pmcd
, con los que se controlan los elementos clave como nginx, redis, postgres
yopenmetrics
en los hosts de Ansible Automation Platform.
Asimismo, en la instalación tradicional, el instalador designa el nodo de puerta de enlace como la central para recopilar indicadores de PCP de todos los nodos en el clúster de Ansible Automation Platform y archivarlos de manera efectiva.
PCP usa el puerto 44322 para exponer los indicadores. Asegúrate de que este puerto esté abierto en tus grupos de seguridad, si corresponde. Si no es así, los indicadores seguirán estando disponibles de manera local en el host para que se analicen con las herramientas de la línea de comandos de PCP, pero no para que las herramientas externas los agreguen.
Una vez que se completa la configuración, puedes iniciar sesión a través de ssh en cualquiera de los nodos de puerta de enlace y ejecutar el siguiente comando para verificar todos los indicadores que recopila PCP.
Recuperación de los indicadores archivados
Puedes usar las herramientas de la interfaz de línea de comandos (CLI) de PCP para recuperar los indicadores de un archivo de almacenamiento. En la instalación tradicional, los archivos se pueden ubicar en /var/log/pcp/pmlogger/
Por ejemplo:
/var/log/pcp/pmlogger/controller.example.com/20241004.00.10
En la instalación en contenedores, los archivos pueden encontrarse en /home/ansible/aap/pcp_archives
Por ejemplo:
/home/ansible/aap/pcp_archives/controller.example.com/20241004.00.10
Ejemplos
Para enumerar todos los indicadores que se habilitaron cuando se creó el archivo, usa este comando:
# pminfo --archive <ARCHIVE_FILE_LOCATION>
Para ver el host y el período que cubre un archivo, ingresa el siguiente comando:
# pmdumplog -l <ARCHIVE_FILE_LOCATION>
Para detallar las escrituras de disco para cada partición a lo largo del período registrado en el archivo de almacenamiento, utiliza:
# pmval --archive <ARCHIVE_FILE_LOCATION> \ -f 1 disk.partitions.write
Para indicar las operaciones de escritura de disco por partición, con un intervalo de 2 segundos, durante el período entre las 14:00 y las 14:15, ingresa:
# pmval --archive <ARCHIVE_FILE_LOCATION> \ -d -t 2sec \ -f 3 disk.partitions.write \ -S @14:00 -T @14:15
Para describir los valores promedio de todos los indicadores de rendimiento, que incluyen el tiempo y el valor del mínimo y máximo, durante el período entre las 14:00 y las 14:30, y formatear los valores como una tabla, escribe este comando:
# pmlogsummary <ARCHIVE_FILE_LOCATION> \ -HlfiImM \ -S @14:00 \ -T @14:30 \ disk.partitions.write \ mem.freemem
Para mostrar los indicadores del sistema almacenados en un archivo, a partir de las 14:00, de manera interactiva similar a la herramienta
top
introduce este comando:# pcp --archive <ARCHIVE_FILE_LOCATION> \ -S @14:00 \ atop
Conclusiones
La supervisión de Ansible Automation Platform es esencial para la confiabilidad, el rendimiento y la seguridad de los servicios a los que les brinda soporte. Detecta y aborda los problemas como los tiempos de respuesta lentos, los errores del servidor y los puntos vulnerables de seguridad en tiempo real, lo que minimiza el tiempo de inactividad y las posibles interrupciones para los usuarios. Mediante el seguimiento permanente de los indicadores clave, como el tráfico, el uso y el consumo de recursos y la supervisión, permite que la plataforma funcione con la máxima eficiencia.
Descubre más recursos
- Para obtener información detallada, explora la documentación de Ansible Automation Platform
- Visita la guía de instalación de Ansible Automation Platform para descargar e instalar la última versión.
- Si te interesa acceder a las notas de la versión, consulta las notas de Ansible Automation Platform.
- Para obtener más información, explora nuestros ebooks.
product trial
Red Hat Ansible Automation Platform | Versión de prueba del producto
Sobre el autor
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Virtualización
El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube