Rundeck - Um Poderoso Agendador de Tarefas

Neste artigo falarei um pouco da ferramenta Rundeck e seu poder para automatizar a execução de scripts/tarefas em diversos servidores, substituindo assim a crontab. Também será abordada a instalação desta fantástica ferramenta sem a necessidade de permissões de root, ou seja, poderá ser executado com qualquer usuário.

[ Hits: 14.933 ]

Por: Leonardo Berbert Gomes em 29/03/2020 | Blog: https://www.linkedin.com/in/leoberbert


Configuração de Projeto e Hosts



Neste tópico, será necessário acessarmos o Rundeck pela primeira vez, para isso utilizaremos o link do tópico anterior "http://centos:4440" com usuário e senha padrão, sendo eles:
  • Nome de Usuário: admin
  • Senha: admin

Em seguida, você será direcionado para a seguinte tela:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Nesta parte, criaremos nosso primeiro projeto, clicando no botão "Novo projeto", preenchendo as informações de acordo com a nossa necessidade e em seguida clicar no botão "Criar":
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Em seguida, será criado a página do seu projeto:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Neste momento, temos a ferramenta instalada apenas no servidor e não é isso somente que queremos. Precisamos adicionar mais máquinas para que o Rundeck possa enxergá-las e conseguir executar nossas tarefas.

Abaixo encontra-se o diagrama da nossa arquitetura para ajudar no entendimento:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Seguindo o desenho acima, iremos adicionar as máquinas NODE01 e NODE02 ao Rundeck server(centos). Nas máquinas NODE01 e NODE02, também criei o usuário "rundeck" para que ele faça a execução dos Jobs nestas máquinas.

Caso haja alguma dúvida sobre como criar usuário no Linux, poderá ser consultado no link abaixo:
Primeiramente, será necessário criar uma relação de confiança entre o Rundeck Server e as máquinas NODE01 e NODE02. Para isso, conectaremos na máquina "server" e executaremos os comandos abaixo:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

Quando for solicitado alguma informação, simplesmente daremos Enter até a conclusão do processo.

Pronto, com a chave criada, iremos enviá-la para as máquinas que estabeleceremos a confiança:

cat ~/.ssh/id_rsa.pub | ssh rundeck@192.168.43.138 'cat ->> ~/.ssh/authorized_keys'
cat ~/.ssh/id_rsa.pub | ssh rundeck@192.168.43.144 'cat ->> ~/.ssh/authorized_keys'

Nos comandos acima, substituam os IP`s "192.168.43.138" e "192.168.43.144", pelos IP`s que irão se conectar.

Prontinho, feita a relação de confiança entre os servidores. Navegaremos agora até a pasta do nosso projeto:

cd $HOME/rundeck/projects/VOL/etc/

Será necessário criarmos o arquivo "resources.xml" com o seguinte conteúdo:

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <node name="NODE01" description="node01" tags="" hostname="192.168.43.138" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.12.1.el7.x86_64" username="rundeck"/>
  <node name="NODE02" description="node02" tags="" hostname="192.168.43.144" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.10.0-1062.12.1.el7.x86_64" username="rundeck"/>
</project>

  • Em "name", alterar pelo nome das máquinas.
  • Em "description", alterar pela descrição da máquina.
  • Em "hostname", alterar pelo IP da máquina.
  • Em "osArch", alterar pela arquitetura do sistema.
  • Em "osVersion", alterar pelo resultado do comando "uname -r".
  • Em "username", alterar pelo nome do usuário das máquinas node01 e node02.

Ainda no diretório do projeto, será necessário editar o arquivo "project.properties", adicionando as seguintes linhas:

resources.source.2.config.format=resourcexml
resources.source.2.config.file=/home/rundeck/rundeck/projects/VOL/etc/resources.xml

Após a inserção das linhas acima, caso o Rundeck esteja em execução, será necessário finalizá-lo, caso não esteja, iremos inicializa-lo, para isso utilizaremos o seguinte comando:

cd $HOME/rundeck; java -jar rundeck-3.2.3-20200221.war

Aguardaremos até que o comando acima finalize e em seguida vamos acessar a interface WEB do Rundeck através do endereço "http://centos:4440/". Após logar-se, será necessário seguir os passos abaixo:

Acessar o projeto:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Configurações de projeto:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Editar Nós:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Adicionaremos o nosso arquivo criado anteriormente "resources.xml", com as informações das máquinas nas quais iremos nos conectar, para isso vamos seguir os passos abaixo:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Este é um dos passos mais importantes, pois é onde adicionaremos a configuração e ela precisa estar com a localização exata do arquivo, então tenha bastante atenção neste item para preencher corretamente conforme mostrado abaixo, pois caso contrário, o Rundeck não irá localizar as máquinas desejadas.
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Vamos validar se as máquinas foram adicionadas corretamente e se os comandos já podem ser executados. Para isso, navegaremos até a guia "Comandos":
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Nesta tela, iremos validar se as máquinas foram localizadas e iremos executar um comando de testes. Note que na imagem abaixo, foram selecionadas todas as máquinas, inclusive o servidor do Rundeck, então neste caso, o comando será executado em todas as 3 máquinas:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Caso queiram executar o comando em apenas 2 máquinas, por exemplo, podemos fazer da seguinte forma:
Linux: RUNDECK – Um poderoso Agendador de Tarefas
Acredito que até aqui, já tenha sido possível mostrar um pouco do poder dessa ferramenta quando se fala em automação de tarefas.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração de Projeto e Hosts
   3. Criação de JOB
Outros artigos deste autor

Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana

Crie um bot para Telegram e gerencie a escala de plantonistas

Monitorando as conversas do MSN

Detectando vulnerabilidades com o Nessus

Linux, uma história sem fim!

Leitura recomendada

VLC, o reprodutor multimídia

Usando comandos dos DOS com o mtools

GNOME 3 no Slackware 14 com dropline GNOME

Solução de PaaS Brasileiro - Docker, Shell Script e Golang

VPN com pptpd com acesso a compartilhamentos

  
Comentários
[1] Comentário enviado por danniel-lara em 30/03/2020 - 08:21h


Muito boa essa ferrramenta ja utilizei integrado com Ansible , depois migrei para o AWX

[2] Comentário enviado por diegomrodrigues em 31/03/2020 - 22:10h

Muito interessante essa ferramenta, estou testando com alguns servidores.
Atenciosamente,
Diego M. Rodrigues


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts