Red Hat Satellite是一种系统管理解决方案,可以轻松地在物理,虚拟和云环境中部署,扩展和管理Red Hat基础架构。 卫星允许用户调整和更新系统,以确保根据各种标准进行有效,安全的操作。 通过自动执行与维护系统性能相关的大多数任务,Satellite可帮助组织提高效率,降低运营成本并更轻松地响应战略业务请求。

尽管您可以使用Red Hat Enterprise Linux订阅中随附的Red Hat服务执行基本的管理任务,但是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内置报告
卫星6.5包含四个内置报告:
- 适用的勘误表 -内容主机上要修复的软件缺陷列表(勘误表)(可选地由主机或缺陷过滤掉);
- 主机状态 -报告从属主机的状态(可选地由主机过滤);
- 已注册的主机 -有关从属主机的信息:IP地址,操作系统版本,软件订阅(可选地由主机过滤);
- 订阅 -有关软件订阅的信息:订阅总数,免费订阅数,SKU代码(可选地按订阅参数过滤)。
要生成报告,请打开“
监视器”菜单,选择
“报告模板” ,然后单击所需报告右侧的“生成”按钮。 将过滤字段保留为空白以包括报告中的所有数据,或在其中输入内容以限制结果。 例如,如果仅RHEL 8主机应显示在“已注册的主机”报告中,则指定过滤器
os = RedHat和os_major = 8 ,如以下屏幕截图所示:
生成报告后,您可以下载它并在LibreOffice Calc类型的电子表格中打开它,该电子表格从CSV导入数据并将其放在列中,例如,如以下屏幕快照中的“
适用勘误”报告:
请注意,嵌入式报表的属性中启用了“
默认”选项,因此它们会自动添加到您在Satellite中创建的所有新组织和位置。
定制嵌入式报告
让我们以内置的“
订阅”报告为例来分析定制。 默认情况下,此报告反映订阅的总数(1)以及可用订阅(即免费订阅)的数量(2)。 我们将在其上添加另一列,其中包含所使用的订阅数,其定义为(1)-(2)。 例如,如果总共有50个RHEL订阅,其中10个是免费的,则使用40个订阅。
由于禁止编辑嵌入式报告,因此不建议对其进行更改,因此,您必须克隆嵌入式报告,为其命名,然后修改此克隆副本。
因此,如果要修改“
订阅”报告,则必须首先克隆它。 因此,打开“
监视器”菜单,选择
“报告模板”,然后在“
订阅”模板右侧的下拉菜单中选择“
克隆” 。 然后我们输入克隆报告的名称(我们称其为
Custom Subscriptions ),并在
Available和
Quantity行之间添加
“ Used”行
:pool.quantity-pool.available, -注意该行末尾的逗号。 这是屏幕快照中的外观:
然后,单击“
提交”按钮,这将使我们返回“
报告模板”页面。 在此处,单击刚刚创建的“
自定义订阅”报告右侧的“
生成”按钮。 将“订阅”过滤器字段保留为空白,然后单击“
提交” 。 此后,将创建并加载报告,其中我们添加了“已
用”列。
嵌入式Ruby语言的
帮助位于报告编辑窗口的“
帮助”选项卡上。 它概述了语法以及可用的变量和方法。
创建自己的报告
现在,让我们看一下分配给Satellite中主机的Ansible-Roles报告示例创建自己的报告。 打开“
监视器”菜单,单击
“报告模板” ,然后单击“
创建模板”按钮。 调用我们的报告
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”。
然后转到
输入选项卡,然后单击
+添加输入按钮。 我们说名称为
hosts ,描述类型为
Filter by hosts(可选) 。 然后单击
提交 ,然后单击刚刚创建的报告右侧的
生成按钮。 接下来,您可以设置主机过滤器,或单击立即提交以为所有主机生成报告。 生成的报告在LibreOffice Calc中将如下所示:
HTML报告
卫星报告引擎使您不仅可以生成CSV格式的报告。 例如,我们将基于集成的“主机
状态”报告创建自己的报告,但仅以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在浏览器中将如下所示:
从命令行运行报告
Hammer命令用于从命令行运行报告,而cron实用程序可自动执行此过程。
使用锤子报告模板生成“名称”命令,例如:
# hammer report-template generate —name "Host statuses HTML"
报告的内容将显示在控制台上。 可以将信息重定向到文件,然后设置cron,以便它运行Shell脚本以生成报告并通过电子邮件发送。 HTML格式完美地显示在电子邮件客户端中,它使您能够以方便的形式组织定期向感兴趣的各方发送报告,以便于感知。
因此,Satellite 6.5中的报告引擎是用于导出公司在Satellite中拥有的重要数据的强大工具。 它非常灵活,可让您使用内置报告及其修订版。 此外,用户可以从头开始创建自己的报告。 有关卫星报告引擎的详细信息,请参见我们的YouTube视频。
7月9日在莫斯科时间11:00不要错过有关新版本Red Hat Enterprise Linux 8的网络研讨会。我们的发言人是Red Hat平台和欧洲,中东和非洲的管理系统开发经理Aram Kananov。 Aram在Red Hat的工作包括对市场,行业和竞争对手的全面分析,以及平台业务部门的产品定位和营销,其中包括管理从实施到最终使用的整个产品的整个生命周期。