Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Red Hat Satellite er en systemadministrationsløsning, der gør det nemt at implementere, skalere og administrere Red Hat-infrastruktur på tværs af fysiske, virtuelle og cloud-miljøer. Satellit giver brugerne mulighed for at tilpasse og opdatere systemer for at sikre, at de fungerer effektivt og sikkert til en række forskellige standarder. Ved at automatisere de fleste af de opgaver, der er forbundet med at vedligeholde systemets sundhed, hjælper Satellite organisationer med at øge effektiviteten, reducere driftsomkostningerne og bedre reagere på strategiske forretningsbehov.

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Mens du kan udføre grundlæggende administrative opgaver ved hjælp af Red Hat-tjenesterne, der følger med dit Red Hat Enterprise Linux-abonnement, tilføjer Red Hat Satellite omfattende livscyklusstyringsfunktioner.

Blandt disse muligheder:

  • Installation af patches;
  • Administration af abonnementer;
  • Initialisering;
  • Konfigurationsstyring.

Fra én konsol kan du administrere tusindvis af systemer lige så let som én, hvilket øger tilgængeligheden, pålideligheden og systemrevisionskapaciteten.

Og nu har vi den nye Red Hat Satellite 6.5!

En af de fede ting, der kommer med Red Hat Satellite 6.5, er den nye rapporteringsmotor.

Satellitserver er ofte omdrejningspunktet for al information om Red Hat-virksomhedssystemer, og denne nyeste motor giver dig mulighed for at oprette og eksportere rapporter, der indeholder information om klientsatellitværter, softwareabonnementer, gældende errata og etc. Rapporter programmeres i Embedded Ruby (ERB).

Satellite 6.5 kommer med færdige rapporter, og motoren giver brugerne mulighed for at tilpasse disse rapporter eller oprette deres egne. Satellit 6.5's indbyggede rapporter genereres i CSV-format, men i dette indlæg viser vi, hvordan du også kan generere rapporter i HTML-format.

Satellit 6.5 indbyggede rapporter

Satellite 6.5 inkluderer fire indbyggede rapporter:

  • Gældende fejl – en liste over softwarefejl (errata), der skal elimineres på indholdsværter (eventuelt filtreret efter værter eller defekter);
  • Værtsstatusser – rapport om status for satellitværter (valgfrit filtreret efter vært);
  • Registrerede værter – oplysninger om satellitværter: IP-adresse, OS-version, softwareabonnementer (valgfrit filtreret efter vært);
  • Abonnementer – oplysninger om softwareabonnementer: samlet antal abonnementer, antal gratis, SKU-koder (valgfrit filtreret efter abonnementsparametre).

Åbn menuen for at generere en rapport Overvåg, Vælg Rapport skabeloner og klik på knappen Generer til højre for den ønskede rapport. Lad filterfeltet stå tomt for at inkludere alle data i rapporten, eller indtast noget der for at begrænse resultaterne. Hvis du f.eks. ønsker, at rapporten Registrerede værter kun skal vise RHEL 8-værter, skal du angive et filter os = RedHat og os_major = 8, som vist på skærmbilledet nedenfor:

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Når rapporten er genereret, kan du downloade den og åbne den i et regneark som LibreOffice Calc, som importerer data fra CSV og organiserer dem i kolonner, for eksempel som en rapport Gældende fejl på skærmen nedenfor:

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Bemærk venligst, at muligheden er aktiveret i egenskaberne for indbyggede rapporter Som standard (Standard), så de tilføjes automatisk til alle nye organisationer og lokationer, du opretter i Satellite.

Tilpasning af indbyggede rapporter

Lad os se på tilpasning ved hjælp af eksemplet med en indbygget rapport Abonnementer. Som standard viser denne rapport det samlede antal abonnementer (1) samt antallet af tilgængelige, det vil sige gratis, abonnementer (2). Vi tilføjer endnu en kolonne til den med antallet af anvendte abonnementer, som er defineret som (1) – (2). Hvis vi for eksempel har i alt 50 RHEL-abonnementer, og 10 af dem er gratis, så bruges 40 abonnementer.

Da redigering af indbyggede rapporter er låst, og det ikke anbefales at ændre dem, bliver du nødt til at klone den indbyggede rapport, give den et nyt navn og derefter ændre denne klonekopi.

