Motore di reporting in Satellite 6.5: cos'è e perché

Red Hat Satellite è una soluzione di gestione del sistema che semplifica l'implementazione, la scalabilità e la gestione dell'infrastruttura Red Hat in ambienti fisici, virtuali e cloud. Satellite consente agli utenti di personalizzare e aggiornare i sistemi per garantire che funzionino in modo efficiente e sicuro secondo una varietà di standard. Automatizzando la maggior parte delle attività associate al mantenimento dell'integrità del sistema, Satellite aiuta le organizzazioni ad aumentare l'efficienza, ridurre i costi operativi e rispondere meglio alle esigenze aziendali strategiche.

Motore di reporting in Satellite 6.5: cos'è e perché

Sebbene sia possibile eseguire attività amministrative di base utilizzando i servizi Red Hat inclusi con l'abbonamento a Red Hat Enterprise Linux, Red Hat Satellite aggiunge funzionalità estese di gestione del ciclo di vita.

Tra queste possibilità:

  • Installazione di patch;
  • Gestione degli abbonamenti;
  • Inizializzazione;
  • Gestione della configurazione.

Da un'unica console è possibile gestire migliaia di sistemi con la stessa facilità di uno solo, aumentando la disponibilità, l'affidabilità e le capacità di controllo del sistema.

E ora abbiamo il nuovo Red Hat Satellite 6.5!

Una delle novità più interessanti offerte da Red Hat Satellite 6.5 è il nuovo motore di reporting.

Satellite Server è spesso l'hub per tutte le informazioni sui sistemi aziendali Red Hat e questo ultimo motore consente di creare ed esportare report contenenti informazioni sugli host Satellite client, abbonamenti software, errata applicabili e così via. I report sono programmati in Embedded Ruby (ERB).

Satellite 6.5 viene fornito con report già pronti e il motore offre agli utenti la possibilità di personalizzare questi report o crearne di propri. I report integrati di Satellite 6.5 vengono generati in formato CSV, ma in questo post mostreremo come generare report anche in formato HTML.

Rapporti integrati di Satellite 6.5

Satellite 6.5 include quattro report integrati:

  • Errata applicabile – un elenco di difetti software (errata) che devono essere eliminati sugli host di contenuti (facoltativamente filtrati per host o difetti);
  • Stati dell'ospite – report sullo stato degli host Satellite (facoltativamente filtrato per host);
  • Host registrati – informazioni sugli host Satellite: indirizzo IP, versione del sistema operativo, abbonamenti software (facoltativamente filtrati per host);
  • Abbonamenti – informazioni sugli abbonamenti al software: numero totale di abbonamenti, numero di quelli gratuiti, codici SKU (facoltativamente filtrati per parametri di abbonamento).

Per generare un report, aprire il menu Monitorare, Selezionare Modelli di rapporto e fare clic sul pulsante Genera a destra del report desiderato. Lascia vuoto il campo del filtro per includere tutti i dati nel report oppure inserisci qualcosa per limitare i risultati. Ad esempio, se desideri che il report Host registrati mostri solo gli host RHEL 8, specifica un filtro os = RedHat e os_major = 8, come mostrato nello screenshot qui sotto:

Motore di reporting in Satellite 6.5: cos'è e perché

Una volta generato il report, puoi scaricarlo e aprirlo in un foglio di calcolo come LibreOffice Calc, che importerà i dati da CSV e li organizzerà in colonne, ad esempio, come report Errata applicabile nella schermata qui sotto:

Motore di reporting in Satellite 6.5: cos'è e perché

Tieni presente che nelle proprietà dei report integrati l'opzione è abilitata Per impostazione predefinita (Predefinito), quindi vengono aggiunti automaticamente a tutte le nuove organizzazioni e posizioni create in Satellite.

Personalizzazione dei report integrati

Diamo un'occhiata alla personalizzazione utilizzando l'esempio di un report integrato Abbonamenti. Per impostazione predefinita, questo report mostra il numero totale di abbonamenti (1), nonché il numero di abbonamenti disponibili, ovvero gratuiti (2). Aggiungeremo un'altra colonna con il numero di abbonamenti utilizzati, che è definito come (1) – (2). Ad esempio, se disponiamo di un totale di 50 abbonamenti RHEL e 10 di essi sono gratuiti, verranno utilizzati 40 abbonamenti.

Poiché la modifica dei report integrati è bloccata e non è consigliabile modificarli, sarà necessario clonare il report integrato, assegnargli un nuovo nome e quindi modificare questa copia clone.

