Olá Pessoal,
Seguindo nossa sequência sobre Ansible, hoje gostaria de trazer um adendo que estaria envolvido simplesmente em criar uma notificação que poderá ser exibida no Telegram, através de nossos famosos e tão comentado BOTs.
Para que todo esse processo funcione, você terá a necessidade de criar um BOT simples pelo Telegram, para isso você pode interagir com nosso amigo @BotFather. Se necessitar de mais informações sobre os procedimentos para criação desse BOT, recomendo que pesquise nesse link, na pagina do Telegram.
Em nossos testes eu criei meu BOT e vou utiliza-lo para fazer as notificações para uma sala de teste, no intuito de inserir meu BOT para visualizar as notificações.
Seguindo com nossas configurações, irei utilizar o mesmo exemplo que já estamos trabalhando, porém vou agregar mais um arquivo no projeto, denominado como telegram.yaml
--- - name: Send test message telegram: token: bot000:xxxx chat_id: -yyyy msg: Ansible playbook executed
Como podem observar eu omiti algumas informações de nosso exemplo devido a ser referenciado ao meu token e ID de BOT, portanto a partir de seu BOT essas informações vocês devem alterar olhando especificamente em seu BOT.
Um dos motivos mais difíceis para conseguir funcionar essa notificação através do BOT, foi conseguir adquirir esse chat_id, que com exclusividade vou detalhar um pouco de que forma facilitar sua vida.
Como exemplo o nome do BOT seria rodrigo_bot
- Você deve inserir seu BOT em um grupo
- Você precisa enviar uma mensagem em seu grupo para seu BOT
- Neste caso você deve fazer /my_id @rodrigo_bot ( Eu tentei diversas mensagens, mas a única que trouxe a informação foi utilizando /my_id )
- Em seu browser você deve colocar https://api.telegram.org/botXXX:YYYY/getUpdates ( lembre-se de trocar as variáveis citadas pelo token de seu BOT )
- Após a resposta você deve procurar pelo campo ,“chat”:{“id”:-xxxxxx
- BINGO!!!! 😆
Enfim, agora você pode utilizar as informações para preencher em seu arquivo do Ansible ( telegram.yaml ). Se quiser fazer um teste antes para validar sobre o chat-id o telegram aceita notificação via CURL. Esse comando é aceito no Linux ( curl -X POST “https://api.telegram.org/botxxx:yyyyy/sendMessage” -d “chat_id=-wwwww&text=my sample text” ), lembrando-se que para funcionar você precisa anexar suas informações de token e chat_id.
Para que possamos finalizar eu chamei através de nosso arquivo principal ( backup_router.yaml ) nossa notificação na sala de bate papo.
--- - name: Configuration Backup in Cisco Devices hosts: routers gather_facts: no connection: local tasks: - name: OBTAIN LOGIN CREDENTIALS include_vars: secret.yaml - name: Define access set_fact: provider: host: "{{ ansible_host }}" username: "{{ creds['username'] }}" password: "{{ creds['password'] }}" auth_pass: "{{ creds['auth_pass'] }}" - name: Obtain commands include: commands_variance.yaml - name: Obtain Telegram include: telegram.yaml
Segue a execução de nossa playbook. Nesse caso chamei duas mensagens para popular mais opções para você.
Após a execução podemos consultar em nossa sala de bate papo nossa mensagem populada.
Espero que tenham gostado e nossa próxima integração será através de outra ferramenta de messaging. Aguardem!!!
Abs,
Rodrigo
Comentários Recentes