Rapportage-engine in Satellite 6.5: wat is het en waarom

Red Hat Satellite is een systeembeheeroplossing waarmee u de Red Hat-infrastructuur eenvoudig kunt implementeren, schalen en beheren in fysieke, virtuele en cloudomgevingen. Met Satellite kunnen gebruikers systemen aanpassen en bijwerken om ervoor te zorgen dat ze efficiënt en veilig werken volgens verschillende standaarden. Door de meeste taken die verband houden met het handhaven van de systeemgezondheid te automatiseren, helpt Satellite organisaties de efficiëntie te verhogen, de bedrijfskosten te verlagen en beter te reageren op strategische bedrijfsbehoeften.

Rapportage-engine in Satellite 6.5: wat is het en waarom

Terwijl je basisbeheertaken kunt uitvoeren met behulp van de Red Hat-services die bij je Red Hat Enterprise Linux-abonnement zijn inbegrepen, voegt Red Hat Satellite uitgebreide mogelijkheden voor levenscyclusbeheer toe.

Onder deze mogelijkheden:

  • Patches installeren;
  • Abonnementenbeheer;
  • Initialisatie;
  • Configuratiebeheer.

Vanaf één console kunt u duizenden systemen net zo eenvoudig als één beheren, waardoor de beschikbaarheid, betrouwbaarheid en mogelijkheden voor systeemaudit worden vergroot.

En nu hebben we de nieuwe Red Hat Satellite 6.5!

Een van de coole dingen van Red Hat Satellite 6.5 is de nieuwe rapportage-engine.

Satellite Server is vaak de hub voor alle informatie over Red Hat bedrijfssystemen, en met deze nieuwste engine kunt u rapporten maken en exporteren met informatie over client Satellite-hosts, softwareabonnementen, toepasselijke errata en dergelijke. Rapportages worden geprogrammeerd in Embedded Ruby (ERB).

Satellite 6.5 wordt geleverd met kant-en-klare rapporten en de engine geeft gebruikers de mogelijkheid deze rapporten aan te passen of hun eigen rapporten te maken. De ingebouwde rapporten van Satellite 6.5 worden gegenereerd in CSV-formaat, maar in dit bericht laten we zien hoe u ook rapporten in HTML-formaat kunt genereren.

Satelliet 6.5 ingebouwde rapporten

Satellite 6.5 bevat vier ingebouwde rapporten:

  • Toepasselijke errata – een lijst met softwarefouten (errata) die moeten worden geëlimineerd op inhoudhosts (optioneel gefilterd op hosts of defecten);
  • Hoststatussen – rapporteer over de status van satelliethosts (optioneel gefilterd op host);
  • Geregistreerde verhuurders – informatie over satelliethosts: IP-adres, besturingssysteemversie, softwareabonnementen (optioneel gefilterd op host);
  • Abonnementen – informatie over softwareabonnementen: totaal aantal abonnementen, aantal gratis abonnementen, SKU-codes (optioneel gefilterd op abonnementsparameters).

Om een ​​rapport te genereren, opent u het menu monitorkiezen Rapportsjablonen en klik op de knop Genereren rechts van het gewenste rapport. Laat het filterveld leeg om alle gegevens in het rapport op te nemen, of voer daar iets in om de resultaten te beperken. Als u bijvoorbeeld wilt dat het rapport Geregistreerde hosts alleen RHEL 8-hosts weergeeft, geeft u een filter op os = RedHat en os_major = 8, zoals weergegeven in de onderstaande schermafbeelding:

Rapportage-engine in Satellite 6.5: wat is het en waarom

Zodra het rapport is gegenereerd, kunt u het downloaden en openen in een spreadsheet zoals LibreOffice Calc, dat de gegevens uit CSV importeert en deze in kolommen organiseert, bijvoorbeeld als rapport Toepasselijke errata op onderstaand scherm:

Rapportage-engine in Satellite 6.5: wat is het en waarom

Houd er rekening mee dat in de eigenschappen van ingebouwde rapporten de optie is ingeschakeld Bij verstek (Standaard), zodat ze automatisch worden toegevoegd aan alle nieuwe organisaties en locaties die u in Satellite aanmaakt.

Aanpassing van ingebouwde rapporten

Laten we maatwerk bekijken aan de hand van het voorbeeld van een ingebouwd rapport Abonnementen. Standaard toont dit rapport het totale aantal abonnementen (1), evenals het aantal beschikbare, dat wil zeggen gratis, abonnementen (2). We voegen er nog een kolom aan toe met het aantal gebruikte abonnementen, gedefinieerd als (1) – (2). Als we bijvoorbeeld in totaal 50 RHEL-abonnementen hebben en 10 daarvan zijn gratis, dan worden er 40 abonnementen gebruikt.

Omdat het bewerken van ingebouwde rapporten is vergrendeld en het niet wordt aanbevolen deze te wijzigen, moet u het ingebouwde rapport klonen, het een nieuwe naam geven en vervolgens deze kloonkopie wijzigen.

