Motor de informes en Satellite 6.5: Qué es y por qué

Red Hat Satellite es una solución de gestión de sistemas que facilita la implementación, ampliación y gestión de la infraestructura de Red Hat en entornos físicos, virtuales y de nube. Satellite permite a los usuarios personalizar y actualizar los sistemas para garantizar que funcionen de manera eficiente y segura según una variedad de estándares. Al automatizar la mayoría de las tareas asociadas con el mantenimiento del estado del sistema, Satellite ayuda a las organizaciones a aumentar la eficiencia, reducir los costos operativos y responder mejor a las necesidades comerciales estratégicas.

Motor de informes en Satellite 6.5: Qué es y por qué

Si bien puede realizar tareas administrativas básicas utilizando los servicios de Red Hat incluidos con su suscripción a Red Hat Enterprise Linux, Red Hat Satellite agrega amplias capacidades de administración del ciclo de vida.

Entre estas posibilidades:

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

Desde una consola, puede administrar miles de sistemas tan fácilmente como uno solo, aumentando la disponibilidad, la confiabilidad y las capacidades de auditoría del sistema.

¡Y ahora tenemos el nuevo Red Hat Satellite 6.5!

Una de las cosas interesantes que viene con Red Hat Satellite 6.5 es el nuevo motor de informes.

Satellite Server suele ser el centro de toda la información sobre los sistemas empresariales de Red Hat, y este último motor le permite crear y exportar informes que contienen información sobre los hosts Satellite del cliente, suscripciones de software, erratas aplicables, etc. Los informes se programan en Embedded Ruby (ERB).

Satellite 6.5 viene con informes listos para usar y el motor brinda a los usuarios la posibilidad de personalizar estos informes o crear los suyos propios. Los informes integrados de Satellite 6.5 se generan en formato CSV, pero en esta publicación mostraremos cómo generar informes también en formato HTML.

Informes integrados de Satellite 6.5

Satellite 6.5 incluye cuatro informes integrados:

  • Erratas aplicables – una lista de defectos de software (erratas) que deben eliminarse en los hosts de contenido (opcionalmente filtrados por hosts o defectos);
  • Estados de host – informar sobre el estado de los hosts satelitales (opcionalmente filtrados por host);
  • Anfitriones registrados – información sobre los hosts satelitales: dirección IP, versión del sistema operativo, suscripciones de software (opcionalmente filtradas por host);
  • Suscripciones – información sobre suscripciones de software: número total de suscripciones, número de gratuitas, códigos SKU (opcionalmente filtrados por parámetros de suscripción).

Para generar un informe, abra el menú Monitorearseleccionar Plantillas de informes y haga clic en el botón Generar a la derecha del informe deseado. Deje el campo de filtro en blanco para incluir todos los datos en el informe o ingrese algo allí para limitar los resultados. Por ejemplo, si desea que el informe de hosts registrados muestre solo hosts RHEL 8, especifique un filtro sistema operativo = RedHat y os_major = 8, como se muestra en la siguiente captura de pantalla:

Motor de informes en Satellite 6.5: Qué es y por qué

Una vez generado el informe, puedes descargarlo y abrirlo en una hoja de cálculo como LibreOffice Calc, que importará los datos desde CSV y los organizará en columnas, por ejemplo, como un informe. Erratas aplicables en la siguiente pantalla:

Motor de informes en Satellite 6.5: Qué es y por qué

Tenga en cuenta que en las propiedades de los informes integrados la opción está habilitada Por defecto (Predeterminado), por lo que se agregan automáticamente a todas las organizaciones y ubicaciones nuevas que cree en Satellite.

Personalización de informes integrados

Veamos la personalización usando el ejemplo de un informe integrado. Suscripciones. De forma predeterminada, este informe muestra el número total de suscripciones (1), así como el número de suscripciones disponibles, es decir, gratuitas (2). Le agregaremos otra columna con el número de suscripciones utilizadas, que se define como (1) – (2). Por ejemplo, si tenemos un total de 50 suscripciones de RHEL y 10 de ellas son gratuitas, entonces se utilizan 40 suscripciones.

Dado que la edición de informes integrados está bloqueada y no se recomienda cambiarlos, tendrá que clonar el informe integrado, darle un nuevo nombre y luego modificar esta copia clonada.

