Red Hat Satellite este o soluție de gestionare a sistemului care simplifică desfășurarea, scalarea și gestionarea infrastructurii Red Hat în medii fizice, virtuale și cloud. Satellite permite utilizatorilor să configureze și să actualizeze sistemele pentru a asigura funcționarea lor eficientă și sigură, conform diferitelor standarde. Automatizând majoritatea sarcinilor legate de menținerea operabilității sistemului, Satellite ajută organizațiile să îmbunătățească eficiența, să reduce costurile de operare și să răspundă mai rapid la cerințele strategice ale afacerii.

Deși puteți efectua sarcini administrative de bază folosind serviciile Red Hat incluse în abonamentul Red Hat Enterprise Linux, Red Hat Satellite adaugă funcționalități extinse de gestionare a întregului ciclu de viață.
Printre aceste funcționalități se numără:
- Instalarea de patch-uri;
- Gestionarea abonamentelor;
- Inițializare;
- Gestionarea configurației.
Dintr-o singură consolă, puteți gestiona mii de sisteme la fel de ușor ca pe unul singur, ceea ce sporește disponibilitatea, fiabilitatea și oferă oportunități pentru auditul sistemului.
Și acum avem un nou Red Hat Satellite 6.5!
Una dintre caracteristicile interesante apărute în Red Hat Satellite 6.5 este noul motor de raportare.
Satellite Server acționează adesea ca un centru unde se adună toate informațiile despre sistemele corporative Red Hat, iar acest nou motor permite crearea și exportarea de rapoarte care conțin informații despre gazdele client Satellite, abonamentele software, precum și erorile software care trebuie remediate (applicable errata) etc. Rapoartele sunt programate în limbajul încorporat Ruby (ERB).
Satellite 6.5 vine cu rapoarte gata pregătite, iar motorul le oferă utilizatorilor posibilitatea de a personaliza aceste rapoarte sau de a crea altele proprii. Rapoartele încorporate Satellite 6.5 sunt generate în format CSV, totuși, în această postare, vă vom arăta cum să creați rapoarte și în format HTML.
Rapoartele încorporate Satellite 6.5
Satellite 6.5 include patru rapoarte încorporate:
- Applicable errata – lista erorilor software (errata) care trebuie remediate pe gazdele de conținut (opțional filtrate după gazde sau erori);
- Host statuses – raport despre starea gazdelor Satellite (opțional filtrat după gazde);
- Registered hosts – informații despre gazdele Satellite: IP, versiune OS, abonamente software (opțional filtrate după gazde);
- Abonamente – informații despre abonamentele software: numărul total de abonamente, numărul disponibil, codurile SKU (opțional filtrate după parametrii abonamentelor).
Pentru a genera un raport, deschideți meniul Monitor, selectați Șabloane de raport și apăsați butonul Generate de lângă raportul dorit. Lăsați câmpul de filtrare gol pentru a include în raport toate datele, sau introduceți ceva acolo pentru a restricționa rezultatele. De exemplu, dacă în raportul Hosts Înregistrați trebuie să apară doar gazde RHEL 8, indicați filtrul os = RedHat and os_major = 8, așa cum se arată în captura de ecran de mai jos:

După generarea raportului, acesta poate fi descărcat și deschis într-un tabel electronic de tip LibreOffice Calc, care importă date din CSV și le împarte în coloane, de exemplu, precum raportul Applicable errata din captura de ecran de mai jos:

Rețineți că în proprietățile rapoartelor standard este activată opțiunea Implicit (Implicit), astfel încât ele sunt adăugate automat în toate noile organizații și locații (locations) pe care le creați în Satellite.
Personalizarea rapoartelor standard
Să examinăm personalizarea pe exemplul raportului standard Abonamente. În mod implicit, acest raport reflectă numărul total de abonamente (1), precum și numărul de abonamente disponibile, adică disponibile (2). Vom adăuga în el o coloana cu numărul de abonamente utilizate, care este determinat ca (1) – (2). De exemplu, dacă avem în total 50 de abonamente RHEL și 10 dintre ele sunt disponibile, atunci sunt utilizate 40 de abonamente.
Deoarece editarea rapoartelor standard este blocată și modificarea acestora nu este recomandată, va trebui să clonăm raportul standard, să-i dăm un nume nou și apoi să modificăm această copie clonată.
Deci, dacă dorim să modificăm raportul Abonamente, trebuie mai întâi să-l clonăm. Astfel, deschidem meniul Monitor, selectăm Șabloane de raport și în meniul derulant de lângă șablon Abonamente alegem Clone. Apoi introducem numele raportului clonat (să-l numim Abonamente Personalizate) și între rânduri Available și Cantitate adăugăm în el rândul 'Utilizate': pool.quantity — pool.available, – rețineți virgula de la sfârșitul liniei. Iată cum arată în captura de ecran:

