Red Hat Satellite é uma solução de gerenciamento de sistemas que simplifica a implementação, escalabilidade e gerenciamento da infraestrutura Red Hat em ambientes físicos, virtuais e em nuvem. O Satellite permite que os usuários configurem e atualizem sistemas para garantir seu funcionamento seguro e eficiente, de acordo com vários padrões. Automatizando a maioria das tarefas relacionadas à manutenção do sistema, o Satellite ajuda as organizações a aumentarem a eficiência, reduzirem os custos operacionais e a responderem mais rapidamente às demandas estratégicas do negócio.

Embora você possa realizar tarefas administrativas básicas com os serviços Red Hat incluídos na assinatura do Red Hat Enterprise Linux, o Red Hat Satellite adiciona amplas capacidades de gerenciamento em todo o ciclo de vida.
Entre essas capacidades estão:
- Instalação de patches;
- Gerenciamento de assinatura;
- Inicialização;
- Gerenciamento de configuração.
Com um único console, você pode gerenciar milhares de sistemas com a mesma facilidade que um, aumentando a disponibilidade, confiabilidade e fornecendo oportunidades para auditorias do sistema.
E agora temos o novo Red Hat Satellite 6.5!
Uma das grandes novidades do Red Hat Satellite 6.5 é o novo motor de relatórios.
O Satellite Server frequentemente atua como o centro onde todas as informações sobre os sistemas corporativos Red Hat se concentram, e esse novo motor permite a criação e exportação de relatórios que contêm informações sobre os hosts clientes do Satellite, assinaturas de software, bem como as erratas aplicáveis e etc. Os relatórios são programáveis em uma linguagem incorporada Ruby (ERB).
O Satellite 6.5 vem com relatórios prontos, e o motor permite que os usuários personalizem esses relatórios ou criem os seus próprios. Os relatórios embutidos do Satellite 6.5 são gerados em formato CSV, mas neste post, mostraremos como você pode criar relatórios também em formato HTML.
Relatórios embutidos do Satellite 6.5
O Satellite 6.5 inclui quatro relatórios embutidos:
- Erratas aplicáveis – lista de defeitos de software (erratas) que devem ser corrigidos nos hosts de conteúdo (opcionalmente filtrados por hosts ou defeitos);
- Status dos hosts – relatório sobre o estado dos hosts Satellite (opcionalmente filtrado por hosts);
- Hosts registrados – informações sobre os hosts Satellite: endereço IP, versão do sistema operacional, assinaturas de software (opcionalmente filtradas por hosts);
- Assinaturas – informações sobre assinaturas de software: total de assinaturas, número de disponíveis, códigos SKU (opcionalmente filtrados por parâmetros de assinaturas).
Para gerar um relatório, abra o menu Monitor, selecione Modelos de Relatório e clique no botão Gerar à direita do relatório desejado. Deixe o campo de filtragem vazio para incluir todos os dados no relatório, ou insira algo ali para limitar os resultados. Por exemplo, se o relatório Hosts Registrados deve mostrar apenas hosts RHEL 8, especifique o filtro os = RedHat and os_major = 8, como mostrado na captura de tela abaixo:

Após a geração do relatório, ele pode ser baixado e aberto em uma planilha como o LibreOffice Calc, que importa dados de CSV e os distribui em colunas, por exemplo, como o relatório Erratas aplicáveis na tela abaixo:

Observe que nas propriedades dos relatórios embutidos a opção está habilitada Por padrão (Padrão), portanto, eles são automaticamente adicionados a todas as novas organizações e locais (locations) que você cria no Satellite.
Personalização de relatórios embutidos
Vamos abordar a personalização usando como exemplo o relatório embutido Assinaturas. Por padrão, este relatório reflete o número total de assinaturas (1), bem como o número disponível, ou seja, assinaturas livres (2). Vamos adicionar uma coluna com o número de assinaturas utilizadas, que é definido como (1) - (2). Por exemplo, se temos um total de 50 assinaturas RHEL e 10 delas estão disponíveis, então 40 assinaturas estão em uso.
Como a edição de relatórios embutidos está bloqueada e não é recomendável alterá-los, será necessário clonar o relatório embutido, dar um novo nome e, em seguida, modificar essa cópia clonada.
Então, se queremos modificar o relatório Assinaturas, primeiro ele deve ser clonado. Portanto, abra o menu Monitor, selecione Modelos de Relatório e no menu suspenso à direita do modelo Assinaturas escolhemos Clonar. Em seguida, insira o nome do relatório clonado (vamos chamá-lo de Assinaturas Personalizadas) e entre as linhas Disponível e Quantidade adicionamos nele a linha 'Usado': pool.quantity — pool.available, – observe a vírgula no final da linha. Veja como isso se parece na captura de tela:

Em seguida, clique no botão Enviar, que nos leva de volta à página Modelos de Relatório. Lá, clique no botão Gerar à direita do relatório recém-criado Assinaturas Personalizadas. Deixe o campo de filtro de Assinaturas vazio e clique em Enviar. Após isso, será criado e carregado um relatório que inclui a coluna que adicionamos. Usado.

A documentação da linguagem Ruby embutida pode ser encontrada na guia Ajuda na janela de edição do relatório. Ela contém uma visão geral da sintaxe, bem como das variáveis e métodos disponíveis.
Criação de um relatório personalizado
Agora vamos abordar a criação de relatórios personalizados usando o exemplo de um relatório sobre as funções Ansible atribuídas a hosts no Satellite. Abrimos o menu Monitor, clicamos Modelos de Relatório e em seguida pressionamos o botão Create Template. Vamos nomear nosso relatório Relatório de Funções Ansible e inserimos o seguinte código ERB:
Esse código gera um relatório sobre hosts, exibindo para eles o atributo "all_ansible_roles".
Em seguida, vamos para a aba Inputs e clicamos no botão + Add Input. Dizemos que o name é igual a hosts, e o tipo de descrição é Filtrar por hosts (opcional). Depois, clicamos Enviar e em seguida pressionamos o botão Gerar à direita do relatório recém-criado. A partir daí, é possível definir o filtro de hosts ou simplesmente pressionar Enviar, para gerar o relatório de todos os hosts. O relatório gerado será exibido no LibreOffice Calc aproximadamente assim:

Criação de relatórios HTML
O mecanismo de relatórios do Satellite permite gerar relatórios não apenas em formato CSV. Como exemplo, criaremos um relatório personalizado com base no relatório integrado Host Statuses, mas apenas na forma de uma tabela HTML com a codificação de cores nas células com base no status. Para isso, clonamos Status do Host, e em seguida substituímos seu código ERB pelo seguinte:
<!DOCTYPE html>
<html>
<head>
<title>Status do Host</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> Nome do Host </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"> Aviso </td>
<% else -%>
<td class="red"> Erro (<%= 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"> Aviso </td>
<% else -%>
<td class="red"> Erro (<%= value %>) </td>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
</body>
</html>
Esse relatório gera HTML que será exibido no navegador aproximadamente assim:
![]()
Execução de relatórios a partir da linha de comando
Para executar um relatório a partir da linha de comando, utiliza-se o comando hammer, e a ferramenta 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, após o que o cron pode ser configurado para executar um script shell para gerar o relatório e enviá-lo por e-mail. O formato HTML é bem exibido em clientes de e-mail, permitindo organizar a entrega regular de relatórios para as partes interessadas de forma compreensível.
Assim, o mecanismo de relatórios no Satellite 6.5 é uma ferramenta poderosa para exportar dados importantes que as empresas possuem no Satellite. Ele é muito flexível e permite o uso tanto de relatórios embutidos quanto de versões customizadas. Além disso, os usuários podem criar seus próprios relatórios do zero. Mais detalhes sobre o Engine de Relatórios do Satellite estão disponíveis em nosso vídeo no YouTube.
Nosso palestrante será Aram Kananov, gerente do departamento de desenvolvimento de plataformas e sistemas de gestão da Red Hat na Europa, Oriente Médio e África. O trabalho de Aram na Red Hat envolve uma análise abrangente do mercado, da indústria e da concorrência, além de posicionamento e marketing de produtos para a unidade de negócios de plataformas, o que inclui a gestão de todo o ciclo de vida do produto, desde a implementação até o fim do uso.
Fonte: habr.com
