Opções Avançadas do Módulo Ping e Direcionamento a Múltiplos Grupos
Pingando Múltiplos Grupos de Hosts
Vamos expandir nosso playbook para pingar múltiplos grupos do nosso inventário. Crie um novo arquivo chamado ping_all.yml:
- Na WebIDE, navegue até
/home/labex/project/ansible
- Clique com o botão direito na pasta
ansible e selecione "New File" (Novo Arquivo)
- Nomeie o arquivo
ping_all.yml
- Adicione o seguinte conteúdo ao arquivo:
---
- hosts: all
gather_facts: no
tasks:
- name: Ping all hosts in the inventory
ping:
Este playbook terá como alvo todos os hosts no arquivo de inventário. Execute-o com:
ansible-playbook -i hosts ping_all.yml
Você deve ver a saída mostrando respostas de ping bem-sucedidas de todos os hosts em seu inventário.
Usando Dados Personalizados com o Módulo Ping
O módulo ping do Ansible permite que você envie dados personalizados para verificar se eles retornam sem modificação. Isso pode ser útil para testar cenários de conectividade mais complexos.
Crie um novo playbook chamado ping_data.yml:
- Na WebIDE, crie um novo arquivo chamado
ping_data.yml no diretório /home/labex/project/ansible
- Adicione o seguinte conteúdo:
---
- hosts: webservers
gather_facts: no
tasks:
- name: Ping with custom data
ping:
data: "Hello from Ansible Lab"
Execute este playbook:
ansible-playbook -i hosts ping_data.yml -v
A saída verbose mostrará seus dados personalizados na resposta:
TASK [Ping with custom data] **************************************************
ok: [localhost] => {"changed": false, "ping": "Hello from Ansible Lab"}
Executando o Ping Contra Hosts Específicos
Você também pode executar o módulo ping diretamente da linha de comando sem criar um playbook. Isso é útil para verificações rápidas de conectividade:
ansible local -i hosts -m ping
Este comando irá pingar todos os hosts no grupo local e exibir os resultados. Você deve ver:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
Você também pode especificar múltiplos grupos ou padrões:
ansible 'webservers:local' -i hosts -m ping
Este comando irá pingar todos os hosts nos grupos webservers e local.
Módulo Ping com Argumentos
Você também pode passar argumentos para o módulo ping diretamente da linha de comando:
ansible all -i hosts -m ping -a "data='Command line test'"
Este comando irá pingar todos os hosts com a string de dados personalizados "Command line test" e exibir os resultados.
A saída mostrará a resposta de cada host com sua mensagem personalizada:
localhost | SUCCESS => {
"changed": false,
"ping": "Command line test"
}
Estes exemplos demonstram a versatilidade do módulo ping do Ansible para verificar a conectividade com seus hosts gerenciados de várias maneiras.