Apoi, apăsăm butonul Submit, ceea ce ne duce înapoi la pagina Șabloane de raport. Acolo facem clic pe butonul Generate de lângă raportul tocmai creat Abonamente Personalizate. Lăsăm câmpul Filtru Abonamente gol și facem clic pe Submit. După aceasta, se va crea și descărca raportul, în care există coloana pe care am adăugat-o noi Used.

Documentația limbajului Ruby încorporat se găsește în fila Ajutor în fereastra de editare a raportului. Aceasta conține o privire de ansamblu a sintaxei, precum și variabilele și metodele disponibile.
Crearea unui raport personalizat
Acum să examinăm crearea rapoartelor personalizate folosind exemplul raportului pentru rolurile Ansible, atribuite gazdelor în Satellite. Deschidem meniul Monitor, facem clic Șabloane de raport și apoi apăsăm butonul Create Template. Să numim raportul nostru Ansible Roles Report și să introducem următorul cod ERB:
<%#
name: Ansible Roles Report
snippet: false
template_inputs:
- name: hosts
required: false
input_type: user
description: Limitează raportul doar la gazdele găsite prin această interogare de căutare. Lăsați gol
pentru raport pe toate gazdele disponibile.
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 -%>
Acest cod generează un raport pentru gazde, afișând atributul „all_ansible_roles” pentru acestea.
Apoi, trecem la tab-ul Inputs și facem clic pe butonul + Add Input. Declarăm că numele este gazde, iar tipul descrierii este Filtrare după gazde (opțional). Apoi facem clic Submit și apoi apăsăm butonul Generate în dreapta raportului creat. Apoi putem defini un filtru pentru gazde sau apăsa imediat Submit, pentru a genera raportul pentru toate gazdele. Raportul generat va arăta în LibreOffice Calc astfel:

Crearea rapoartelor HTML
Motorul de rapoarte Satellite permite generarea rapoartelor nu doar în format CSV. Ca exemplu, vom crea un raport personalizat bazat pe raportul încorporat Host Statuses, dar doar sub formă de tabel HTML cu coduri de culori pentru celule pe baza statutului. Pentru aceasta, clonăm Stările gazdelor, și apoi înlocuim codul său ERB cu următorul:
<!DOCTYPE html>
<html>
<head>
<title>Stările gazdelor</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> Nume gazdă </th>
<th> Stare </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"> Atenție </td>
<% else -%>
<td class="red"> Eroare (<%= 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"> Atenție </td>
<% else -%>
<td class="red"> Eroare (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
Acest raport generează HTML, care va arăta în browser aproximativ astfel:
![]()
Executarea rapoartelor din linia de comandă
Pentru a rula un raport din linia de comandă se folosește comanda hammer, iar utilitarul cron permite automatizarea acestui proces.
Utilizați comanda hammer report-template generate —name „”, de exemplu:
# hammer report-template generate —name "Host statuses HTML"
Conținutul raportului va fi reflectat în consolă. Informația poate fi redirecționată într-un fișier, după care se poate configura cron pentru a rula un script shell pentru generarea raportului și trimiterea acestuia prin e-mail. Formatul HTML se afișează excelent în clienții de poștă, permițând organizarea livrării regulate a rapoartelor persoanelor interesate într-o formă ușor de perceput.
Astfel, motorul de raportare în Satellite 6.5 este un instrument puternic pentru exportul datelor importante pe care companiile le au în Satellite. Acesta este foarte flexibil și permite utilizarea atât a rapoartelor încorporate, cât și a versiunilor modificate ale acestora. În plus, utilizatorii pot crea propriile lor rapoarte de la zero. Detalii despre Motorul de Raportare Satellite sunt disponibile în videoclipul nostru de pe YouTube.
Prezentatorul nostru este Aram Kanанов, manager al departamentului de dezvoltare a platformelor și sistemelor de gestionare Red Hat în Europa, Orientul Mijlociu și Africa. Activitatea lui Aram în cadrul Red Hat include o analiză cuprinzătoare a pieței, industriei și competitorilor, precum și poziționarea și marketingul produselor pentru divizia de afaceri a platformelor, care include gestionarea întregului ciclu de viață al produsului, de la implementare până la sfârșitul utilizării.
Sursa: habr.com
