14.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
Insira o seguinte conteúdo no arquivo:
--- - name: Deploying remote input and remote_files output hosts: server roles: - linux-system-roles.logging vars: logging_inputs: - name: remote_udp_input type: remote udp_ports: [ 601 ] - name: remote_tcp_input type: remote tcp_ports: [ 601 ] logging_outputs: - name: remote_files_output type: remote_files logging_flows: - name: flow_0 inputs: [remote_udp_input, remote_tcp_input] outputs: [remote_files_output] - name: Deploying basics input and forwards output hosts: clients roles: - linux-system-roles.logging vars: logging_inputs: - name: basic_input type: basics logging_outputs: - name: forward_output0 type: forwards severity: info target: host1.example.com udp_port: 601 - name: forward_output1 type: forwards facility: mail target: host1.example.com tcp_port: 601 logging_flows: - name: flows0 inputs: [basic_input] outputs: [forward_output0, forward_output1] [basic_input] [forward_output0, forward_output1]
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
Insira o seguinte conteúdo no arquivo do inventário:
[servers] server ansible_host=host1.example.com [clients] client ansible_host=host2.example.com
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
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: version 8.1911.0-6.el8, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
Verificar se o sistema cliente envia mensagens para o servidor:
No sistema do cliente, envie uma mensagem de teste:
# logger test
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
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