Red Hat Satellite è una soluzione per la gestione dei sistemi che semplifica il deployment, la scalabilità e la gestione dell'infrastruttura Red Hat in ambienti fisici, virtuali e cloud. Satellite consente agli utenti di configurare e aggiornare i sistemi per garantire il loro funzionamento efficace e sicuro secondo diversi standard. Automatizzando la maggior parte dei compiti legati al mantenimento della funzionalità del sistema, Satellite aiuta le organizzazioni a migliorare l'efficienza, ridurre i costi operativi e rispondere con maggiore prontezza alle richieste strategiche del business.

Sebbene sia possibile eseguire compiti amministrativi di base utilizzando i servizi Red Hat inclusi nell'abbonamento a Red Hat Enterprise Linux, Red Hat Satellite offre ampie capacità di gestione dell'intero ciclo di vita.
Tra queste capacità ci sono:
- Installazione di patch;
- Gestione degli abbonamenti;
- Inizializzazione;
- Gestione della configurazione.
Da un'unica console è possibile gestire migliaia di sistemi con la stessa facilità con cui si gestisce uno solo, aumentando la disponibilità, l'affidabilità e fornendo opportunità per l'audit del sistema.
E ora abbiamo il nuovo Red Hat Satellite 6.5!
Una delle novità di Red Hat Satellite 6.5 è il nuovo motore di report.
Satellite Server è spesso il centro dove confluire tutte le informazioni sui sistemi aziendali Red Hat, e questo nuovo motore consente di creare ed esportare report che contengono informazioni sugli host client di Satellite, sugli abbonamenti software, nonché sugli errori software applicabili e così via. I report sono programmati in un linguaggio incorporato Ruby (ERB).
Satellite 6.5 viene fornito con report già pronti, mentre il motore offre agli utenti la possibilità di personalizzare questi report o crearne di propri. I report incorporati in Satellite 6.5 vengono generati in formato CSV, tuttavia in questo post mostreremo come è possibile generare report anche in formato HTML.
Report incorporati di Satellite 6.5
Satellite 6.5 include quattro report incorporati:
- Errori applicabili – un elenco degli errori software (errata) da correggere sugli host di contenuti (opzionalmente filtrato per host o errori);
- Stati degli host – report sullo stato degli host di Satellite (opzionalmente filtrato per host);
- Host registrati – informazioni sugli host Satellite: indirizzo IP, versione del sistema operativo, abbonamenti software (opzionalmente filtrati per host);
- Abbonamenti – informazioni sugli abbonamenti software: numero totale di abbonamenti, numero di abbonamenti disponibili, codici SKU (opzionalmente filtrati per parametri di abbonamento).
Per generare un report, apri il menu Monitora, seleziona Modelli di Report e fai clic sul pulsante Genera a destra del report desiderato. Lascia vuoto il campo di filtro per includere tutti i dati nel report o inserisci qualcosa per limitare i risultati. Ad esempio, se nel report i Registrati deve mostrare solo gli host RHEL 8, specifica il filtro os = RedHat and os_major = 8, come mostrato nello screenshot qui sotto:

Dopo aver generato il report, puoi scaricarlo e aprirlo in un foglio di calcolo come LibreOffice Calc, che importa i dati da CSV e li dispone in colonne, come nel report Errori applicabili nello screenshot qui sotto:

Nota che nelle proprietà dei report incorporati è attivata l'opzione Per impostazione predefinita (Default), quindi vengono aggiunti automaticamente a tutte le nuove organizzazioni e aree (locations) che crei in Satellite.
Personalizzazione dei report incorporati
Analizziamo la personalizzazione utilizzando come esempio il report incorporato Abbonamenti. Di default, questo report riflette il numero totale di abbonamenti (1) e il numero di abbonamenti disponibili, ovvero quelli liberi (2). Aggiungeremo una colonna con il numero di abbonamenti utilizzati, che è definito come (1) – (2). Ad esempio, se abbiamo in totale 50 abbonamenti RHEL e 10 di questi sono liberi, allora utilizziamo 40 abbonamenti.
Poiché la modifica dei report incorporati è bloccata e non è raccomandato modificarli, dobbiamo clonare il report incorporato, dargli un nuovo nome e quindi modificare questa copia clonata.
Quindi, se vogliamo modificare il report Abbonamenti, dobbiamo prima clonarlo. Apertura del menu Monitora, seleziona Modelli di Report e nel menu a discesa a destra del modello Abbonamenti selezioniamo Clona. Poi inseriamo un nome per il report clonabile (chiamiamolo Abbonamenti Personalizzati) e tra le righe Disponibile e Quantità aggiungiamo una riga 'Utilizzati': pool.quantity — pool.available, – nota la virgola alla fine della riga. Ecco come appare nello screenshot:

