Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

Хотя вы можете выполнять основные административные задачи с помощью служб 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-адрес, версия ОС, подписки на ПО (опционально фильтруется по хостам);
  • жазылуулар – сведения о подписках на ПО: общее число подписок, количество свободных, SKU-коды (опционально фильтруется по параметрам подписок).

Чтобы сформировать отчет, откройте меню ченөөтандоо Отчеттун калыптары и нажмите кнопку Generate справа от нужного отчета. Оставьте поле фильтрации пустым, чтобы включить в отчет все данные, или введите туда что-нибудь, чтобы ограничить результаты. Например, если в отчете Registered Hosts должны отображаться только хосты RHEL 8, то укажите фильтр os = RedHat and os_major = 8, төмөндөгү скриншотто көрсөтүлгөндөй:

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

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

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

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

Итак, если мы хотим модифицировать отчет жазылуулар, то его сначала надо клонировать. Поэтому открываем меню ченөө, Мен тандайм Отчеттун калыптары и в раскрывающемся меню справа от шаблона жазылуулар тандап алуу Clone. Затем вводим имя клон-отчета (назовем его Custom Subscriptions) и между строками жеткиликтүү и сан добавляем в него строку ‘Used’: pool.quantity — pool.available, – обратите внимание на запятую в конце строки. Вот как это выглядит на скриншоте:

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

Андан кийин биз баскычты басабыз баш ийүү, что возвращает нас страницу Отчеттун калыптары. Там щелкаем кнопку чыгаруу справа от только что созданного отчета Custom Subscriptions. Поле Subscriptions filter оставляем пустым и щелкаем баш ийүү. После чего создается и загружается отчет, в котором есть добавленный нами столбец колдонулган.

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

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

Теперь рассмотрим создание собственных отчетов на примере отчета по Ansible-ролям, назначенным хостам в Satellite. Открываем меню ченөө, щелкаем Отчеттун калыптары и затем нажимаем кнопку Үлгү түзүү. Назовем наш отчет 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».

Андан кийин өтмөккө өтүңүз Inputs и щелкаем кнопку + Add Input. Говорим, что name равен өтүүдө, а description type – Filter by hosts (optional). Затем щелкаем баш ийүү и затем нажимаем кнопку чыгаруу справа от только что созданного отчета. Дальше можно задать фильтр хостов или сразу нажать баш ийүү, чтобы сформировать отчет по всем хостам. Сгенерированный отчет будет выглядеть в LibreOffice Calc примерно так:

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

Движок отчетов Satellite позволяет генерировать отчеты не только в формате CSV. В качестве примера мы создадим собственный отчет на основе встроенного отчета Host Статустар, но только в виде 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, который будет выглядеть в браузере примерно так:

Satellite 6.5деги отчеттук кыймылдаткыч: Бул эмне жана эмне үчүн

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

Для запуска отчета из командной строки используется команда балка, а утилита 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 включает в себя всесторонний анализ рынка, индустрии и конкурентов, а также позиционирование и маркетинг продуктов для бизнес-подразделения платформ, что включает в себя управление всем жизненным циклом всей продукта от внедрения до окончания использования.

Source: www.habr.com

Комментарий кошуу