Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Red Hat Satellite es una solución para la gestión de sistemas que facilita el despliegue, escalado y gestión de la infraestructura de Red Hat en entornos físicos, virtuales y en la nube. Satellite permite a los usuarios configurar y actualizar sistemas para garantizar su funcionamiento seguro y eficiente conforme a diversas normas. Al automatizar la mayoría de las tareas relacionadas con el mantenimiento de la operatividad del sistema, Satellite ayuda a las organizaciones a aumentar la eficiencia, reducir los costos operativos y responder con mayor agilidad a las demandas estratégicas del negocio.

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Aunque puede realizar tareas administrativas básicas mediante los servicios de Red Hat incluidos en la suscripción de Red Hat Enterprise Linux, Red Hat Satellite añade amplias capacidades de gestión a lo largo de todo el ciclo de vida.

Entre estas capacidades se incluyen:

  • Instalación de parches;
  • Gestión de suscripciones;
  • Inicialización;
  • Gestión de configuración.

Desde una sola consola, puede gestionar miles de sistemas tan fácilmente como uno solo, lo que aumenta la disponibilidad, la fiabilidad y proporciona capacidades de auditoría del sistema.

¡Y ahora tenemos un nuevo Red Hat Satellite 6.5!

Una de las características interesantes que ha llegado con Red Hat Satellite 6.5 es un nuevo motor de informes.

Satellite Server a menudo actúa como el centro donde converge toda la información sobre los sistemas Red Hat de la empresa, y este nuevo motor permite crear y exportar informes que contienen información sobre los hosts de Satellite, las suscripciones de software, así como los defectos de software aplicables (applicable errata), entre otros. Los informes se programan en el lenguaje Ruby incorporado (ERB).

Satellite 6.5 incluye informes preconfigurados, y el motor brinda a los usuarios la posibilidad de personalizar estos informes o crear los suyos propios. Los informes incorporados de Satellite 6.5 se generan en formato CSV, sin embargo, en este post mostraremos cómo se pueden crear informes también en formato HTML.

Informes incorporados de Satellite 6.5

Satellite 6.5 incluye cuatro informes incorporados:

  • Erratas aplicables – lista de defectos de software (errata) que deben ser corregidos en los hosts de contenido (opcionalmente filtrado por hosts o defectos);
  • Estados de los hosts – informe sobre el estado de los hosts de Satellite (opcionalmente filtrado por hosts);
  • Hosts registrados – información sobre los hosts de Satellite: dirección IP, versión del sistema operativo, suscripciones de software (opcionalmente filtrado por hosts);
  • Suscripciones – información sobre suscripciones de software: número total de suscripciones, cantidad disponible, códigos SKU (opcionalmente filtrados por parámetros de suscripción).

Para generar un informe, abra el menú Monitor, elija Plantillas de Informe y haga clic en el botón Generar a la derecha del informe deseado. Deje el campo de filtrado vacío para incluir todos los datos en el informe, o ingrese algo para limitar los resultados. Por ejemplo, si en el informe de Hosts Registrados solo deben aparecer hosts RHEL 8, especifique el filtro os = RedHat and os_major = 8, como se muestra en la captura de pantalla a continuación:

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Después de generar el informe, puede descargarlo y abrirlo en una hoja de cálculo como LibreOffice Calc, que importa datos de CSV y los distribuye en columnas, como el informe Erratas aplicables en la captura de pantalla a continuación:

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Tenga en cuenta que en las propiedades de los informes integrados está habilitada la opción funciona hasta que se finalice manualmente. Por lo tanto, puede ser útil la opción (Predeterminado), por lo que se agregan automáticamente a todas las nuevas organizaciones y ubicaciones que cree en Satellite.

Personalización de informes integrados

Vamos a ver la personalización usando el informe integrado Suscripciones. Por defecto, este informe refleja el número total de suscripciones (1), así como la cantidad disponible, es decir, suscripciones libres (2). Agregaremos una columna adicional con la cantidad de suscripciones utilizadas, que se define como (1) - (2). Por ejemplo, si tenemos un total de 50 suscripciones RHEL y 10 de ellas están libres, entonces se utilizan 40 suscripciones.

Dado que la edición de informes integrados está bloqueada y no se recomienda modificar los mismos, es necesario clonar el informe integrado, darle un nuevo nombre y luego modificar esta copia clónica.

Entonces, si queremos modificar el informe Suscripciones, primero debemos clonarlo. Abrimos el menú Monitor, seleccionamos Plantillas de Informe y en el menú desplegable a la derecha de la plantilla Suscripciones elegimos Clonar. Luego ingresamos el nombre del informe clonado (llamémoslo Suscripciones Personalizadas) y entre las líneas Disponible y Cantidad agregamos la línea ‘Usadas’: pool.quantity — pool.available, – preste atención a la coma al final de la línea. Así es como se ve en la captura de pantalla:

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Luego hacemos clic en el botón Enviar, que nos regresa a la página Plantillas de Informe. Allí hacemos clic en el botón Generar a la derecha del informe recién creado Suscripciones Personalizadas. Dejamos el campo de filtro de suscripciones vacío y hacemos clic en Enviar. Después de esto, se crea y se carga un informe, en el cual se incluye la columna que añadimos Usado.

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

