Mecanismo de relatórios no Satellite 6.5: O que é e por quê

O Red Hat Satellite é uma solução de gerenciamento de sistemas que facilita a implantação, a escala e o gerenciamento da infraestrutura Red Hat em ambientes físicos, virtuais e de nuvem. O Satellite permite que os usuários personalizem e atualizem sistemas para garantir que operem de forma eficiente e segura de acordo com uma variedade de padrões. Ao automatizar a maioria das tarefas associadas à manutenção da integridade do sistema, o Satellite ajuda as organizações a aumentar a eficiência, reduzir custos operacionais e responder melhor às necessidades estratégicas de negócios.

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Embora você possa executar tarefas administrativas básicas usando os serviços Red Hat incluídos em sua assinatura do Red Hat Enterprise Linux, o Red Hat Satellite adiciona recursos abrangentes de gerenciamento de ciclo de vida.

Entre essas possibilidades:

  • Instalando patches;
  • Gerenciamento de assinaturas;
  • Inicialização;
  • Gerenciamento de configurações.

A partir de um console, você pode gerenciar milhares de sistemas com a mesma facilidade de um só, aumentando a disponibilidade, a confiabilidade e os recursos de auditoria do sistema.

E agora temos o novo Red Hat Satellite 6.5!

Uma das coisas legais que vem com o Red Hat Satellite 6.5 é o novo mecanismo de relatórios.

O Satellite Server é frequentemente o hub para todas as informações sobre os sistemas corporativos da Red Hat, e este mecanismo mais recente permite criar e exportar relatórios contendo informações sobre hosts Satellite clientes, assinaturas de software, erratas aplicáveis ​​e etc. Os relatórios são programados em Embedded Ruby (ERB).

O Satellite 6.5 vem com relatórios prontos, e o mecanismo dá aos usuários a capacidade de personalizar esses relatórios ou criar os seus próprios. Os relatórios integrados do Satellite 6.5 são gerados em formato CSV, mas neste post mostraremos como você pode gerar relatórios em formato HTML também.

Relatórios integrados do Satellite 6.5

O Satellite 6.5 inclui quatro relatórios integrados:

  • Errata aplicável – uma lista de defeitos de software (errata) que devem ser eliminados nos hosts de conteúdo (opcionalmente filtrados por hosts ou defeitos);
  • Status de host – relatório sobre o status dos hosts Satellite (opcionalmente filtrados por host);
  • Anfitriões registrados – informações sobre hosts Satellite: endereço IP, versão do sistema operacional, assinaturas de software (opcionalmente filtradas por host);
  • Subscrições – informações sobre assinaturas de software: número total de assinaturas, número de assinaturas gratuitas, códigos SKU (opcionalmente filtrados por parâmetros de assinatura).

Para gerar um relatório, abra o menu Monitoreselecionar Modelos de relatório e clique no botão Gerar à direita do relatório desejado. Deixe o campo de filtro em branco para incluir todos os dados no relatório ou insira algo para limitar os resultados. Por exemplo, se você deseja que o relatório de Hosts Registrados mostre apenas hosts RHEL 8, especifique um filtro os = RedHat e os_major = 8, conforme mostrado na captura de tela abaixo:

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Uma vez gerado o relatório, você pode baixá-lo e abri-lo em uma planilha como o LibreOffice Calc, que irá importar os dados do CSV e organizá-los em colunas, por exemplo, como um relatório Errata aplicável na tela abaixo:

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Observe que nas propriedades dos relatórios integrados a opção está habilitada Por padrão (Padrão), para que sejam automaticamente adicionados a todas as novas organizações e locais criados no Satellite.

Personalização de relatórios integrados

Vejamos a personalização usando o exemplo de um relatório integrado Subscrições. Por padrão, este relatório mostra o número total de assinaturas (1), bem como o número de assinaturas disponíveis, ou seja, gratuitas (2). Adicionaremos outra coluna com o número de assinaturas utilizadas, que é definido como (1) – (2). Por exemplo, se tivermos um total de 50 assinaturas RHEL e 10 delas forem gratuitas, serão usadas 40 assinaturas.

Como a edição de relatórios integrados está bloqueada e não é recomendado alterá-los, você terá que clonar o relatório integrado, dar-lhe um novo nome e então modificar esta cópia clonada.

