紅帽衛星是一種系統管理解決方案,可輕鬆跨實體、虛擬和雲端環境部署、擴展和管理紅帽基礎架構。 衛星允許用戶自訂和更新系統,以確保它們按照各種標準高效、安全地運作。 透過自動化大多數與維護系統健康相關的任務,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 在紅帽的工作包括全面的市場、行業和競爭對手分析,以及平台業務部門的產品定位和行銷,其中包括管理從推出到停產的整個產品生命週期。
來源: www.habr.com