Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Red Hat Satellite ist eine Lösung zur Verwaltung von Systemen, die das Bereitstellen, Skalieren und Verwalten von Red Hat-Infrastrukturen in physischen, virtuellen und Cloud-Umgebungen vereinfacht. Satellite ermöglicht es Benutzern, Systeme zu konfigurieren und zu aktualisieren, um deren effektive und sichere Nutzung gemäß verschiedener Standards zu gewährleisten. Durch die Automatisierung der meisten Aufgaben, die mit der Aufrechterhaltung der Systemsicherheit verbunden sind, hilft Satellite Organisationen, ihre Effizienz zu steigern, Betriebskosten zu senken und schneller auf strategische Geschäftsanforderungen zu reagieren.

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Während Sie grundlegende Verwaltungsaufgaben mit den in Red Hat Enterprise Linux enthaltenen Red Hat-Diensten durchführen können, bietet Red Hat Satellite umfassende Möglichkeiten zur Verwaltung des gesamten Lebenszyklus.

Zu diesen Möglichkeiten gehören:

  • Patch-Installation;
  • Abonnementverwaltung;
  • Initialisierung;
  • Konfigurationsmanagement.

Mit einer einzigen Konsole können Sie Tausende von Systemen so einfach wie ein einzelnes verwalten, was die Verfügbarkeit und Zuverlässigkeit erhöht und Auditmöglichkeiten bietet.

Und jetzt haben wir das neue Red Hat Satellite 6.5!

Eine der tollen Neuerungen in Red Hat Satellite 6.5 ist die neue Bericht-Engine.

Der Satellite Server fungiert oft als zentrale Anlaufstelle für Informationen über Unternehmenssysteme von Red Hat, und die neueste Engine ermöglicht das Erstellen und Exportieren von Berichten, die Informationen über die Client-Hosts von Satellite, Software-Abonnements sowie relevante Software-Fehler (applicable errata) enthalten. Die Berichte werden in der integrierten Ruby-Sprache (ERB) programmiert.

Satellite 6.5 wird mit vorgefertigten Berichten geliefert, und die Engine ermöglicht es Benutzern, diese Berichte zu individualisieren oder eigene zu erstellen. Die integrierten Berichte von Satellite 6.5 werden im CSV-Format generiert; in diesem Beitrag zeigen wir jedoch, wie Berichte auch im HTML-Format erstellt werden können.

Integrierte Berichte von Satellite 6.5

Satellite 6.5 enthält vier integrierte Berichte:

  • Anwendbare Errata – Liste der Softwarefehler (errata), die auf Content-Hosts behoben werden müssen (optional nach Hosts oder Fehlern gefiltert);
  • Host-Status – Bericht über den Status der Satellite-Hosts (optional nach Hosts gefiltert);
  • Registrierte Hosts – Informationen über Satellite-Hosts: IP-Adresse, OS-Version, Software-Abonnements (optional nach Hosts gefiltert);
  • Abonnements – Informationen zu Software-Abonnements: Gesamtzahl der Abonnements, Anzahl verfügbarer, SKU-Codes (kann optional nach Abonnementparametern gefiltert werden).

Um einen Bericht zu erstellen, öffnen Sie das Menü Monitor, wählen Sie Berichtsvorlagen und klicken Sie auf die Schaltfläche Generate rechts neben dem gewünschten Bericht. Lassen Sie das Filterfeld leer, um alle Daten in den Bericht einzuschließen, oder geben Sie etwas ein, um die Ergebnisse einzuschränken. Wenn der Bericht Registered Hosts nur RHEL 8 Hosts anzeigen soll, geben Sie den Filter an os = RedHat und os_major = 8, wie im Screenshot unten gezeigt:

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Nach der Erstellung des Berichts kann dieser heruntergeladen und in einer Tabellenkalkulationssoftware wie LibreOffice Calc geöffnet werden, die die Daten aus CSV importiert und in Spalten aufteilt, wie im Bericht Anwendbare Errata auf dem Screenshot unten:

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Bitte beachten Sie, dass die Eigenschaften der integrierten Berichte die Option enthalten Standardmäßig (Standard), daher werden sie automatisch zu allen neuen Organisationen und Standorten (locations) hinzugefügt, die Sie in Satellite erstellen.

Anpassung integrierter Berichte

Wir werden die Anpassung am Beispiel des integrierten Berichts durchgehen Abonnements. Standardmäßig zeigt dieser Bericht die Gesamtzahl der Abonnements (1) sowie die Anzahl der verfügbaren, d.h. freien Abonnements (2). Wir fügen eine weitere Spalte mit der Anzahl der genutzten Abonnements hinzu, die als (1) – (2) definiert wird. Wenn wir beispielsweise insgesamt 50 RHEL-Abonnements haben und 10 davon frei sind, sind also 40 Abonnements in Nutzung.

Da die Bearbeitung von integrierten Berichten gesperrt ist und nicht empfohlen wird, müssen wir den integrierten Bericht klonen, ihm einen neuen Namen geben und dann diese Klonkopie modifizieren.

