https://github.com/tech-preta/ansible-node-exporter
Um projeto para instalação do Node Exporter em servidores linux com gerenciamento do Ansible.
https://github.com/tech-preta/ansible-node-exporter
ansible ansible-role prometheus
Last synced: 23 days ago
JSON representation
Um projeto para instalação do Node Exporter em servidores linux com gerenciamento do Ansible.
- Host: GitHub
- URL: https://github.com/tech-preta/ansible-node-exporter
- Owner: Tech-Preta
- License: gpl-3.0
- Created: 2024-03-26T19:17:12.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T14:56:42.000Z (about 2 years ago)
- Last Synced: 2025-01-24T02:55:54.522Z (over 1 year ago)
- Topics: ansible, ansible-role, prometheus
- Language: Jinja
- Homepage: https://nataliagranato.vercel.app
- Size: 25.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ansible Node Exporter
### Iniciando com o Ansible
1. **Instalação do Ansible**
Certifique-se de que o Ansible está instalado na sua máquina controladora. Caso não esteja, você pode instalá-lo via gerenciador de pacotes (por exemplo, apt, yum, brew, etc.). Se preferir utilize:
```
python3 -m pip install --user ansible
```
2. **Criação de Chaves SSH**
Se você ainda não possui um par de chaves SSH, gere um usando o comando:
```
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
```
- Isso criará as chaves pública (id_rsa.pub) e privada (id_rsa) no diretório ~/.ssh/.
3. **Envio da Chave Pública para o Host de Destino**:
- Copie a chave pública para o host de destino (onde você deseja executar o Ansible). Você pode fazer isso manualmente ou usar o Ansible para automatizar o processo.
- Manualmente:
```
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
```
- Usando Ansible (em um playbook):
```
---
- hosts: seu_host
tasks:
- name: Copiar chave pública para o host
authorized_key:
user: seu_usuario
key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
```
4. **Configuração do Inventário**
- Crie um arquivo de inventário (por exemplo, hosts.ini) com os detalhes dos hosts que você deseja gerenciar com o Ansible.
- Exemplo de arquivo hosts.ini:
```
[servidores]
servidor1 ansible_host=192.168.1.10
servidor2 ansible_host=192.168.1.20
```
5. **Teste a Conexão SSH**
- Antes de tudo, verifique se o Ansible pode se conectar aos hosts. Execute o comando abaixo onde está localizado o seu arquivo de inventário:
```
ansible -i hosts.ini -m ping servidores
```
- Caso tenha sucesso você verá algo como:
```
192.168.0.146 | SUCCESS => {
"changed": false,
"ping": "pong"
}
```
6. Crie Seus Playbooks:
- Agora você pode criar seus playbooks Ansible para automatizar tarefas nos servidores.
# Executando o Ansible Node Exporter
Faça o clone do repositório e modifique o inventário de acordo com os servidores que deseja gerenciar. Não se esqueça de seguir os passos anteriores para ter acesso aos servidores.
```
https://github.com/Tech-Preta/ansible-node-exporter.git
```
Para executar o playbook instalar_node_exporter.yml, você pode usar o comando `ansible-playbook`. Certifique-se de estar no diretório onde o playbook está localizado. Aqui está o comando que você pode usar:
```
ansible-playbook instalar_node_exporter.yml --ask-become-pass
```
Se o seu playbook estiver em um diretório específico, você precisará fornecer o caminho completo para o playbook:
```
ansible-playbook /caminho/para/o/playbook/instalar_node_exporter.yml
```
Em caso de sucesso, a saída será semelhante a:
```
PLAY [seus_servidores] *******************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************
ok: [192.168.0.146]
PLAY [Configurar tipos de chave de host permitidos] **************************************************************************
TASK [Adicionar tipos de chave de host ao cliente SSH] ***********************************************************************
ok: [192.168.0.146] => (item=HostKeyAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,ssh-rsa,rsa-sha2-512,rsa-sha2-256)
PLAY [seus_servidores] *******************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************
ok: [192.168.0.146]
TASK [node_exporter : Baixar o Node Exporter] ********************************************************************************
changed: [192.168.0.146]
TASK [node_exporter : Criar diretório para o Node Exporter] ******************************************************************
ok: [192.168.0.146]
TASK [node_exporter : Extrair o Node Exporter] *******************************************************************************
changed: [192.168.0.146]
TASK [node_exporter : Mover o Node Exporter para /usr/local/bin] *************************************************************
changed: [192.168.0.146]
TASK [node_exporter : Criar usuário para o Node Exporter] ********************************************************************
ok: [192.168.0.146]
TASK [node_exporter : Copiar o serviço systemd do Node Exporter] *************************************************************
changed: [192.168.0.146]
TASK [node_exporter : Definir permissões nos arquivos temporários do Ansible] ************************************************
changed: [192.168.0.146 -> localhost]
TASK [node_exporter : Habilitar e iniciar o serviço do Node Exporter] ********************************************************
ok: [192.168.0.146]
PLAY RECAP *******************************************************************************************************************
192.168.0.146 : ok=11 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
Certifique-se de ter um arquivo de inventário configurado corretamente e definido os hosts alvo no playbook ou passá-los como argumentos na linha de comando, conforme necessário. Isso garantirá que o Ansible execute as tarefas definidas no playbook nos hosts especificados.