Entonces si queremos modificar el informe Suscripciones, primero debe clonarse. Así que abramos el menú. Monitorearelegir Plantillas de informes y en el menú desplegable a la derecha de la plantilla Suscripciones elegir Clon. Luego ingrese el nombre del informe de clonación (llamémoslo Suscripciones personalizadas) y entre líneas Disponible и Cantidad agregale la linea 'Usado': grupo.cantidad - grupo.disponible, – 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 por qué

Luego presionamos el botón Enviarlo que nos lleva de vuelta a la página Plantillas de informes. Allí hacemos clic en el botón Generar a la derecha del informe recién creado Suscripciones personalizadas. Deje el campo Filtro de suscripciones vacío y haga clic Enviar. Después de lo cual se crea y carga un informe, que contiene la columna que agregamos Usado.

Motor de informes en Satellite 6.5: Qué es y por qué

La ayuda para el lenguaje Ruby integrado se encuentra en la pestaña Ayuda en la ventana de edición del informe. Proporciona una descripción general de la sintaxis y las variables y métodos disponibles.

Crea tu propio informe

Ahora veamos cómo crear nuestros propios informes usando el ejemplo de un informe sobre roles de Ansible asignados a hosts en Satellite. abre el menú Monitorear, haga clic Plantillas de informes y luego presione el botón Crear plantilla. Llamemos a nuestro informe Informe de roles de Ansible e inserte el siguiente código ERB en él:

<%#
name: Ansible Roles Report
snippet: false
template_inputs:
- name: hosts
 required: false
 input_type: user
 description: Limit the report only on hosts found by this search query. Keep empty
   for report on all available hosts.
 advanced: false
model: ReportTemplate
-%>
<% load_hosts(search: input('hosts'), includes: :ansible_roles).each_record do |host| -%>
<%   report_row({
       'Name': host.name,
       'All Ansible Roles': host.all_ansible_roles
     }) -%>
<% end -%>
<%= report_render -%>

Este código genera un informe sobre los hosts y muestra el atributo "all_ansible_roles" para ellos.

Luego ve a la pestaña Ingresos y haga clic en el botón + Agregar entrada. Decimos que el nombre es igual a anfitrionesy tipo de descripción – Filtrar por hosts (opcional). Luego haga clic Enviar y luego presione el botón Generar a la derecha del informe recién creado. A continuación, puede configurar un filtro de host o hacer clic inmediatamente Enviarpara generar un informe sobre todos los hosts. El informe generado se verá así en LibreOffice Calc:

Motor de informes en Satellite 6.5: Qué es y por qué

Generando informes HTML

El motor de informes de Satellite le permite generar informes no sólo en formato CSV. Como ejemplo, crearemos un informe personalizado basado en el informe del Host integrado. Estados, pero solo como una tabla HTML con celdas codificadas por colores según el estado. Para ello clonamos Estados del anfitrióny luego reemplace su código ERB con lo siguiente:

<!DOCTYPE html>
<html>
<head>
   <title>Host Statuses</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> Hostname </th>
       <th> Status </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"> Warning </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"> Warning </td>
       <% else -%>
           <td class="red"> Error (<%= value %>) </td>
       <% end -%>
   <% end -%>
   </tr>
<% end -%>

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

Este informe genera HTML que se verá así en un navegador:

Motor de informes en Satellite 6.5: Qué es y por qué

Ejecutar informes desde la línea de comando

Para ejecutar un informe desde la línea de comando, use el comando martillo, y la utilidad cron le permite automatizar este proceso.

Utilice 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 configurar cron para ejecutar un script de shell para generar un informe y enviarlo por correo electrónico. El formato HTML se muestra perfectamente en los clientes de correo electrónico, lo que permite organizar la entrega periódica de informes a las partes interesadas en un formato fácil de leer.

Por lo tanto, el motor de informes de Satellite 6.5 es una poderosa herramienta para exportar los datos importantes que las empresas tienen en Satellite. Es muy flexible y le permite utilizar tanto informes integrados como sus versiones modificadas. Además, los usuarios pueden crear sus propios informes desde cero. Obtenga más información sobre Satellite Reporting Engine en nuestro vídeo de YouTube.

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

Nuestro ponente es Aram Kananov, director 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 análisis integral del mercado, la industria y la competencia, así como posicionamiento y marketing de productos para la unidad de negocios de Plataformas, lo que incluye la gestión de todo el ciclo de vida del producto desde su introducción hasta el final de su vida útil.

Fuente: habr.com

Añadir un comentario