红帽卫星是一种系统管理解决方案,可以轻松跨物理、虚拟和云环境部署、扩展和管理红帽基础设施。 卫星允许用户定制和更新系统,以确保它们按照各种标准高效、安全地运行。 通过自动化大多数与维护系统健康相关的任务,Satellite 可以帮助组织提高效率、降低运营成本并更好地响应战略业务需求。
虽然您可以使用红帽企业 Linux 订阅中包含的红帽服务执行基本管理任务,但红帽卫星还添加了广泛的生命周期管理功能。
这些可能性包括:
- 安装补丁;
- 订阅管理;
- 初始化;
- 配置管理。
通过一个控制台,您可以像管理一个系统一样轻松地管理数千个系统,从而提高可用性、可靠性和系统审核功能。
现在我们有了新的红帽卫星 6.5!
红帽卫星 6.5 带来的最酷的功能之一是新的报告引擎。
Satellite Server 通常是有关红帽企业系统的所有信息的中心,这个最新的引擎允许您创建和导出包含有关客户端 Satellite 主机、软件订阅、适用勘误表等信息的报告。 报告使用嵌入式 Ruby (ERB) 进行编程。
Satellite 6.5 附带现成的报告,该引擎使用户能够自定义这些报告或创建自己的报告。 Satellite 6.5 的内置报告以 CSV 格式生成,但在这篇文章中我们将展示如何生成 HTML 格式的报告。
卫星 6.5 内置报告
Satellite 6.5 包括四个内置报告:
- 适用勘误表 – 内容主机上必须消除的软件缺陷列表(勘误表)(可选地按主机或缺陷进行过滤);
- 主机状态 – 报告卫星主机的状态(可选地按主机过滤);
- 注册主机 – 有关卫星主机的信息:IP 地址、操作系统版本、软件订阅(可选地按主机过滤);
- 会员充值 – 有关软件订阅的信息:订阅总数、免费数量、SKU 代码(可选地按订阅参数过滤)。
要生成报告,请打开菜单 显示器选择 报告模板 并单击所需报告右侧的“生成”按钮。 将过滤器字段留空以包含报告中的所有数据,或在其中输入某些内容以限制结果。 例如,如果您希望“已注册主机”报告仅显示 RHEL 8 主机,则指定一个过滤器 os = RedHat 且 os_major = 8,如下图所示:
生成报告后,您可以下载它并在 LibreOffice Calc 等电子表格中打开它,该电子表格将从 CSV 导入数据并将其组织成列,例如作为报告 适用勘误表 在下面的屏幕上:
请注意,在内置报告的属性中,该选项已启用 默认情况下, (默认),因此它们会自动添加到您在 Satellite 中创建的所有新组织和位置。
自定义内置报告
让我们看看使用内置报告示例的自定义 会员充值。 默认情况下,此报告显示订阅总数 (1) 以及可用(即免费)订阅数 (2)。 我们将向其中添加另一列,其中包含所使用的订阅数量,定义为 (1) – (2)。 例如,如果我们总共有 50 个 RHEL 订阅,其中 10 个是免费的,则使用 40 个订阅。
由于编辑内置报告已被锁定,并且不建议更改它们,因此您必须克隆内置报告,为其指定新名称,然后修改此克隆副本。
所以,如果我们想修改报告 会员充值,那么它必须首先被克隆。 那么我们打开菜单 显示器,选择 报告模板 并在模板右侧的下拉菜单中 会员充值 选择 克隆。 然后输入克隆报告的名称(我们称之为 自定义订阅)和两行之间 可提供 и 数量 添加该行 '已使用': pool.quantity - pool.available, – 注意行尾的逗号。 这是屏幕截图中的样子:
然后我们按下按钮 提交这让我们回到了页面 报告模板。 我们点击按钮 产生 在新创建的报告的右侧 自定义订阅。 将订阅过滤器字段留空并单击 提交。 之后创建并加载一个报告,其中包含我们添加的列 旧.
内置 Ruby 语言的帮助位于选项卡上 政策和帮助 在报告编辑窗口中。 它提供了语法以及可用变量和方法的概述。
创建您自己的报告
现在,让我们看看使用分配给 Satellite 中主机的 Ansible 角色的报告示例来创建我们自己的报告。 打开菜单 显示器, 点击 报告模板 然后按下按钮 建立范本。 让我们打电话给我们的报告 Ansible 角色报告 并将以下 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”属性。
然后转到选项卡 输入 然后单击按钮 + 添加输入。 我们说名字等于 为了和描述类型 – 按主机过滤(可选)。 然后点击 提交 然后按下按钮 产生 在新创建的报告的右侧。 接下来,您可以设置主机过滤器或立即单击 提交生成有关所有主机的报告。 生成的报告在 LibreOffice Calc 中将如下所示:
生成 HTML 报告
卫星报告引擎不仅允许您生成 CSV 格式的报告。 例如,我们将根据内置主机报告创建自定义报告 状态,但仅作为 HTML 表格,其中单元格根据状态进行颜色编码。 为此,我们克隆 主机状态,然后将其 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 在浏览器中看起来如下所示:
从命令行运行报告
要从命令行运行报告,请使用以下命令 锤,并且 cron 实用程序允许您自动执行此过程。
使用hammerreport-templategenerate--name“”命令,例如:
# hammer report-template generate —name "Host statuses HTML"
报告的内容将反映在控制台上。 可以将信息重定向到文件,然后配置 cron 运行 shell 脚本来生成报告并通过电子邮件发送。 HTML 格式在电子邮件客户端中完美显示,使您能够以易于阅读的形式定期向感兴趣的各方发送报告。
因此,Satellite 6.5 中的报告引擎是导出公司在 Satellite 中拥有的重要数据的强大工具。 它非常灵活,允许您使用内置报告及其修改版本。 此外,用户可以从头开始创建自己的报告。 在我们的 YouTube 视频中了解有关卫星报告引擎的更多信息。
我们的演讲者是红帽欧洲、中东和非洲平台和管理系统开发部门经理 Aram Kananov。 Aram 在红帽的工作包括全面的市场、行业和竞争对手分析,以及平台业务部门的产品定位和营销,其中包括管理从推出到停产的整个产品生命周期。
来源: habr.com