Dus als we het rapport willen wijzigen Abonnementen, dan moet het eerst worden gekloond. Dus laten we het menu openen monitorKiezen Rapportsjablonen en in het vervolgkeuzemenu rechts van de sjabloon Abonnementen kiezen Kloon. Voer vervolgens de naam van het kloonrapport in (laten we het noemen Aangepaste abonnementen) en tussen de regels Beschikbaar и Hoeveelheid voeg de regel eraan toe 'Gebruikt': pool.quantity - pool.beschikbaar, – let op de komma aan het einde van de regel. Zo ziet het eruit in de schermafbeelding:

Rapportage-engine in Satellite 6.5: wat is het en waarom

Dan drukken we op de knop Verzendenwat ons terugbrengt naar de pagina Rapportsjablonen. Daar klikken we op de knop Genereer rechts van het nieuw gemaakte rapport Aangepaste abonnementen. Laat het filterveld Abonnementen leeg en klik Verzenden. Waarna een rapport wordt aangemaakt en geladen, waarin de door ons toegevoegde kolom staat Gebruikt.

Rapportage-engine in Satellite 6.5: wat is het en waarom

Hulp voor de ingebouwde Ruby-taal bevindt zich op het tabblad Help in het rapportbewerkingsvenster. Het biedt een overzicht van de syntaxis en de beschikbare variabelen en methoden.

Maak uw eigen rapport

Laten we nu eens kijken naar het maken van onze eigen rapporten met behulp van het voorbeeld van een rapport over Ansible-rollen die zijn toegewezen aan hosts in Satellite. Open het menu monitor, Klik Rapportsjablonen en druk vervolgens op de knop Sjabloon maken. Laten we ons rapport bellen Ansible-rollenrapport en plaats de volgende ERB-code erin:

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

Deze code genereert een rapport over hosts, waarin het attribuut "all_ansible_roles" voor hen wordt weergegeven.

Ga dan naar het tabblad Ingangen en klik op de knop + Invoer toevoegen. We zeggen dat de naam gelijk is aan hostsen beschrijvingstype – Filteren op hosts (optioneel). Dan klikken Verzenden en druk vervolgens op de knop Genereer rechts van het nieuw gemaakte rapport. Vervolgens kunt u een hostfilter instellen of direct klikken Verzendenom een ​​rapport over alle hosts te genereren. Het gegenereerde rapport zal er ongeveer zo uitzien in LibreOffice Calc:

Rapportage-engine in Satellite 6.5: wat is het en waarom

HTML-rapporten genereren

Met de satellietrapportage-engine kunt u niet alleen rapporten in CSV-formaat genereren. We maken bijvoorbeeld een aangepast rapport op basis van het ingebouwde hostrapport Statussen, maar alleen als een HTML-tabel met cellen met een kleurcode op basis van status. Om dit te doen klonen we Hoststatussenen vervang vervolgens de ERB-code door het volgende:

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

Dit rapport genereert HTML die er in een browser ongeveer zo uit zal zien:

Rapportage-engine in Satellite 6.5: wat is het en waarom

Rapporten uitvoeren vanaf de opdrachtregel

Gebruik de opdracht om een ​​rapport vanaf de opdrachtregel uit te voeren hameren met het cron-hulpprogramma kunt u dit proces automatiseren.

Gebruik de opdracht hammer report-template genereren --name "", bijvoorbeeld:

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

De inhoud van het rapport wordt weergegeven op de console. De informatie kan worden omgeleid naar een bestand en vervolgens cron configureren om een ​​shellscript uit te voeren om een ​​rapport te genereren en dit per e-mail te verzenden. Het HTML-formaat wordt perfect weergegeven in e-mailclients, waardoor u de regelmatige levering van rapporten aan geïnteresseerde partijen in een gemakkelijk leesbare vorm kunt organiseren.

De rapportage-engine in Satellite 6.5 is dus een krachtig hulpmiddel voor het exporteren van de belangrijke gegevens die bedrijven in Satellite hebben. Het is zeer flexibel en stelt u in staat zowel ingebouwde rapporten als de aangepaste versies ervan te gebruiken. Bovendien kunnen gebruikers hun eigen rapporten helemaal opnieuw maken. Lees meer over de Satellite Reporting Engine in onze YouTube-video.

Mis op 9 juli om 11:00 uur Moskou-tijd het webinar over de nieuwe versie van Red Hat Enterprise Linux 8 niet

Onze spreker is Aram Kananov, manager van de afdeling platform- en managementsysteemontwikkeling bij Red Hat in Europa, het Midden-Oosten en Afrika. Aram's werk bij Red Hat omvat uitgebreide markt-, sector- en concurrentieanalyses, evenals productpositionering en marketing voor de businessunit Platforms, waaronder het beheer van de gehele productlevenscyclus, van introductie tot einde levensduur.

Bron: www.habr.com

Voeg een reactie