Então, se quisermos modificar o relatório Subscrições, então ele deve primeiro ser clonado. Então vamos abrir o menu Monitore, escolha Modelos de relatório e no menu suspenso à direita do modelo Subscrições escolher clone. Em seguida, insira o nome do relatório clone (vamos chamá-lo Assinaturas personalizadas) e entre as linhas Disponível и Qtd. adicione a linha a ele 'Usado': pool.quantity - pool.available, – preste atenção na vírgula no final da linha. Isto é o que parece na captura de tela:

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Então apertamos o botão Submetero que nos traz de volta à página Modelos de relatório. Lá clicamos no botão Gerar à direita do relatório recém-criado Assinaturas personalizadas. Deixe o campo Filtro de assinaturas vazio e clique em Submeter. Depois disso, um relatório é criado e carregado, que contém a coluna que adicionamos Usados.

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

A ajuda para a linguagem Ruby integrada está localizada na guia Ajuda na janela de edição do relatório. Ele fornece uma visão geral da sintaxe e das variáveis ​​e métodos disponíveis.

Crie seu próprio relatório

Agora vamos ver como criar nossos próprios relatórios usando o exemplo de um relatório sobre funções Ansible atribuídas a hosts no Satellite. Abra o cardápio Monitore, clique Modelos de relatório e depois pressione o botão Criar modelo. Vamos chamar nosso relatório Relatório de funções Ansible e insira o seguinte código ERB nele:

<%#
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 -%>

Este código gera um relatório sobre hosts, exibindo o atributo "all_ansible_roles" para eles.

Em seguida, vá para a guia entradas e clique no botão + Adicionar entrada. Dizemos que esse nome é igual a anfitriõese tipo de descrição – Filtrar por hosts (opcional). Então clique Submeter e depois pressione o botão Gerar à direita do relatório recém-criado. Em seguida, você pode definir um filtro de host ou clicar imediatamente Submeterpara gerar um relatório sobre todos os hosts. O relatório gerado será parecido com isto no LibreOffice Calc:

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Gerando relatórios HTML

O mecanismo de relatórios do Satellite permite gerar relatórios não apenas no formato CSV. Como exemplo, criaremos um relatório personalizado com base no relatório Host integrado Status, mas apenas como uma tabela HTML com células codificadas por cores com base no status. Para fazer isso, clonamos Status do anfitriãoe substitua seu código ERB pelo seguinte:

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

Este relatório gera HTML que será parecido com isto em um navegador:

Mecanismo de relatórios no Satellite 6.5: O que é e por quê

Executando relatórios a partir da linha de comando

Para executar um relatório na linha de comando, use o comando martelo, e o utilitário cron permite automatizar esse processo.

Use o comando Hammer report-template generate --name "", por exemplo:

# hammer report-template generate —name "Host statuses HTML"

O conteúdo do relatório será refletido no console. As informações podem ser redirecionadas para um arquivo e então configurar o cron para executar um script de shell para gerar um relatório e enviá-lo por e-mail. O formato HTML é perfeitamente exibido em clientes de e-mail, o que permite organizar a entrega regular de relatórios aos interessados ​​​​de forma de fácil leitura.

Assim, o mecanismo de relatórios do Satellite 6.5 é uma ferramenta poderosa para exportar os dados importantes que as empresas possuem no Satellite. É muito flexível e permite usar relatórios integrados e suas versões modificadas. Além disso, os usuários podem criar seus próprios relatórios do zero. Saiba mais sobre o Satellite Reporting Engine em nosso vídeo no YouTube.

No dia 9 de julho às 11h, horário de Moscou, não perca o webinar sobre a nova versão do Red Hat Enterprise Linux 00

Nosso palestrante é Aram Kananov, gerente do departamento de desenvolvimento de plataformas e sistemas de gerenciamento da Red Hat na Europa, Oriente Médio e África. O trabalho de Aram na Red Hat inclui análises abrangentes de mercado, indústria e concorrentes, bem como posicionamento e marketing de produtos para a unidade de negócios de Plataformas, que inclui o gerenciamento de todo o ciclo de vida do produto, desde a introdução até o fim da vida útil.

Fonte: habr.com

Adicionar um comentário