Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Red Hat Satellite er en systemadministrasjonsløsning som gjør det enkelt å distribuere, skalere og administrere Red Hat-infrastruktur på tvers av fysiske, virtuelle og skymiljøer. Satellitt lar brukere tilpasse og oppdatere systemer for å sikre at de fungerer effektivt og sikkert til en rekke standarder. Ved å automatisere de fleste oppgavene knyttet til vedlikehold av systemets helse, hjelper Satellite organisasjoner med å øke effektiviteten, redusere driftskostnadene og bedre svare på strategiske forretningsbehov.

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Mens du kan utføre grunnleggende administrative oppgaver ved å bruke Red Hat-tjenestene som følger med Red Hat Enterprise Linux-abonnementet ditt, legger Red Hat Satellite til omfattende livssyklusadministrasjonsfunksjoner.

Blant disse mulighetene:

  • Installere patcher;
  • Abonnementsadministrasjon;
  • Initialisering;
  • Konfigurasjonsstyring.

Fra én konsoll kan du administrere tusenvis av systemer så enkelt som én, noe som øker tilgjengeligheten, påliteligheten og systemrevisjonsevnene.

Og nå har vi den nye Red Hat Satellite 6.5!

En av de kule tingene som kommer med Red Hat Satellite 6.5 er den nye rapporteringsmotoren.

Satellite Server er ofte navet for all informasjon om Red Hat-bedriftssystemer, og denne nyeste motoren lar deg lage og eksportere rapporter som inneholder informasjon om klientsatellitverter, programvareabonnementer, gjeldende errata og etc. Rapporter er programmert i Embedded Ruby (ERB).

Satellite 6.5 kommer med ferdige rapporter, og motoren gir brukerne muligheten til å tilpasse disse rapportene eller lage sine egne. Satellite 6.5 sine innebygde rapporter genereres i CSV-format, men i dette innlegget vil vi vise hvordan du kan generere rapporter i HTML-format også.

Satellitt 6.5 innebygde rapporter

Satellite 6.5 inkluderer fire innebygde rapporter:

  • Gjeldende feil – en liste over programvaredefekter (errata) som må elimineres på innholdsverter (valgfritt filtrert etter verter eller defekter);
  • Vertsstatuser – rapport om statusen til satellittverter (valgfritt filtrert etter vert);
  • Registrerte verter – informasjon om satellittverter: IP-adresse, OS-versjon, programvareabonnement (valgfritt filtrert etter vert);
  • Abonnement – informasjon om programvareabonnement: totalt antall abonnementer, antall gratis, SKU-koder (valgfritt filtrert etter abonnementsparametere).

For å generere en rapport, åpne menyen Overvåkevelg Rapportmaler og klikk på Generer-knappen til høyre for ønsket rapport. La filterfeltet stå tomt for å inkludere alle data i rapporten, eller skriv inn noe der for å begrense resultatene. Hvis du for eksempel vil at rapporten Registrerte verter bare skal vise RHEL 8-verter, spesifiser du et filter os = RedHat og os_major = 8, som vist på skjermbildet nedenfor:

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Når rapporten er generert, kan du laste den ned og åpne den i et regneark som LibreOffice Calc, som vil importere dataene fra CSV og organisere dem i kolonner, for eksempel som en rapport Gjeldende feil på skjermen nedenfor:

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Vær oppmerksom på at alternativet er aktivert i egenskapene til innebygde rapporter Som standard (Standard), slik at de automatisk legges til i alle nye organisasjoner og lokasjoner du oppretter i Satellite.

Tilpasning av innebygde rapporter

La oss se på tilpasning ved å bruke eksempelet på en innebygd rapport Abonnement. Som standard viser denne rapporten totalt antall abonnementer (1), samt antall tilgjengelige, det vil si gratis, abonnementer (2). Vi vil legge til en annen kolonne med antall abonnementer som er definert som (1) – (2). For eksempel, hvis vi har totalt 50 RHEL-abonnementer og 10 av dem er gratis, så brukes 40 abonnementer.

Siden redigering av innebygde rapporter er låst og det ikke anbefales å endre dem, må du klone den innebygde rapporten, gi den et nytt navn og deretter endre denne klonekopien.

