Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

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

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Хотя вы можете выполнять основные административные задачи с помощью служб 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 включает в себя четыре встроенных отчета:

  • Applicable errata – перечень программных дефектов (errata), подлежащих устранению на контент-хостах (опционально фильтруется по хостам или дефектам);
  • Host statuses – отчет о состоянии хостов Satellite (опционально фильтруется по хостам);
  • Registered hosts – сведения о хостах Satellite: IP-адрес, версия ОС, подписки на ПО (опционально фильтруется по хостам);
  • ndebanye aha – сведения о подписках на ПО: общее число подписок, количество свободных, SKU-коды (опционально фильтруется по параметрам подписок).

Чтобы сформировать отчет, откройте меню Nyochaa, họrọ Ndebiri mkpesa и нажмите кнопку Generate справа от нужного отчета. Оставьте поле фильтрации пустым, чтобы включить в отчет все данные, или введите туда что-нибудь, чтобы ограничить результаты. Например, если в отчете Registered Hosts должны отображаться только хосты RHEL 8, то укажите фильтр os = RedHat and os_major = 8, dị ka egosiri na nseta ihuenyo dị n'okpuru:

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

После формирования отчета его можно скачать и открыть в электронной таблице типа LibreOffice Calc, которая импортирует данные из CSV и разнесет их по столбцам, например, как отчет Applicable errata на скрине ниже:

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Обратите внимание, что в свойствах встроенных отчетов включена опция ndabara (Default), поэтому они автоматически добавляются во все новые организации и участки (locations), которые вы создаете в Satellite.

Кастомизация встроенных отчетов

Разберем кастомизацию на примере встроенного отчета ndebanye aha. По умолчанию этот отчет отражает общее число подписок (1), а также количество доступных, то есть свободных подписок (2). Мы добавим в него еще одну колонку с количеством используемых подписок, которое определяется как (1) – (2). Например, если всего у нас 50 подписок RHEL и 10 из них свободны, то тогда используется 40 подписок.

Поскольку редактирование встроенных отчетов заблокировано и изменять их не рекомендуется, придется клонировать встроенный отчет, дать ему новое имя и затем уже модифицировать эту клон-копию.

Итак, если мы хотим модифицировать отчет ndebanye aha, то его сначала надо клонировать. Поэтому открываем меню Nyochaa, M na-ahọrọ Ndebiri mkpesa и в раскрывающемся меню справа от шаблона ndebanye aha họrọ mmepụta oyiri. Затем вводим имя клон-отчета (назовем его Custom Subscriptions) и между строками dị и ibu добавляем в него строку ‘Used’: pool.quantity — pool.available, – обратите внимание на запятую в конце строки. Вот как это выглядит на скриншоте:

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Mgbe ahụ, anyị pịa bọtịnụ Nyefere, что возвращает нас страницу Ndebiri mkpesa. Там щелкаем кнопку n'ịwa справа от только что созданного отчета Custom Subscriptions. Поле Subscriptions filter оставляем пустым и щелкаем Nyefere. После чего создается и загружается отчет, в котором есть добавленный нами столбец eji.

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Справка по встроенному языку Ruby находится на вкладке Enyemaka в окне редактирования отчета. В ней содержится обзор синтаксиса, а также доступных переменных и методов.

Создание собственного отчета

Теперь рассмотрим создание собственных отчетов на примере отчета по Ansible-ролям, назначенным хостам в Satellite. Открываем меню Nyochaa, щелкаем Ndebiri mkpesa и затем нажимаем кнопку Mepụta ndebiri. Назовем наш отчет Ansible Roles Report и вставим в него следующий 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 -%>

Этот код генерирует отчет по хостам, отображая для них атрибут «all_ansible_roles».

Mgbe ahụ gaa na taabụ ntinye и щелкаем кнопку + Add Input. Говорим, что name равен ụsụụ ndị agha, а description type – Filter by hosts (optional). Затем щелкаем Nyefere и затем нажимаем кнопку n'ịwa справа от только что созданного отчета. Дальше можно задать фильтр хостов или сразу нажать Nyefere, чтобы сформировать отчет по всем хостам. Сгенерированный отчет будет выглядеть в LibreOffice Calc примерно так:

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Создание HTML-отчетов

Движок отчетов Satellite позволяет генерировать отчеты не только в формате CSV. В качестве примера мы создадим собственный отчет на основе встроенного отчета Host Ọnọdụ, но только в виде HTML-таблицы с цветовым кодированием ячеек на основе статуса. Для этого мы клонируем Host Statuses, а затем заменяем его ERB-код на следующий:

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

Этот отчет генерирует HTML, который будет выглядеть в браузере примерно так:

Injin mkpesa na Satellite 6.5: Gịnị bụ ya na ihe kpatara ya

Запуск отчетов из командной строки

Для запуска отчета из командной строки используется команда hama, а утилита 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.

9 июля в 11:00 по Москве не пропустите вебинар про новую версию Red Hat Enterprise Linux 8

Наш докладчик – Арам Кананов, менеджер департамента разработки платформ и систем управления Red Hat в Европе, на Ближнем Востоке и в Африке. Работа Арама в Red Hat включает в себя всесторонний анализ рынка, индустрии и конкурентов, а также позиционирование и маркетинг продуктов для бизнес-подразделения платформ, что включает в себя управление всем жизненным циклом всей продукта от внедрения до окончания использования.

isi: www.habr.com

Tinye a comment