Red Hat Satellite to rozwiązanie do zarządzania systemem, które ułatwia wdrażanie, skalowanie i zarządzanie infrastrukturą Red Hat w środowiskach fizycznych, wirtualnych i chmurowych. Satellite pozwala użytkownikom na konfigurowanie i aktualizowanie systemów, aby zapewnić ich efektywne i bezpieczne działanie zgodnie z różnorodnymi standardami. Automatyzując większość zadań związanych z utrzymywaniem sprawności systemu, Satellite pomaga organizacjom zwiększyć efektywność, obniżyć koszty operacyjne i lepiej reagować na strategiczne potrzeby biznesowe.

Choć można wykonywać podstawowe zadania administracyjne za pomocą usług Red Hat dostarczanych w ramach subskrypcji Red Hat Enterprise Linux, Red Hat Satellite dodaje szerokie możliwości zarządzania całym cyklem życia.
Wśród tych możliwości znajdują się:
- Instalacja poprawek;
- Zarządzanie subskrypcją;
- Inicjalizacja;
- Zarządzanie konfiguracją.
Z jednej konsoli możesz zarządzać tysiącami systemów tak samo łatwo, jak jednym, co zwiększa dostępność, niezawodność i oferuje możliwości audytu systemu.
A teraz mamy nowego Red Hat Satellite 6.5!
Jedną z fajnych rzeczy, które pojawiły się w Red Hat Satellite 6.5, jest nowy silnik raportowania.
Satellite Server często pełni rolę centrum, do którego spływa cała informacja o korporacyjnych systemach Red Hat, a ten najnowszy silnik pozwala na tworzenie i eksportowanie raportów zawierających informacje o klientów hostach Satellite, subskrypcjach oprogramowania oraz dotyczących usunięcia usterek programowych (applicable errata) i tym podobnych. Raporty są programowane w wbudowanym języku Ruby (ERB).
Satellite 6.5 zawiera już gotowe raporty, a silnik daje użytkownikom możliwość dostosowywania tych raportów lub tworzenia własnych. Wbudowane raporty Satellite 6.5 generowane są w formacie CSV, jednak w tym poście pokażemy, jak można tworzyć raporty również w formacie HTML.
Wbudowane raporty Satellite 6.5
Satellite 6.5 obejmuje cztery wbudowane raporty:
- Applicable errata – lista usterek programowych (errata) do usunięcia na hostach z treścią (opcjonalnie filtrowane według hostów lub usterek);
- Host statuses – raport o stanie hostów Satellite (opcjonalnie filtrowane według hostów);
- Registered hosts – informacje o hostach Satellite: adres IP, wersja systemu operacyjnego, subskrypcje oprogramowania (opcjonalnie filtrowane według hostów);
- Subskrypcje – informacje o subskrypcjach oprogramowania: całkowita liczba subskrypcji, liczba dostępnych, kody SKU (opcjonalnie filtrowane według parametrów subskrypcji).
Aby utworzyć raport, otwórz menu Monitor, wybierz Szablony raportów i kliknij przycisk Generuj po prawej stronie odpowiedniego raportu. Pozostaw pole filtracji puste, aby uwzględnić w raporcie wszystkie dane, lub wpisz coś, aby ograniczyć wyniki. Na przykład, jeśli w raporcie Zarejestrowani hostowie mają być wyświetlane tylko hosty RHEL 8, wprowadź filtr os = RedHat i os_major = 8, jak pokazano na zrzucie ekranu poniżej:

Po utworzeniu raportu można go pobrać i otworzyć w arkuszu kalkulacyjnym, takim jak LibreOffice Calc, który importuje dane z CSV i rozmieszcza je w kolumnach, na przykład, jak raport Applicable errata na poniższym zrzucie ekranu:

Zauważ, że w właściwościach wbudowanych raportów włączona jest opcja Domyślnie (Domyślnie), dlatego są one automatycznie dodawane do wszystkich nowych organizacji i lokalizacji, które tworzysz w Satellite.
Dostosowywanie wbudowanych raportów
Rozważmy dostosowywanie na przykładzie wbudowanego raportu Subskrypcje. Domyślnie raport ten wskazuje całkowitą liczbę subskrypcji (1), a także liczbę dostępnych, czyli wolnych subskrypcji (2). Dodamy do niego jeszcze jedną kolumnę z liczbą używanych subskrypcji, która jest określona jako (1) – (2). Na przykład, jeśli mamy łącznie 50 subskrypcji RHEL i 10 z nich jest wolnych, to wtedy używane są 40 subskrypcji.
Ponieważ edytowanie wbudowanych raportów jest zablokowane i nie zaleca się ich zmiany, będzie trzeba sklonować wbudowany raport, nadać mu nową nazwę, a następnie zmodyfikować tę kopię.
Zatem, jeśli chcemy zmodyfikować raport Subskrypcje, najpierw musimy go sklonować. Dlatego otwieramy menu Monitor, wybieramy Szablony raportów i w rozwijanym menu po prawej stronie szablonu Subskrypcje wybieramy Klonuj. Następnie wprowadzamy nazwę raportu-kopii (nazwiemy go Subskrypcje niestandardowe) i między kolumnami Dostępne i Ilość dodajemy do niego wiersz ‘Używane’: pool.quantity — pool.available, – zwróć uwagę na przecinek na końcu wiersza. Oto jak to wygląda na zrzucie ekranu:

Następnie klikamy przycisk Wyślij, co przenosi nas do strony Szablony raportów. Tam naciskamy przycisk Generuj po prawej stronie właśnie utworzonego raportu Subskrypcje niestandardowe. Pole Filtr subskrypcji pozostawiamy puste i klikamy Wyślij. Po tym tworzony i wczytywany jest raport, w którym dodana przez nas kolumna Używane.

Dokumentacja wbudowanego języka Ruby znajduje się na zakładce Pomoc w oknie edytowania raportu. Zawiera przegląd składni oraz dostępnych zmiennych i metod.
Tworzenie własnego raportu
Teraz przyjrzyjmy się tworzeniu własnych raportów na przykładzie raportu dotyczącego ról Ansible przypisanych hostom w Satellite. Otwieramy menu Monitor, klikamy Szablony raportów i następnie naciskamy przycisk Create Template. Nazwiemy nasz raport Raport ról Ansible i wstawimy do niego następujący kod ERB:
Ten kod generuje raport dotyczący hostów, wyświetlając dla nich atrybut „all_ansible_roles”.
Następnie przechodzimy do zakładki Inputs i klikamy przycisk + Dodaj wejście. Mówimy, że name równa się hosts, a typ opisu to – Filtruj według hostów (opcjonalnie). Następnie klikamy Wyślij i następnie naciskamy przycisk Generuj po prawej stronie właśnie stworzonego raportu. Potem można ustawić filtr hostów lub od razu nacisnąć Wyślij, aby wygenerować raport dla wszystkich hostów. Wygenerowany raport będzie wyglądał w LibreOffice Calc mniej więcej tak:

Tworzenie raportów HTML
Silnik raportów Satellite pozwala generować raporty nie tylko w formacie CSV. Jako przykład stworzymy własny raport na podstawie wbudowanego raportu Host Statuses, ale tylko w postaci tabeli HTML z kolorowym kodowaniem komórek na podstawie statusu. W tym celu klonujemy Statusy hosta, a następnie zastępujemy jego kod ERB na następujący:
<!DOCTYPE html>
<html>
<head>
<title>Statusy hosta</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> Nazwa hosta </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"> Ostrzeżenie </td>
<% else -%>
<td class="red"> Błąd (<%= 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"> Ostrzeżenie </td>
<% else -%>
<td class="red"> Błąd (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
Ten raport generuje HTML, który będzie wyglądał w przeglądarce mniej więcej tak:
![]()
Uruchamianie raportów z linii poleceń
Aby uruchomić raport z linii poleceń, używa się polecenia hammer, a narzędzie cron pozwala zautomatyzować ten proces.
Użyj polecenia hammer report-template generate —name „”, na przykład:
# hammer report-template generate —name "Host statuses HTML"
Zawartość raportu będzie odzwierciedlona na konsoli. Informacje można przekierować do pliku, po czym skonfigurować cron, aby uruchamiał skrypt powłoki do formowania raportu i wysyłał go e-mailem. Format HTML doskonale wyświetla się w klientach pocztowych, co pozwala na regularne dostarczanie raportów zainteresowanym stronom w przystępnej formie.
Silnik raportów w Satellite 6.5 to potężne narzędzie do eksportowania ważnych danych dostępnych dla firm w Satellite. Jest bardzo elastyczny i umożliwia korzystanie zarówno z wbudowanych raportów, jak i ich zmodyfikowanych wersji. Ponadto użytkownicy mogą tworzyć własne raporty od podstaw. Szczegóły dotyczące Silnika Raportowania Satellite są dostępne w naszym filmie na YouTube.
Naszym prelegentem jest Aram Kananon, menedżer działu rozwoju platform i systemów zarządzania Red Hat w Europie, na Bliskim Wschodzie i w Afryce. Praca Arama w Red Hat obejmuje dokładną analizę rynku, branży i konkurencji, a także pozycjonowanie i marketing produktów dla działu biznesowego platform, co obejmuje zarządzanie całym cyklem życia produktów od wdrożenia do zakończenia użytkowania.
Źródło: habr.com