Dopo di che facciamo clic sul pulsante Invia, che ci riporta alla pagina Modelli di Report. Qui facciamo clic sul pulsante Genera a destra del report appena creato Abbonamenti Personalizzati. Lasciamo vuoto il campo Filtro Abbonamenti e facciamo clic su Invia. Successivamente, verrà creato e caricato un report, che include la colonna che abbiamo aggiunto Utilizzati.

La guida sul linguaggio integrato Ruby si trova nella scheda Aiuto della finestra di modifica del report. Contiene un riepilogo della sintassi, così come delle variabili e dei metodi disponibili.
Creazione di un report personalizzato
Ora vediamo come creare report personalizzati utilizzando come esempio il report sui ruoli Ansible assegnati agli host in Satellite. Apriamo il menu Monitora, clicchiamo Modelli di Report e poi facciamo clic sul pulsante Crea Modello. Chiamiamo il nostro report Report sui Ruoli Ansible e inseriamo il seguente codice ERB:
Questo codice genera un report sugli host, visualizzando per essi l'attributo «all_ansible_roles».
Poi ci spostiamo sulla scheda Input e facciamo clic sul pulsante + Aggiungi Input. Indichiamo che il nome è hosts, e che il tipo di descrizione è Filtra per host (opzionale). Poi clicchiamo Invia e poi facciamo clic sul pulsante Genera a destra del report appena creato. Possiamo quindi impostare un filtro sugli host oppure cliccare direttamente Invia, per generare un report su tutti gli host. Il report generato apparirà in LibreOffice Calc in questo modo:

Creazione di report HTML
Il motore di report di Satellite consente di generare report non solo in formato CSV. Come esempio, creeremo un report personalizzato basato sul report integrato Host Status, ma solo come tabella HTML con codifica a colori delle celle in base allo stato. Per fare ciò, cloniamo Stati dell'host, e poi sostituiamo il suo codice ERB con il seguente:
<!DOCTYPE html>
<html>
<head>
<title>Stati dell'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> Nome host </th>
<th> Stato </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"> Attenzione </td>
<% else -%>
<td class="red"> Errore (<%= 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"> Attenzione </td>
<% else -%>
<td class="red"> Errore (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
Questo report genera HTML che apparirà nel browser in questo modo:
![]()
Esecuzione di report dalla riga di comando
Per eseguire un report dalla riga di comando si utilizza il comando hammer, e l'utilità cron consente di automatizzare questo processo.
Utilizzare il comando hammer report-template generate —name «», ad esempio:
# hammer report-template generate —name "Host statuses HTML"
Il contenuto del report sarà visualizzato sulla console. Le informazioni possono essere reindirizzate a un file, dopodiché configurare cron in modo che avvii uno script shell per generare il report e inviarlo via email. Il formato HTML si visualizza perfettamente nei client di posta, permettendo di organizzare la consegna regolare dei report agli interessati in una forma facile da comprendere.
In questo modo, il motore di reportistica in Satellite 6.5 è uno strumento potente per esportare dati importanti detenuti dalle aziende in Satellite. È estremamente flessibile e consente di utilizzare sia report integrati che versioni personalizzate. Inoltre, gli utenti possono creare i propri report da zero. Maggiori dettagli sul Satellite Reporting Engine sono disponibili nel nostro video su YouTube.
Il nostro relatore è Aram Kanano, responsabile del dipartimento di sviluppo delle piattaforme e dei sistemi di gestione di Red Hat in Europa, Medio Oriente e Africa. Il lavoro di Aram in Red Hat comprende un'analisi approfondita del mercato, dell'industria e dei concorrenti, oltre al posizionamento e marketing dei prodotti per la divisione business delle piattaforme, gestendo l'intero ciclo di vita del prodotto, dall'implementazione alla cessazione dell'utilizzo.
Fonte: habr.com
