Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

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. Satelita pozwala użytkownikom dostosowywać i aktualizować systemy, aby zapewnić ich wydajne i bezpieczne działanie zgodnie z różnymi standardami. Automatyzując większość zadań związanych z utrzymaniem dobrego stanu systemu, Satellite pomaga organizacjom zwiększyć wydajność, obniżyć koszty operacyjne i lepiej reagować na strategiczne potrzeby biznesowe.

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Chociaż możesz wykonywać podstawowe zadania administracyjne, korzystając z usług Red Hat objętych subskrypcją Red Hat Enterprise Linux, Red Hat Satellite oferuje rozbudowane możliwości zarządzania cyklem życia.

Wśród tych możliwości:

  • Instalowanie poprawek;
  • Zarządzanie subskrypcjami;
  • Inicjalizacja;
  • Zarządzanie konfiguracją.

Za pomocą jednej konsoli możesz zarządzać tysiącami systemów równie łatwo jak jedną, zwiększając dostępność, niezawodność i możliwości audytu systemu.

A teraz mamy nowy Red Hat Satellite 6.5!

Jedną z fajnych rzeczy, które pojawią się w Red Hat Satellite 6.5, jest nowy silnik raportowania.

Serwer satelitarny jest często centrum wszystkich informacji o systemach korporacyjnych Red Hat, a ten najnowszy silnik umożliwia tworzenie i eksportowanie raportów zawierających informacje o hostach satelitów klientów, subskrypcjach oprogramowania, obowiązujących erratach itp. Raporty programuje się w Embedded Ruby (ERB).

W programie Satellite 6.5 dostępne są gotowe raporty, a silnik umożliwia użytkownikom dostosowywanie tych raportów lub tworzenie własnych. Wbudowane raporty w Satellite 6.5 są generowane w formacie CSV, ale w tym poście pokażemy, jak możesz generować raporty również w formacie HTML.

Wbudowane raporty programu Satellite 6.5

Satelita 6.5 zawiera cztery wbudowane raporty:

  • Obowiązująca errata – lista defektów oprogramowania (errata), które należy wyeliminować na hostach treści (opcjonalnie filtrowana po hostach lub defektach);
  • Statusy hostów – raport o stanie hostów satelitarnych (opcjonalnie filtrowany po hostach);
  • Zarejestrowani gospodarze – informacje o hostach satelitarnych: adres IP, wersja systemu operacyjnego, subskrypcje oprogramowania (opcjonalnie filtrowane według hosta);
  • Subskrypcje – informacje o subskrypcjach oprogramowania: całkowita liczba subskrypcji, liczba bezpłatnych, kody SKU (opcjonalnie filtrowane po parametrach subskrypcji).

Aby wygenerować raport należy otworzyć menu monitorwybierać Szablony raportów i kliknij przycisk Generuj po prawej stronie żądanego raportu. Pozostaw pole filtru puste, aby uwzględnić w raporcie wszystkie dane, lub wpisz coś, aby zawęzić wyniki. Na przykład, jeśli chcesz, aby raport Zarejestrowane hosty pokazywał tylko hosty RHEL 8, określ filtr os = RedHat i os_major = 8, jak pokazano na zrzucie ekranu poniżej:

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Po wygenerowaniu raportu możesz go pobrać i otworzyć w arkuszu kalkulacyjnym, takim jak LibreOffice Calc, który zaimportuje dane z pliku CSV i uporządkuje je w kolumny, na przykład jako raport Obowiązująca errata na ekranie poniżej:

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Należy pamiętać, że we właściwościach wbudowanych raportów opcja jest włączona Domyślnie (Domyślnie), więc są one automatycznie dodawane do wszystkich nowych organizacji i lokalizacji tworzonych w programie Satellite.

Personalizacja wbudowanych raportów

Przyjrzyjmy się personalizacji na przykładzie wbudowanego raportu Subskrypcje. Domyślnie raport ten pokazuje całkowitą liczbę subskrypcji (1), a także liczbę dostępnych, czyli bezpłatnych subskrypcji (2). Dodamy do niego kolejną kolumnę z liczbą wykorzystanych subskrypcji, którą definiujemy jako (1) – (2). Przykładowo, jeśli mamy w sumie 50 subskrypcji RHEL i 10 z nich jest bezpłatnych, wówczas wykorzystywanych jest 40 subskrypcji.

Ponieważ edytowanie wbudowanych raportów jest zablokowane i nie zaleca się ich zmieniania, konieczne będzie sklonowanie wbudowanego raportu, nadanie mu nowej nazwy, a następnie zmodyfikowanie tej sklonowanej kopii.