La referencia sobre el lenguaje Ruby integrado se encuentra en la pestaña Ayuda en la ventana de edición del informe. Contiene un resumen de la sintaxis, así como de las variables y métodos disponibles.

Creación de un informe personalizado

Ahora veamos la creación de informes personalizados utilizando como ejemplo el informe de roles de Ansible asignados a los hosts en Satellite. Abrimos el menú Monitor, hacemos clic en Plantillas de Informe y luego presionamos el botón Crear plantilla. Nombramos nuestro informe Informe de Roles de Ansible y insertamos el siguiente código ERB:


Este código genera un informe sobre los hosts, mostrando para ellos el atributo «all_ansible_roles».

Luego pasamos a la pestaña Entradas y hacemos clic en el botón + Agregar entrada. Decimos que name es igual a hosts, y el tipo de descripción es Filtrar por hosts (opcional). Luego hacemos clic en Enviar y luego presionamos el botón Generar a la derecha del informe que acabamos de crear. Luego se puede establecer un filtro de hosts o directamente hacer clic en Enviar, para generar un informe sobre todos los hosts. El informe generado se verá en LibreOffice Calc aproximadamente así:

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Creación de informes en HTML

El motor de informes de Satellite permite generar informes no solo en formato CSV. Como ejemplo, crearemos un informe personalizado basado en el informe integrado de Estado de Hosts Statuses, pero únicamente en forma de tabla HTML con codificación de colores en las celdas basada en el estado. Para ello, clonamos Estados del host, y luego reemplazamos su código ERB por el siguiente:

<!DOCTYPE html>
<html>
<head>
   <title>Estados del host</title>
   <style>
       th {
           background-color: black;
           color: white;
       }
       td.green {
           background-color:#92d400;
           color:black;
       }
       td.yellow {
           background-color:#f0ab00;
           color:black;
       }
       td.red {
           background-color:#CC0000;
           color:black;
       }
       table,th,td {
               border-collapse:collapse;
               border: 1px solid black;
       }
   </style> 
</head>
<body>
<table>
<tr> 
       <th> Nombre del host </th>
       <th> Estado </th> 
<% load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
   <% all_host_statuses_hash(host).each do |key, value|  -%>
       <th> <%= key %> </th>
   <% end -%>
   <% break -%>
<% end -%>
</tr>

<%- load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
   <tr> 
   <td> <%= host.name   %> </td> 
   <% if host.global_status == 0 -%>
       <td class="green"> OK </td>
   <% elsif host.global_status == 1 -%>
       <td class="yellow"> Advertencia </td>
   <% else -%>
       <td class="red"> Error (<%= host.global_status %>) </td>
   <% end -%>

   <% all_host_statuses_hash(host).each do |key, value|  -%>
       <% if value == 0 -%>
           <td class="green"> OK </td>
       <% elsif value == 1  -%>
           <td class="yellow"> Advertencia </td>
       <% else -%>
           <td class="red"> Error (<%= value %>) </td>
       <% end -%>
   <% end -%>
   </tr>
<% end -%>

</table>
</body>
</html>

Este informe genera HTML, que se verá en el navegador aproximadamente así:

Motor de informes en Satellite 6.5: ¿Qué es y para qué sirve?

Ejecución de informes desde la línea de comandos

Para ejecutar un informe desde la línea de comandos, se utiliza el comando hammer, y la utilidad cron permite automatizar este proceso.

Use el comando hammer report-template generate —name «», por ejemplo:

# hammer report-template generate —name "Host statuses HTML"

El contenido del informe se reflejará en la consola. La información se puede redirigir a un archivo, y luego se configura cron para que ejecute un script shell para generar el informe y enviarlo por correo electrónico. El formato HTML se visualiza perfectamente en los clientes de correo, lo que permite organizar la entrega regular de informes a las partes interesadas en un formato fácil de leer.

Así, el motor de informes en Satellite 6.5 es una herramienta poderosa para exportar datos importantes que las empresas tienen en Satellite. Es muy flexible y permite utilizar tanto informes incorporados como sus versiones personalizadas. Además, los usuarios pueden crear sus propios informes desde cero. Los detalles sobre el Motor de Informes de Satellite están disponibles en nuestro video en YouTube.

El 9 de julio a las 11:00 hora de Moscú, no te pierdas el seminario web sobre la nueva versión de Red Hat Enterprise Linux 8.

Nuestro ponente es Aram Kanánov, gerente del departamento de desarrollo de plataformas y sistemas de gestión de Red Hat en Europa, Oriente Medio y África. El trabajo de Aram en Red Hat incluye un análisis integral del mercado, la industria y la competencia, así como el posicionamiento y la comercialización de productos para la unidad de negocio de plataformas, lo que abarca la gestión de todo el ciclo de vida del producto desde su implementación hasta su eliminación.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster