Red Hat Satellite est une solution de gestion de système qui facilite le déploiement, la mise à l'échelle et la gestion de votre infrastructure Red Hat dans des environnements physiques, virtuels et cloud. Le satellite permet aux utilisateurs de régler et de mettre à jour les systèmes pour assurer leur fonctionnement efficace et sûr conformément à diverses normes. En automatisant la plupart des tâches associées au maintien des performances du système, Satellite aide les organisations à accroître leur efficacité, à réduire leurs coûts d'exploitation et à répondre plus facilement aux demandes commerciales stratégiques.

Bien que vous puissiez effectuer des tâches administratives de base à l'aide des services Red Hat inclus avec votre abonnement Red Hat Enterprise Linux, Red Hat Satellite ajoute des fonctionnalités étendues de gestion du cycle de vie.
Parmi ces fonctionnalités figurent:
- Installation de correctifs;
- Gestion des abonnements;
- Initialisation;
- Gestion de la configuration.
À partir d'une seule console, vous pouvez gérer des milliers de systèmes aussi facilement qu'une seule, ce qui augmente la disponibilité, la fiabilité et vous donne la possibilité d'auditer le système.
Et maintenant, nous avons le nouveau Red Hat Satellite 6.5!L'une des choses intéressantes à propos de Red Hat Satellite 6.5 est le nouveau moteur de rapport.
Satellite Server agit souvent comme le centre où circulent toutes les informations sur les systèmes d'entreprise Red Hat, et ce nouveau moteur vous permet de créer et d'exporter des rapports contenant des informations sur les hôtes clients Satellite, les abonnements logiciels et les défauts logiciels applicables (errata applicables) et etc. Les rapports sont programmés dans le langage Ruby intégré (ERB).
Satellite 6.5 est livré complet avec des rapports prêts à l'emploi, et le moteur donne aux utilisateurs la possibilité de personnaliser ces rapports ou de créer les leurs. Les rapports intégrés de Satellite 6.5 sont générés au format CSV, mais dans cet article, nous montrerons comment vous pouvez créer des rapports au format HTML.
Rapports intégrés de Satellite 6.5
Satellite 6.5 comprend quatre rapports intégrés:
- Errata applicables - une liste des défauts logiciels (errata) à corriger sur les hôtes de contenu (éventuellement filtrés par les hôtes ou les défauts);
- États des hôtes - rapport sur l'état des hôtes satellites (éventuellement filtré par les hôtes);
- Hôtes enregistrés - informations sur les hôtes satellites: adresse IP, version du système d'exploitation, abonnement logiciel (éventuellement filtré par les hôtes);
- Abonnements - informations sur les abonnements logiciels: nombre total d'abonnements, nombre d'abonnements gratuits, codes SKU (éventuellement filtrés par paramètres d'abonnement).
Pour générer un rapport, ouvrez le menu
Moniteur , sélectionnez
Modèles de rapport et cliquez sur le bouton Générer à droite du rapport souhaité. Laissez le champ de filtrage vide pour inclure toutes les données dans le rapport, ou entrez quelque chose pour limiter les résultats. Par exemple, si seuls les hôtes RHEL 8 doivent être affichés dans le rapport Hôtes enregistrés, spécifiez le filtre
os = RedHat et os_major = 8 , comme indiqué dans la capture d'écran ci-dessous:
Après avoir généré le rapport, vous pouvez le télécharger et l'ouvrir dans une feuille de calcul de type LibreOffice Calc, qui importe les données de CSV et les place dans des colonnes, par exemple, comme rapport d'
errata applicable dans la capture d'écran ci-dessous:
Veuillez noter que l'option
Par défaut est activée dans les propriétés des rapports intégrés, ils sont donc automatiquement ajoutés à toutes les nouvelles organisations et emplacements que vous créez dans Satellite.
Personnalisation des rapports intégrés
Analysons la personnalisation en utilisant le rapport d'
abonnements intégré comme exemple. Par défaut, ce rapport reflète le nombre total d'abonnements (1), ainsi que le nombre d'abonnements disponibles, c'est-à-dire gratuits (2). Nous y ajouterons une autre colonne avec le nombre d'abonnements utilisés, défini comme (1) - (2). Par exemple, si au total nous avons 50 abonnements RHEL et 10 d'entre eux sont gratuits, alors 40 abonnements sont utilisés.
Étant donné que la modification des rapports intégrés est bloquée et qu'il n'est pas recommandé de les modifier, vous devrez cloner le rapport intégré, lui donner un nouveau nom, puis modifier cette copie de clonage.
Donc, si nous voulons modifier le rapport
Abonnements , nous devons d'abord le cloner. Par conséquent, ouvrez le menu
Moniteur , sélectionnez
Modèles de rapport et sélectionnez
Cloner dans le menu déroulant à droite du modèle
Abonnements . Ensuite, nous entrons le nom du rapport de clonage (appelons cela
des abonnements personnalisés ) et ajoutons la ligne
`` Utilisé '' entre les lignes
Disponible et
Quantité : pool.quantity - pool.available, - faites attention à la virgule à la fin de la ligne. Voici à quoi cela ressemble dans la capture d'écran:
Ensuite, nous cliquons sur le bouton
Soumettre , ce qui nous ramène à la page
Modèles de rapport . Là, cliquez sur le bouton
Générer à droite du rapport d'
abonnements personnalisés que vous venez de créer. Laissez le champ de filtre Abonnements vide et cliquez sur
Soumettre . Après cela, un rapport est créé et chargé, dans lequel nous avons ajouté une colonne
Utilisé .
L'aide pour le langage Ruby intégré se trouve dans l'onglet
Aide de la fenêtre d'édition de rapport. Il donne un aperçu de la syntaxe, ainsi que des variables et méthodes disponibles.
Créez votre propre rapport
Voyons maintenant comment créer nos propres rapports en utilisant l'exemple d'un rapport Ansible-Roles affecté aux hôtes dans Satellite. Ouvrez le menu
Moniteur , cliquez
sur Modèles de rapport , puis sur le bouton
Créer un modèle . Appelez notre rapport
Ansible Roles Report et insérez-y le code ERB suivant:
<%# 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 -%>
Ce code génère un rapport par les hôtes, affichant pour eux l'attribut "all_ansible_roles".
Ensuite, allez dans l'onglet
Entrées et cliquez sur le bouton
+ Ajouter une entrée . Nous disons que le nom est des
hôtes et que le type de description est
Filtrer par les hôtes (facultatif) . Cliquez ensuite sur
Soumettre , puis sur le bouton
Générer à droite du rapport que vous venez de créer. Ensuite, vous pouvez définir le filtre d'hôte ou cliquer sur
Soumettre immédiatement pour générer un rapport pour tous les hôtes. Le rapport généré ressemblera à ceci dans LibreOffice Calc:
Rapports HTML
Satellite Reporting Engine vous permet de générer des rapports non seulement au format CSV. Par exemple, nous allons créer notre propre rapport basé sur le rapport intégré Host
Statuses , mais uniquement sous la forme d'un tableau HTML avec des cellules de couleur en fonction du statut. Pour ce faire, nous
clonons les statuts d'hôte , puis remplaçons son code ERB par ce qui suit:
<!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>
Ce rapport génère du HTML qui ressemblera à ceci dans le navigateur:
Exécution de rapports à partir de la ligne de commande
La commande
hammer est utilisée pour exécuter le rapport à partir de la ligne de commande et l'utilitaire cron automatise ce processus.
Utilisez la commande hammer report-template generate —name "", par exemple:
# hammer report-template generate —name "Host statuses HTML"
Le contenu du rapport sera affiché sur la console. Les informations peuvent être redirigées vers un fichier, puis configurer cron afin qu'il exécute un script shell pour générer un rapport et l'envoyer par e-mail. Le format HTML est parfaitement affiché dans les clients de messagerie, ce qui vous permet d'organiser la livraison régulière de rapports aux parties intéressées sous une forme pratique pour la perception.
Ainsi, le moteur de génération de rapports de Satellite 6.5 est un outil puissant pour exporter des données importantes que les entreprises possèdent dans Satellite. Il est très flexible et vous permet d'utiliser à la fois des rapports intégrés et leurs versions révisées. De plus, les utilisateurs peuvent créer leurs propres rapports à partir de zéro. Les détails sur le Satellite Reporting Engine sont disponibles dans notre vidéo YouTube.
Le 9 juillet à 11h00, heure de Moscou ne manquez pas le webinaire sur la nouvelle version de Red Hat Enterprise Linux 8Notre conférencier est Aram Kananov, responsable du développement de la plateforme et des systèmes de gestion Red Hat pour l'Europe, le Moyen-Orient et l'Afrique. Le travail d'Aram chez Red Hat comprend une analyse complète du marché, de l'industrie et des concurrents, ainsi que le positionnement et le marketing des produits pour l'unité commerciale de la plate-forme, qui comprend la gestion du cycle de vie complet du produit entier, de la mise en œuvre à l'utilisation finale.