Så hvis vi ønsker at ændre rapporten Abonnementer, så skal den først klones. Så lad os åbne menuen Overvågvælge Rapport skabeloner og i rullemenuen til højre for skabelonen Abonnementer vælge Klon. Indtast derefter navnet på klonrapporten (lad os kalde det Brugerdefinerede abonnementer) og mellem linjerne tilgængelig и Antal tilføje linjen til det 'Brugt': pool.quantity - pool.available, – vær opmærksom på kommaet i slutningen af ​​linjen. Sådan ser det ud på skærmbilledet:

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Så trykker vi på knappen Indsendhvilket bringer os tilbage til siden Rapport skabeloner. Der klikker vi på knappen Generer til højre for den nyoprettede rapport Brugerdefinerede abonnementer. Lad feltet Abonnementsfilter stå tomt, og klik Indsend. Hvorefter der oprettes og indlæses en rapport, som indeholder den kolonne, vi tilføjede KØB Brugte.

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Hjælp til det indbyggede Ruby-sprog findes på fanen Hjælp i rapportredigeringsvinduet. Det giver et overblik over syntaksen og de tilgængelige variabler og metoder.

Lav din egen rapport

Lad os nu se på at skabe vores egne rapporter ved at bruge eksemplet med en rapport om Ansible-roller, der er tildelt værter i Satellite. Åbn menuen Overvåg, klik Rapport skabeloner og tryk derefter på knappen Opret skabelon. Lad os kalde vores rapport Ansible Rolle Rapport og indsæt 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 kode genererer en rapport om værter, der viser attributten "all_ansible_rolles" for dem.

Gå derefter til fanen Indgange og klik på knappen + Tilføj input. Vi siger, at navnet er lig med værter, og beskrivelsestype – Filtrer efter værter (valgfrit). Klik derefter Indsend og tryk derefter på knappen Generer til højre for den nyoprettede rapport. Dernæst kan du indstille et værtsfilter eller klikke med det samme Indsendat generere en rapport om alle værter. Den genererede rapport vil se nogenlunde sådan ud i LibreOffice Calc:

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Generering af HTML-rapporter

Satellit-rapporteringsmotoren giver dig mulighed for at generere rapporter, ikke kun i CSV-format. Som et eksempel vil vi oprette en tilpasset rapport baseret på den indbyggede værtsrapport Statusser, men kun som en HTML-tabel med celler farvekodet baseret på status. For at gøre dette kloner vi Værtsstatusser, og erstat derefter dens ERB-kode 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 rapport genererer HTML, der ser sådan ud i en browser:

Rapporteringsmaskine i Satellite 6.5: Hvad er det og hvorfor

Kører rapporter fra kommandolinjen

Brug kommandoen for at køre en rapport fra kommandolinjen hammer, og cron-værktøjet giver dig mulighed for at automatisere denne proces.

Brug kommandoen hammer rapport-skabelon generer --name "", for eksempel:

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

Indholdet af rapporten vil blive afspejlet på konsollen. Oplysningerne kan omdirigeres til en fil og derefter konfigurere cron til at køre et shell-script for at generere en rapport og sende den via e-mail. HTML-formatet vises perfekt i e-mail-klienter, hvilket giver dig mulighed for at organisere regelmæssig levering af rapporter til interesserede parter i en letlæselig form.

Således er rapporteringsmotoren i Satellite 6.5 et stærkt værktøj til at eksportere de vigtige data, som virksomheder har i Satellite. Det er meget fleksibelt og giver dig mulighed for at bruge både indbyggede rapporter og deres ændrede versioner. Derudover kan brugere oprette deres egne rapporter fra bunden. Lær mere om Satellite Reporting Engine i vores YouTube-video.

Den 9. juli kl. 11:00 Moskva-tid, gå ikke glip af webinaret om den nye version af Red Hat Enterprise Linux 8

Vores foredragsholder er Aram Kananov, leder af afdelingen for udvikling af platforme og ledelsessystemer hos Red Hat i Europa, Mellemøsten og Afrika. Arams arbejde hos Red Hat omfatter omfattende markeds-, industri- og konkurrentanalyser samt produktpositionering og markedsføring for Platforms forretningsenhed, som omfatter styring af hele produktets livscyklus fra introduktion til end-of-life.

Kilde: www.habr.com

Tilføj en kommentar