Red Hat Satellite е решение за управление, което опростява разгръщането, мащабирането и управлението на инфраструктурата на Red Hat в физически, виртуални и облачни среди. Satellite позволява на потребителите да конфигурират и актуализират системи, за да осигурят ефективната и безопасна работа в съответствие с различни стандарти. Автоматизирайки повечето задачи, свързани с поддръжката на системата, Satellite помага на организацията да повиши своята производителност, да намали оперативните разходи и да отговори по-добре на стратегическите нужди на бизнеса.

Въпреки че можете да изпълнявате основни административни задачи с помощта на услугите на Red Hat, включени в абонамента за Red Hat Enterprise Linux, Red Hat Satellite добавя широки възможности за управление на целия жизнен цикъл.
Сред тези възможности са:
- Инсталиране на пачове;
- Управление на абонамента;
- Инициализация;
- Управление на конфигурацията.
От една конзола можете да управлявате хиляди системи толкова лесно, колкото и една, което увеличава наличността, надеждността и предоставя възможности за одит на системата.
А сега имаме новия Red Hat Satellite 6.5!
Едно от страхотните неща, които се появиха в Red Hat Satellite 6.5, е новият отчетен двигател.
Satellite Server често служи като център, в който се събира всяка информация за корпоративните системи на Red Hat, и този нов двигател позволява създаването и експортирането на отчети, съдържащи информация за клиентските хостове на Satellite, софтуерните абонаменти, както и приложимите дефекти и т.н. Отчетите се програмират на вграден език Ruby (ERB).
Satellite 6.5 идва с готови отчети, а двигателят дава възможност на потребителите да персонализират тези отчети или да създадат свои собствени. Вградените отчети на Satellite 6.5 се генерират във формат CSV, но в този пост ще покажем как могат да се създават отчети и във формат HTML.
Вградените отчети на Satellite 6.5
Satellite 6.5 включва четири вградени отчета:
- Приложими дефекти – списък на софтуерните дефекти (errata), подлежащи на корекция на хостовете с съдържание (по желание се филтрира по хостове или дефекти);
- Статуси на хостовете – отчет за състоянието на хостовете на Satellite (по желание се филтрира по хостове);
- Регистрирани хостове – информация за хостовете на Satellite: IP адрес, версия на ОС, софтуерни абонаменти (по желание се филтрира по хостове);
- Абонаменти – информация за абонаментите на софту: общия брой абонаменти, количеството на свободни абонаменти, SKU кодове (може да се филтрира по параметрите на абонаментите).
За да съставите отчет, отворете менюто Монитор, изберете Шаблони на отчети и натиснете бутона Генерирай вдясно от нужния отчет. Оставете полето за филтриране празно, ако искате да включите всички данни в отчета, или въведете нещо, за да ограничите резултатите. Например, ако в отчета 'Регистрирани хостове' трябва да се показват само хостове RHEL 8, задайте филтър os = RedHat and os_major = 8, както е показано на скрийншота по-долу:

След като отчетът бъде съставен, можете да го изтеглите и да го отворите в електронна таблица като LibreOffice Calc, която импортира данните от CSV и ги разпределя по колони, например, както е отчетът Приложими дефекти на екрана по-долу:

Имайте предвид, че в свойствата на вградените отчети е активирана опцията По подразбиране (По подразбиране), поради което те автоматично се добавят във всички нови организации и локации, които създавате в Satellite.
Кастомизация на вградените отчети
Нека разгледаме кастомизацията на примера на вградения отчет Абонаменти. По подразбиране този отчет показва общия брой абонаменти (1), както и количеството на наличните, тоест свободни абонаменти (2). Ще добавим още една колона с количеството на използваните абонаменти, което се определя като (1) – (2). Например, ако имаме общо 50 абонамента RHEL и 10 от тях са свободни, то тогава се използват 40 абонамента.
Тъй като редактирането на вградените отчети е блокирано и не се препоръчва да ги променяте, ще трябва да клонирате вградения отчет, да му дадете ново име и след това да модифицирате копието.
И така, ако искаме да модифицираме отчета Абонаменти, първо трябва да го клонираме. Затова отваряме менюто Монитор, избираме Шаблони на отчети и в падащото меню вдясно от шаблона Абонаменти избираме Клониране. След това въвеждаме името на клонирания отчет (да го наречем Персонализирани абонаменти) и между редовете Налични и Количество добавяме в него ред ‘Използвани’: pool.quantity — pool.available, – обърнете внимание на запетаята в края на реда. Ето как изглежда на скрийншота:

След това натискаме бутона Изпрати, което ни връща на страницата Шаблони на отчети. Там натискаме бутона Генерирай вдясно от току-що създадения отчет Персонализирани абонаменти. Полето за филтър на абонаменти оставяме празно и щракваме Изпрати. След което се създава и изтегля отчет, в който има добавения от нас стълб Използвани.

Справката по вградения език Ruby се намира на таба Помощ в прозоре за редактиране на отчета. В него се съдържа преглед на синтаксиса, както и наличните променливи и методи.
Създаване на собствен отчет
Сега да разгледаме създаването на собствени отчети, като пример за отчет на Ansible роли, назначени на хостове в Satellite. Отваряме менюто Монитор, кликваме Шаблони на отчети и след това натискаме бутона Create Template. Нека наречем нашия отчет Ansible Roles Report и вмъкнем следния ERB код:
Този код генерира отчет за хостовете, показвайки за тях атрибута „all_ansible_roles“.
След това преминаваме на таба Inputs и кликваме бутона + Add Input. Казваме, че името е равно на hosts, а описанието тип – Filter by hosts (optional). След това кликваме Изпрати и след това натискаме бутона Генерирай отдясно на току-що създадения отчет. По-нататък можем да зададем филтър за хостове или веднага да натиснем Изпрати, за да генерираме отчет за всички хостове. Генерираният отчет ще изглежда в LibreOffice Calc по следния начин:

Създаване на HTML отчети
Двигателят за отчети на Satellite позволява генерирането на отчети не само в CSV формат. Като пример ще създадем собствен отчет на базата на вграден отчета Host Statuses, но само под формата на HTML таблица с цветово кодиране на клетките на базата на статуса. За целта клонираме Статуси на хост, а след това заменяме ERB кода с следния:
<!DOCTYPE html>
<html>
<head>
<title>Статуси на хост</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> Име на хост </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"> Предупреждение </td>
<% else -%>
<td class="red"> Грешка (<%= 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"> Предупреждение </td>
<% else -%>
<td class="red"> Грешка (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
Този отчет генерира HTML, който ще изглежда в браузъра по следния начин:
![]()
Стартиране на отчети от командния ред
За стартиране на отчет от командния ред се използва командата hammer, а утилитата cron позволява автоматизиране на този процес.
Използвайте командата hammer report-template generate —name «», например:
# hammer report-template generate —name "Host statuses HTML"
Съдържанието на отчета ще се отрази на консолата. Информацията може да бъде пренасочена в файл, след което да се настрои cron да стартира shell скрипт за генериране на отчета и да го изпрати по електронна поща. HTML форматът се визуализира отлично в пощенските клиенти, което позволява редовно доставяне на отчети на заинтересованите страни в удобна за възприемане форма.
По този начин, отчетният двигател в Satellite 6.5 е мощен инструмент за експорт на важни данни, които компаниите имат в Satellite. Той е изключително гъвкав и позволява използването както на вградените отчети, така и на техните подобрени версии. Освен това, потребителите могат да създават свои собствени отчети от нулата. Подробности за Satellite Reporting Engine са налични в нашето видео в YouTube.
Нашият докладчик е Арам Кананов, мениджър на департамента за разработка на платформи и системи за управление на Red Hat в Европа, Близкия изток и Африка. Работата на Арам в Red Hat включва цялостен анализ на пазара, индустрията и конкурентите, както и позициониране и маркетинг на продуктите за бизнес подразделението на платформите, което обхваща управлението на целия жизнен цикъл на продукта от внедряване до край на използването му.
Източник: habr.com
