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, абонаменти за софтуер, както и приложими грешки (applicable errata) и т.н. Отчетите се програмират на вградения Ruby език (ERB).
Satellite 6.5 идва с готови отчети, а механизмът дава на потребителите възможност да персонализират тези отчети или да създават свои собствени. Вградените отчети на Satellite 6.5 се генерират в CSV формат, но в тази публикация ще покажем как можете да създавате отчети и във HTML формат.
Вградени отчети на Satellite 6.5
Satellite 6.5 включва четири вградени отчета:
- Приложими грешки – списък на софтуерните дефекти (errata), подлежащи на отстраняване на content-хостовете (опционално филтрирано по хостове или дефекти);
- Статуси на хостове – отчет за състоянието на хостовете на Satellite (опционално филтрирано по хостове);
- Регистрирани хостове – информация за хостовете на Satellite: IP адрес, версия на ОС, абонаменти за софтуер (опционално филтрирано по хостове);
- Абонаменти – информация за абонаменти за софтуер: общ брой абонаменти, брой свободни, SKU-кодове (по желание филтрирано по параметри на абонаментите).
За да генерирате отчет, отворете менюто Монитор, изберете Шаблони за отчети и натиснете бутона Генерирай вдясно от необходимия отчет. Оставете полето за филтриране празно, за да включите всички данни в отчета, или въведете нещо там, за да ограничите резултатите. Например, ако в отчета Регистрирани хостове трябва да се показват само хостове RHEL 8, посочете филтъра os = RedHat and os_major = 8, както е показано на екрана по-долу:

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

Обърнете внимание, че в свойствата на вградените отчети е активирана опцията По подразбиране (По подразбиране), така че те автоматично се добавят към всички нови организации и места (locations), които създавате в 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, а типът на описание е – Филтрирай по хостове (по избор). След това кликваме Изпрати и след това натискаме бутона Генерирай вдясно от току-що създадения отчет. Можем да зададем филтър за хостовете или веднага да натиснем Изпрати, за да генерираме отчет за всички хостове. Генерираният отчет ще изглежда в 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