Quindi, se vogliamo modificare il rapporto Abbonamenti, allora deve prima essere clonato. Quindi apriamo il menu Monitorare, scegli Modelli di rapporto e nel menu a discesa a destra del modello Abbonamenti scegliere clone. Quindi inserisci il nome del report clone (chiamiamolo Abbonamenti personalizzati) e tra le righe Disponibile и Quantità aggiungi la linea ad esso 'Usato': pool.quantità - pool.disponibile, – prestare attenzione alla virgola alla fine della riga. Questo è quello che appare nello screenshot:

Motore di reporting in Satellite 6.5: cos'è e perché

Quindi premiamo il pulsante Invioil che ci riporta alla pagina Modelli di rapporto. Lì facciamo clic sul pulsante Generare a destra del report appena creato Abbonamenti personalizzati. Lascia vuoto il campo del filtro Abbonamenti e fai clic su Invio. Successivamente viene creato e caricato un report che contiene la colonna che abbiamo aggiunto Usato.

Motore di reporting in Satellite 6.5: cos'è e perché

La guida per il linguaggio Ruby integrato si trova nella scheda Aiuto nella finestra di modifica del report. Fornisce una panoramica della sintassi, delle variabili e dei metodi disponibili.

Crea il tuo rapporto

Consideriamo ora la creazione dei nostri report utilizzando l'esempio di un report sui ruoli Ansible assegnati agli host in Satellite. Apri il menù Monitorare, fare clic Modelli di rapporto e poi premere il pulsante Crea modello. Chiamiamo il nostro rapporto Rapporto sui ruoli Ansible e inserisci al suo interno il seguente codice ERB:

<%#
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 -%>

Questo codice genera un report sugli host, visualizzandone l'attributo "all_ansible_roles".

Quindi vai alla scheda ingressi e fare clic sul pulsante + Aggiungi ingresso. Diciamo che nome è uguale a padroni di casae tipo di descrizione – Filtra per host (facoltativo). Quindi fare clic Invio e poi premere il pulsante Generare a destra del report appena creato. Successivamente, puoi impostare un filtro host o fare clic immediatamente Invioper generare un report su tutti gli host. Il report generato sarà simile a questo in LibreOffice Calc:

Motore di reporting in Satellite 6.5: cos'è e perché

Generazione di report HTML

Il motore di reporting Satellite ti consente di generare report non solo in formato CSV. Ad esempio, creeremo un rapporto personalizzato basato sul rapporto Host integrato Gli stati, ma solo come tabella HTML con celle codificate a colori in base allo stato. Per fare questo cloniamo Stati dell'host, quindi sostituire il codice ERB con il seguente:

<!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>

Questo report genera codice HTML che nel browser avrà un aspetto simile al seguente:

Motore di reporting in Satellite 6.5: cos'è e perché

Esecuzione di report dalla riga di comando

Per eseguire un report dalla riga di comando, utilizzare il comando martelloe l'utilità cron ti consente di automatizzare questo processo.

Utilizza il comando hammer report-template generate --name "", ad esempio:

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

Il contenuto del report si rifletterà sulla console. Le informazioni possono essere reindirizzate a un file e quindi configurare cron per eseguire uno script di shell per generare un report e inviarlo tramite e-mail. Il formato HTML è perfettamente visualizzato nei client di posta elettronica, consentendo di organizzare la consegna regolare dei report alle parti interessate in un formato di facile lettura.

Pertanto, il motore di reporting di Satellite 6.5 è un potente strumento per esportare i dati importanti che le aziende hanno in Satellite. È molto flessibile e consente di utilizzare sia i report integrati che le loro versioni modificate. Inoltre, gli utenti possono creare i propri report da zero. Scopri di più sul Satellite Reporting Engine nel nostro video di YouTube.

Il 9 luglio alle 11:00 ora di Mosca, non perdetevi il webinar sulla nuova versione di Red Hat Enterprise Linux 8

Il nostro relatore è Aram Kananov, responsabile del dipartimento di sviluppo di piattaforme e sistemi di gestione di Red Hat in Europa, Medio Oriente e Africa. Il lavoro di Aram in Red Hat include analisi complete di mercato, settore e concorrenza, nonché posizionamento e marketing dei prodotti per la business unit Piattaforme, che include la gestione dell'intero ciclo di vita del prodotto dall'introduzione alla fine del ciclo di vita.

Fonte: habr.com

Aggiungi un commento