Wenn wir also den Bericht Abonnements, modifizieren wollen, müssen wir ihn zuerst klonen. Öffnen Sie dazu das Menü Monitor, wählen Sie Berichtsvorlagen und im Dropdown-Menü rechts neben der Vorlage Abonnements wir wählen Klonen. Geben Sie dann den Namen des Klonberichts ein (nennen wir ihn Benutzerdefinierte Abonnements) und fügen Sie zwischen den Zeilen Verfügbar und Menge die Zeile hinzu 'Used': pool.quantity — pool.available, – beachten Sie das Komma am Ende der Zeile. So sieht es auf dem Screenshot aus:

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Dann klicken wir auf die Schaltfläche Übermitteln, was uns zurück zu der Seite bringt Berichtsvorlagen. Klicken Sie dort auf die Schaltfläche Generate rechts neben dem gerade erstellten Bericht Benutzerdefinierte Abonnements. Lassen Sie das Feld Abonnementfilter leer und klicken Sie auf Übermitteln. Danach wird ein Bericht erstellt und heruntergeladen, der die von uns hinzugefügte Spalte enthält Verwendet.

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Die Hilfe zum integrierten Ruby-Code finden Sie im Tab Hilfe im Bearbeitungsfenster des Berichts. Es enthält eine Übersicht über die Syntax sowie die verfügbaren Variablen und Methoden.

Erstellung eines eigenen Berichts

Nun betrachten wir die Erstellung eigener Berichte am Beispiel des Berichts über Ansible-Rollen, die den in Satellite zugewiesenen Hosts zugeordnet sind. Öffnen Sie das Menü Monitor, klicken Sie Berichtsvorlagen und klicken Sie dann auf die Schaltfläche Create Template. Wir nennen unseren Bericht Ansible Roles Report und fügen den folgenden ERB-Code ein:


Dieser Code generiert einen Bericht über Hosts, der das Attribut „all_ansible_roles“ für sie anzeigt.

Dann gehen wir zum Tab Inputs und klicken auf die Schaltfläche + Add Input. Wir sagen, dass der Name gleich hosts, und der Beschreibungstyp – Filter by hosts (optional). Dann klicken wir Übermitteln und klicken Sie dann auf die Schaltfläche Generate rechts neben dem gerade erstellten Bericht. Danach können Sie einen Hostfilter festlegen oder sofort auf klicken Übermitteln, um einen Bericht über alle Hosts zu erstellen. Der generierte Bericht wird in LibreOffice Calc ungefähr so aussehen:

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Erstellung von HTML-Berichten

Die Berichtsgenerator-Engine von Satellite ermöglicht die Erstellung von Berichten nicht nur im CSV-Format. Als Beispiel erstellen wir einen eigenen Bericht basierend auf dem integrierten Bericht Host Statuses, jedoch als HTML-Tabelle mit farbcodierten Zellen basierend auf dem Status. Dazu klonen wir Host-Status, und ersetzen dann den ERB-Code durch den folgenden:

<!DOCTYPE html>
<html>
<head>
   <title>Host-Status</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"> Warnung </td>
   <% else -%>
       <td class="red"> Fehler (<%= 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"> Warnung </td>
       <% else -%>
           <td class="red"> Fehler (<%= value %>) </td>
       <% end -%>
   <% end -%>
   </tr>
<% end -%>

</table>
</body>
</html>

Dieser Bericht generiert HTML, das im Browser ungefähr so aussieht:

Berichtsmotor in Satellite 6.5: Was ist das und wozu dient es

Ausführen von Berichten über die Befehlszeile

Zum Ausführen eines Berichts über die Befehlszeile verwenden Sie den Befehl hammer, und das Werkzeug cron ermöglicht die Automatisierung dieses Prozesses.

Verwenden Sie den Befehl hammer report-template generate —name «», zum Beispiel:

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

Der Inhalt des Berichts wird auf der Konsole angezeigt. Die Informationen können in eine Datei umgeleitet werden, danach richten Sie cron so ein, dass er ein Shell-Skript zur Erstellung des Berichts ausführt und es per E-Mail versendet. Das HTML-Format wird in E-Mail-Clients hervorragend angezeigt, was es ermöglicht, regelmäßige Berichte in einer leicht verständlichen Form an Interessierte zu liefern.

Der Reporting-Engine in Satellite 6.5 ist ein leistungsstarkes Werkzeug zum Export wichtiger Daten, die Unternehmen in Satellite haben. Er ist sehr flexibel und ermöglicht die Nutzung sowohl von integrierten Berichten als auch von deren überarbeiteten Versionen. Darüber hinaus können Benutzer ihre eigenen Berichte von Grund auf neu erstellen. Details zum Satellite Reporting Engine finden Sie in unserem Video auf YouTube.

Verpassen Sie am 9. Juli um 11:00 Uhr Moskauer Zeit nicht das Webinar zur neuen Version von Red Hat Enterprise Linux 8

Unser Referent ist Aram Kananyan, Manager der Abteilung Plattformentwicklung und Systemverwaltung von Red Hat für Europa, den Nahen Osten und Afrika. Arams Arbeit bei Red Hat umfasst eine umfassende Markt-, Branchen- und Wettbewerbsanalyse sowie die Positionierung und Vermarktung von Produkten für die Geschäftseinheit Plattformen, die das Management des gesamten Produktlebenszyklus von der Implementierung bis zur Abkündigung umfasst.

Quelle: habr.com

60GB SSD 8Gb DDR4