Red Hat Satellite è una soluzione di 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 un funzionamento sicuro ed efficiente secondo diversi standard. Automando la maggior parte delle attività legate al mantenimento della funzionalità del sistema, Satellite aiuta le organizzazioni a migliorare l'efficienza, ridurre i costi operativi e rispondere in modo più efficace alle esigenze strategiche del business.

Sebbene tu possa eseguire le attività amministrative di base utilizzando i servizi Red Hat inclusi nella sottoscrizione di Red Hat Enterprise Linux, Red Hat Satellite offre ampie funzionalità di gestione dell'intero ciclo di vita.
Tra queste funzionalità troviamo:
- Installazione di patch;
- Gestione delle sottoscrizioni;
- Inizializzazione;
- Gestione della configurazione.
Da un'unica console, puoi gestire migliaia di sistemi con la stessa facilità di uno solo, aumentando così disponibilità, affidabilità e fornendo opportunità di auditing del sistema.
E ora abbiamo il nuovo Red Hat Satellite 6.5!
Una delle novità interessanti in Red Hat Satellite 6.5 è il nuovo motore di report.
Il Satellite Server funge spesso da centro dove confluace tutte le informazioni sui sistemi aziendali Red Hat, e questo nuovo motore permette di generare ed esportare report contenenti informazioni sugli host clienti di Satellite, sulle iscrizioni al software, oltre a difetti software da risolvere (applicable errata) e così via. I report sono programmati in Ruby (ERB).
Satellite 6.5 include già report predefiniti, mentre il motore consente agli utenti di personalizzarli o di crearne di propri. I report predefiniti di Satellite 6.5 vengono generati in formato CSV; tuttavia, in questo post mostreremo come creare report anche in formato HTML.
Report predefiniti di Satellite 6.5
Satellite 6.5 include quattro report predefiniti:
- Errata applicabile – elenco dei difetti software (errata) da risolvere sugli host di contenuto (opzionalmente filtrato per host o difetti);
- 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 al software (facoltativamente filtrato per host);
- Abbonamenti – informazioni sugli abbonamenti al software: numero totale di abbonamenti, numero di posti disponibili, codici SKU (facoltativamente filtrato per parametri degli abbonamenti).
Per generare un rapporto, apri il menu Monitor, seleziona Modelli di Rapporto e fai clic sul pulsante Genera a destra del rapporto desiderato. Lascia il campo di filtro vuoto per includere tutti i dati nel rapporto, oppure inserisci qualcosa per limitare i risultati. Ad esempio, se nel rapporto degli Host Registrati devono essere visualizzati solo gli host RHEL 8, specifica il filtro os = RedHat and os_major = 8, come mostrato nello screenshot qui sotto:

Dopo aver generato il rapporto, puoi scaricarlo e aprirlo in un foglio di calcolo come LibreOffice Calc, che importa i dati da CSV e li distribuisce su colonne, ad esempio, come il rapporto Errata applicabile nello screenshot qui sotto:

Nota che nelle proprietà dei rapporti predefiniti è attivata l'opzione Di default (Predefinito), quindi vengono automaticamente aggiunti a tutte le nuove organizzazioni e sedi che crei in Satellite.
Personalizzazione dei rapporti predefiniti
Esaminiamo la personalizzazione con l'esempio di un rapporto predefinito Abbonamenti. Per impostazione predefinita, questo rapporto 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, definito come (1) - (2). Ad esempio, se abbiamo in totale 50 abbonamenti RHEL e 10 di questi sono liberi, allora saranno utilizzati 40 abbonamenti.
Poiché la modifica dei rapporti incorporati è bloccata e non è consigliabile cambiarli, dovremo clonare il rapporto incorporato, dargli un nome nuovo e quindi modificare questa copia clone.
Quindi, se vogliamo modificare il rapporto Abbonamenti, deve prima essere clonata. Pertanto, apriamo il menu Monitor, selezioniamo Modelli di Rapporto e nel menu a discesa a destra del modello Abbonamenti selezioniamo Clone. Quindi inseriamo il nome del rapporto clone (chiamiamolo Custom Subscriptions) e tra le righe Disponibile e Quantity aggiungiamo la riga 'Used': pool.quantity — pool.available, – nota la virgola alla fine della riga. Ecco come appare nella schermata:

Poi premiamo il pulsante Invia, che ci riporta alla pagina Modelli di Rapporto. Lì clicchiamo il pulsante Generate a destra del rapporto appena creato Custom Subscriptions. Lasciamo vuoto il campo Subscriptions filter e clicchiamo Invia. Dopo di che viene creato e caricato un rapporto che include la colonna che abbiamo aggiunto. Usato.

La documentazione per il linguaggio Ruby integrato è disponibile nella scheda Aiuto nella finestra di editing del rapporto. Qui si trova una panoramica della sintassi, oltre alle variabili e ai metodi disponibili.
Creazione di un rapporto personalizzato
Esaminiamo ora la creazione di rapporti personalizzati prendendo come esempio il rapporto sui ruoli Ansible assegnati agli host in Satellite. Apriamo il menu Monitor, facciamo clic su Modelli di Rapporto e poi premiamo il pulsante Crea Modello. Chiamiamo il nostro rapporto Rapporto Ruoli Ansible e inseriamo il seguente codice ERB:
Questo codice genera un rapporto sugli host, mostrando l'attributo «all_ansible_roles» per ciascuno di essi.
Quindi passiamo alla scheda Input e facciamo clic sul pulsante + Aggiungi Input. Indichiamo che il nome è hosts, e il tipo di descrizione è Filtra per host (facoltativo). Successivamente, facciamo clic Invia e poi premiamo il pulsante Generate a destra del rapporto appena creato. Poi possiamo impostare un filtro sugli host o semplicemente premere Invia, per generare un rapporto su tutti gli host. Il rapporto generato apparirà in LibreOffice Calc come segue:

Creazione di report HTML
Il motore di report Satellite consente di generare report non solo in formato CSV. Come esempio, creeremo un report personalizzato basato sul report integrato Host Stati, ma solo come tabella HTML con codifica colore delle celle in base allo stato. Per fare ciò, duplichiamo Stati del host, e poi sostituiamo il suo codice ERB con il seguente:
<!DOCTYPE html>
<html>
<head>
<title>Stati 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> 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 rapporto genera HTML che apparirà nel browser come segue:
![]()
Esecuzione di report dalla riga di comando
Per eseguire un rapporto dalla riga di comando si usa il comando hammer, e l'utilità cron permette di automatizzare questo processo.
Usa il comando hammer report-template generate —name «», per esempio:
# hammer report-template generate —name "Host statuses HTML"
Il contenuto del rapporto sarà riportato sulla console. Le informazioni possono essere reindirizzate in un file, dopodiché è possibile configurare cron affinché esegua uno script shell per generare il rapporto e inviarlo via email. Il formato HTML si visualizza perfettamente nei client di posta, permettendo di organizzare la consegna regolare dei rapporti a soggetti interessati in una forma facilmente leggibile.
Il motore di report di Satellite 6.5 è uno strumento potente per esportare dati importanti in possesso delle aziende. È altamente flessibile e consente di utilizzare sia i report predefiniti 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 Kananov, manager del dipartimento sviluppo piattaforme e sistemi di gestione di Red Hat per Europa, Medio Oriente e Africa. Il lavoro di Aram in Red Hat include un'analisi approfondita del mercato, dell'industria e dei concorrenti, oltre a posizionamento e marketing dei prodotti per il business delle piattaforme, che copre l'intero ciclo di vita del prodotto dalla sua implementazione fino al termine del suo utilizzo.
Fonte: habr.com
