6.4. Aplicação de uma solução de registro remoto utilizando o papel do sistema de registro
Siga estes passos para preparar e aplicar um livro de exercícios do Red Hat Ansible Engine para configurar uma solução de registro remoto. Neste playbook, um ou mais clientes pegam logs de systemd-journal
e os encaminham para um servidor remoto. O servidor recebe entradas remotas de remote_rsyslog
e remote_files
e envia os logs para arquivos locais em diretórios nomeados por nomes de hosts remotos.
Pré-requisitos
Você tem o Red Hat Ansible Engine instalado no sistema a partir do qual você deseja executar o playbook.
NotaVocê não precisa ter o Red Hat Ansible Engine instalado nos sistemas nos quais você deseja implantar a solução de registro.
Você tem o pacote
rhel-system-roles
sobre o sistema a partir do qual você deseja executar o playbook.NotaVocê não precisa ter
rsyslog
instalado, porque a função do sistema instalarsyslog
quando implantado.Você tem pelo menos dois sistemas:
- Pelo menos um será o servidor de registro.
- Pelo menos um será o cliente madeireiro.
Procedimento
Criar um playbook que defina o papel exigido:
Criar um novo arquivo YAML e abri-lo em um editor de texto, por exemplo:
vi logging-playbook.yml
# vi logging-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Insira o seguinte conteúdo no arquivo:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Onde
host1.example.com
é o servidor de registro.NotaVocê pode modificar os parâmetros no livro de jogo para atender às suas necessidades.
AtençãoA solução de registro funciona somente com as portas definidas na política SELinux do sistema servidor ou cliente e abertas no firewall. A política padrão do SELinux inclui as portas 601, 514, 6514, 10514, e 20514. Para utilizar uma porta diferente, modifique a política SELinux no sistema cliente e no sistema servidor. A configuração do firewall através das funções do sistema ainda não é suportada.
Crie um arquivo de inventário que lista seus servidores e clientes:
Criar um novo arquivo e abri-lo em um editor de texto, por exemplo:
vi inventory.ini
# vi inventory.ini
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Insira o seguinte conteúdo no arquivo do inventário:
[servers] server ansible_host=host1.example.com [clients] client ansible_host=host2.example.com
[servers] server ansible_host=host1.example.com [clients] client ansible_host=host2.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Where: *
host1.example.com
is the logging server. *host2.example.com
is the logging client.
Execute o playbook em seu inventário.
ansible-playbook -i /path/to/file/inventory.ini /path/to/file/_logging-playbook.yml
# ansible-playbook -i /path/to/file/inventory.ini /path/to/file/_logging-playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Onde:
-
inventory.ini
é o arquivo do inventário. -
logging-playbook.yml
é o livro de jogo que você criou.
-
Etapas de verificação
Tanto no sistema cliente quanto no servidor, teste a sintaxe do arquivo
/etc/rsyslog.conf
:rsyslogd -N 1
# rsyslogd -N 1 rsyslogd: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verificar se o sistema cliente envia mensagens para o servidor:
No sistema do cliente, envie uma mensagem de teste:
logger test
# logger test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No sistema do servidor, veja o log
/var/log/messages
, por exemplo:cat /var/log/messages Aug 5 13:48:31 host2.example.com root[6778]: test
# cat /var/log/messages Aug 5 13:48:31 host2.example.com root[6778]: test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Onde
host2.example.com
é o nome do host do sistema cliente. Note que o log contém o nome do usuário que digitou o comando logger, neste casoroot
.
Recursos adicionais
- Começando com os papéis do Sistema RHEL
-
Documentação instalada com o pacote
rhel-system-roles
em/usr/share/ansible/roles/rhel-system-roles.logging/README.html
- Artigo KB daRHEL System Roles