Comecei recentemente nesse mundo da programação para me auxiliar em como otimizar minhas atividades com mais rapidez, busquei por uma linguagem simples para criar ferramentas de automação e agilizar multiplas Tarefas para qualquer coisa.
Mas devido a precisão de criar formas de agilizar meu trabalho com Infra de redes, comecei a buscar formas de automatizar minhas ações a quase Clicks.
Minha intenção aqui é ajudar com o meu breve conhecimento em Python, aqueles que também estão em busca de criar suas próprias soluções para atividades cotidianas em Redes, e dessa forma também conseguirmos criar ferramentas para manusear dados de formas mais isolada, trabalhar com parques de Routers e Switchs utilizando simples scritps em Python para fazer uma coleta em mais de 1000 Switchs, ao em vez de acessar um-por-um e executar o mesmo comando repetidas vezes, o script fará todo o trabalho para você.
Tudo o que venho trazer aqui, é com base em pesquisas por pequenas necessidades...
-
"Preciso levar essa informação de uma Variavel para um Arquivo de texto" ai vou buscar como criar um arquivo com Python e adicionar aquela informação dentro do arquivo de txt.
-
"Preciso entender como pegar o nome do Hostname do equipamento para usar como 'Nome_do_arquivo.txt'" lá vou eu buscar entender que tenho que quebrar a Variavel em uma Lista, buscar por indices e trazer o nome do equipamento.
Então são essas pequenas ações que me fazem buscar por uma determinada forma de acrescentar funções e assim construir uma ferramenta na qual eu consiga inserir dentro de uma função maior de acesso.
Sendo assim, devido não ter um aprofundamento a nivel de um Developer que teria muito mais facilidade em construir um Script em dois palitos para fazer tudo isso, eu trago a vocês a visão de um CCNA-R&S que está buscando aprender e compartilhar com base na minha visão, esse Mundo de Programabildiade com a Linguagem Python para utilizar em tarefas do dia-a-dia em uma Infraestrutura de Network.
Essa etapa visa mostrar parte por parte de como utilizar cada ação, recomendo que entenda cada uma delas de forma isolada realizando testes no seu script, copie a formula exata de cada etapa, e teste, e ao compreender, manipular a sua maneira a criação de Variáveis, Condicionais e Estrutura de Loops, realizar essa função de forma mais simples. Fique livre para tentar otimizar o seu script, mas lembrando que essas foram as formas como encontrei para criar o meu próprio. (E que ainda segue em fase de construção)
Eu começo essa primeira parte com:
-
Criar e Ler um Arquivo, pois foi o que eu mais tive dificuldade de entender.
-
logo em seguida por 'Dia e hora', isso ira ajudar quando for coletar informação do equipamento, e precisar criar um arquivo diferente para o mesmo equipamento em horas ou dias diferentes, fazendo um Backup da configuração do equipamento.
-
Depois como localizar o nome do equipamento dentro de um 'Running-Config', para assim dar o nome ao arquivo posteriormente.
-
E enfim, como acessar o equipamento com a Biblioteca Netmiko por meio do protocolo SSH (Secure Shell).
- A segunda parte já para aplicar comandos dentro equipamento, embora tenha uma visão um pouco mais complexa, quando aplicar fica mais compreensivel o que está acontecendo enquanto o programa roda, mas busquei detalhar o maximo possivel cada parte com comentários.
- Na terceira parte começo a Definir Funções que possam otimizar as aplicações mais complexas separando cada ação em Funções.
- Nessa quarta parte eu trago com base em minhas vivencias nesse mundo de automação com Python para Network, alguns pontos importantes de Tratamento de Dados, é que o retorno do comando enviado ao Device, esse pontos são;
-
Tratamento de dados em como retornar essas informações em arquivos de textos para cada equipamento.
-
Organizando dos dados de Output de cada equipamento, pois dependendo da quantidade de informações que são exigidas por comandos, organizar essa informação por arquivo para localizar ficar mais Legivel.
-
Recentemente uma das minha validações foi para solicitar uma informação muito especifica usando o protocolo CDP (Cisco Discovery Protocol), no entanto, o retorno dessa informação no equipamento tem uma estrura que, quem geralmente usa esse comando, fica mais facil identificar o output, no entanto, em uma grande escala, e dependendo de quantos devices conectados: Switchs, Router, Access Points que usam o protocolo CDP que é proprietário Cisco.
-
Então nessa parte trago tramento de CDP com saida em CSV de forma bem mais estruturada e mais amigavel de se entender.
-
- Rotina de Backup em Linux - Em progresso
-
Variaveis
-
Lista
-
Funções
-
Manipulação de Arquivos
-
Biblioteca
José Osmar Caitano