Så hvis vi ønsker å endre rapporten Abonnement, så må den først klones. Så la oss åpne menyen Overvåke, plukke ut Rapportmaler og i rullegardinmenyen til høyre for malen Abonnement velge Clone. Skriv deretter inn navnet på klonerapporten (la oss kalle den Egendefinerte abonnementer) og mellom linjene Tilgjengelig и Antall legg til linjen til den 'Brukt': pool.quantity - pool.available, – vær oppmerksom på kommaet på slutten av linjen. Slik ser det ut på skjermbildet:

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Så trykker vi på knappen Sendsom bringer oss tilbake til siden Rapportmaler. Der klikker vi på knappen Generere til høyre for den nyopprettede rapporten Egendefinerte abonnementer. La feltet Abonnementfilter stå tomt og klikk Send. Deretter opprettes og lastes en rapport, som inneholder kolonnen vi har lagt til Brukes.

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Hjelp for det innebygde Ruby-språket er plassert på fanen Hjelp i vinduet for rapportredigering. Den gir en oversikt over syntaksen og tilgjengelige variabler og metoder.

Lag din egen rapport

La oss nå se på å lage våre egne rapporter ved å bruke eksempelet på en rapport om Ansible-roller tildelt verter i Satellite. Åpne menyen Overvåke, klikk Rapportmaler og trykk deretter på knappen Lag mal. La oss ringe rapporten vår Ansible rollerapport og sett inn følgende ERB-kode i den:

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

Denne koden genererer en rapport om verter, og viser attributtet "all_ansible_rolles" for dem.

Gå deretter til fanen Innganger og klikk på knappen + Legg til input. Vi sier at navnet er lik Vertskapet, og beskrivelsestype – Filtrer etter verter (valgfritt). Klikk deretter Send og trykk deretter på knappen Generere til høyre for den nyopprettede rapporten. Deretter kan du angi et vertsfilter eller umiddelbart klikke Sendå generere en rapport om alle verter. Den genererte rapporten vil se omtrent slik ut i LibreOffice Calc:

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Generer HTML-rapporter

Satellittrapporteringsmotoren lar deg generere rapporter ikke bare i CSV-format. Som et eksempel vil vi lage en tilpasset rapport basert på den innebygde vertsrapporten statuser, men bare som en HTML-tabell med celler fargekodet basert på status. For å gjøre dette kloner vi Vertsstatuser, og erstatt deretter ERB-koden med følgende:

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

Denne rapporten genererer HTML som vil se omtrent slik ut i en nettleser:

Rapporteringsmotor i Satellite 6.5: Hva er det og hvorfor

Kjøre rapporter fra kommandolinjen

For å kjøre en rapport fra kommandolinjen, bruk kommandoen hammer, og cron-verktøyet lar deg automatisere denne prosessen.

Bruk kommandoen hammer rapportmal generer --name "", for eksempel:

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

Innholdet i rapporten vil gjenspeiles på konsollen. Informasjonen kan omdirigeres til en fil, og deretter konfigurere cron til å kjøre et shell-skript for å generere en rapport og sende den via e-post. HTML-formatet vises perfekt i e-postklienter, som lar deg organisere regelmessig levering av rapporter til interesserte parter i en lettlest form.

Dermed er rapporteringsmotoren i Satellite 6.5 et kraftig verktøy for å eksportere viktige data som bedrifter har i Satellite. Den er veldig fleksibel og lar deg bruke både innebygde rapporter og deres modifiserte versjoner. I tillegg kan brukere lage sine egne rapporter fra bunnen av. Lær mer om satellittrapporteringsmotoren i YouTube-videoen vår.

Ikke gå glipp av webinaret om den nye versjonen av Red Hat Enterprise Linux 9 11. juli kl. 00:8 Moskva-tid

Vår foredragsholder er Aram Kananov, leder for utviklingsavdelingen for plattformer og styringssystemer hos Red Hat i Europa, Midtøsten og Afrika. Arams arbeid i Red Hat inkluderer omfattende markeds-, industri- og konkurrentanalyser, samt produktposisjonering og markedsføring for forretningsenheten Platforms, som inkluderer styring av hele produktets livssyklus fra introduksjon til slutten av levetiden.

Kilde: www.habr.com

Legg til en kommentar