Jeśli więc chcemy zmodyfikować raport Subskrypcje, to należy go najpierw sklonować. Otwórzmy więc menu monitor, wybierz Szablony raportów oraz w menu rozwijanym po prawej stronie szablonu Subskrypcje wybierać Clone. Następnie wprowadź nazwę raportu klonowania (nazwijmy to Niestandardowe subskrypcje) i między wierszami Dostępny и Ilość dodaj do niego linię „Używane”: pula.ilość - pula.dostępna, – zwróć uwagę na przecinek na końcu wiersza. Tak to wygląda na zrzucie ekranu:

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Następnie wciskamy przycisk Prześlijco prowadzi nas z powrotem na stronę Szablony raportów. Tam klikamy przycisk Generuj swój po prawej stronie nowo utworzonego raportu Niestandardowe subskrypcje. Pozostaw pole Filtr subskrypcji puste i kliknij Prześlij. Po czym tworzony i ładowany jest raport zawierający dodaną przez nas kolumnę Używany.

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Pomoc dotycząca wbudowanego języka Ruby znajduje się na zakładce Pomoc w oknie edycji raportu. Zawiera przegląd składni oraz dostępnych zmiennych i metod.

Stwórz własny raport

Przyjrzyjmy się teraz tworzeniu własnych raportów na przykładzie raportu dotyczącego ról Ansible przypisanych do hostów w Satelita. Otwórz menu monitor, Kliknij Szablony raportów a następnie naciśnij przycisk Utwórz szablon. Nazwijmy nasz raport Raport ról Ansible i wstaw do niego następujący kod ERB:

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

Ten kod generuje raport o hostach, wyświetlając dla nich atrybut „all_ansible_roles”.

Następnie przejdź do zakładki Wejścia i kliknij przycisk + Dodaj dane wejściowe. Mówimy, że imię jest równe gospodarzei typ opisu – Filtruj według hostów (opcjonalnie). Następnie kliknij Prześlij a następnie naciśnij przycisk Generuj swój po prawej stronie nowo utworzonego raportu. Następnie możesz ustawić filtr hosta lub od razu kliknąć Prześlijaby wygenerować raport na temat wszystkich hostów. Wygenerowany raport będzie wyglądał mniej więcej tak w LibreOffice Calc:

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Generowanie raportów HTML

Silnik raportowania satelitarnego umożliwia generowanie raportów nie tylko w formacie CSV. Jako przykład utworzymy raport niestandardowy na podstawie wbudowanego raportu Hosta Statusy, ale tylko jako tabela HTML z komórkami oznaczonymi kolorami w zależności od stanu. W tym celu klonujemy Statusy gospodarzy, a następnie zastąp jego kod ERB następującym kodem:

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

Ten raport generuje kod HTML, który będzie wyglądał mniej więcej tak w przeglądarce:

Silnik raportowania w programie Satellite 6.5: co to jest i dlaczego

Uruchamianie raportów z wiersza poleceń

Aby uruchomić raport z wiersza poleceń, użyj polecenia młotek, a narzędzie cron pozwala zautomatyzować ten proces.

Użyj komendy Hammer Report-template generate --name "", na przykład:

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

Zawartość raportu zostanie odzwierciedlona na konsoli. Informacje można przekierować do pliku, a następnie skonfigurować cron tak, aby uruchomił skrypt powłoki w celu wygenerowania raportu i przesłania go e-mailem. Format HTML doskonale wyświetla się w klientach pocztowych, co pozwala na regularne dostarczanie raportów zainteresowanym podmiotom w czytelnej formie.

Zatem silnik raportowania w programie Satellite 6.5 jest potężnym narzędziem do eksportowania ważnych danych, które firmy posiadają w programie Satellite. Jest bardzo elastyczny i pozwala na wykorzystanie zarówno raportów wbudowanych, jak i ich zmodyfikowanych wersji. Dodatkowo użytkownicy mogą tworzyć od podstaw własne raporty. Dowiedz się więcej o silniku raportowania satelitarnego z naszego filmu na YouTube.

Nie przegap webinaru na temat nowej wersji Red Hat Enterprise Linux 9, który odbędzie się 11 lipca o godzinie 00:8 czasu moskiewskiego

Naszym prelegentem jest Aram Kananov, menadżer działu rozwoju platform i systemów zarządzania w firmie Red Hat na Europę, Bliski Wschód i Afrykę. Praca Arama w Red Hat obejmuje wszechstronną analizę rynku, branży i konkurencji, a także pozycjonowanie produktów i marketing dla jednostki biznesowej Platforms, co obejmuje zarządzanie całym cyklem życia produktu od wprowadzenia do końca życia.

Źródło: www.habr.com

Dodaj komentarz