📘 Módulo I – Fundamentos e Lógica para Infraestrutura
🔹 Organização Geral
-
Carga semanal: 2 aulas
-
Duração: ~50 min cada (ajustável)
-
Metodologia: exposição + prática guiada + exercício aplicado
-
Foco: automação básica de tarefas de redes
🧩 Semana 1 – Introdução e Ambiente
🧪 Aula 1 – O que é Python e uso em Redes
🎯 Objetivos
-
Compreender o papel do Python na área de redes
-
Configurar ambiente de desenvolvimento
📚 Conteúdo
-
Python como linguagem de automação
-
Aplicações em redes:
-
Monitoramento
-
Scripts administrativos
-
Processamento de logs
-
-
Instalação:
-
Python (Linux Mint já vem)
-
IDLE / PyCharm
- VisualCode
-
💡 Demonstração prática
# Primeiro script - validação do ambiente
print("Ambiente Python funcionando corretamente!")
📌 Atividade
-
Executar script no terminal
-
Validar versão:
python3 --version
🧪 Aula 2 – Variáveis e Tipos de Dados
🎯 Objetivos
-
Entender tipos básicos
-
Aplicar em contexto de redes
📚 Conteúdo
-
Tipos:
-
int
-
float
-
string
-
-
Entrada de dados (
input) -
Conversão de tipos
💻 Exemplo Prático (Infraestrutura)
📌 Problema:
Armazenar nomes de servidores e IPs
# Script: Cadastro simples de servidores
# Entrada de dados
nome_servidor = input("Digite o nome do servidor: ")
ip_servidor = input("Digite o endereço IP: ")
# Exibição formatada
print("\n--- Cadastro Realizado ---")
print("Servidor:", nome_servidor)
print("IP:", ip_servidor)
🧠 Explicação
-
input()→ entrada de dados -
Strings são usadas para representar IPs (não números)
-
Estrutura simples, mas útil para inventário inicial
✅ Validação
-
Testar com:
-
servidor:
web01 -
IP:
192.168.0.10
-
🧩 Semana 2 – Manipulação de Strings
🧪 Aula 3 – Strings e Slicing
🎯 Objetivos
-
Trabalhar strings como sequências
-
Aplicar slicing em logs
📚 Conteúdo
-
Indexação
-
Fatiamento (
[inicio:fim])
💻 Exemplo
log = "2026-04-08 ERROR Falha no servidor web01"
# Extraindo data
data = log[0:10]
print("Data:", data)
🧠 Explicação
-
Strings são sequências indexadas
-
Muito útil para logs estruturados
🧪 Aula 4 – Métodos de String (Parsing de Logs)
🎯 Objetivos
-
Aplicar
split,join,strip -
Interpretar logs
💻 Exemplo Prático (Parsing de Log)
📌 Problema:
Extrair timestamp e mensagem de erro
# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"
# Separando os elementos
partes = log.split()
# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]
# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])
# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)
🧠 Explicação
-
split()→ transforma string em lista -
join()→ reconstrói string -
Técnica essencial para logs de servidores
✅ Validação
Entrada:
2026-04-08 10:30:45 ERROR Servidor web01 indisponível
Saída esperada:
Data: 2026-04-08
Hora: 10:30:45
Nível: ERROR
Mensagem: Servidor web01 indisponível
Explicação detalhada conseguida em uma IA (Deepseek)
Use IA de forma responsável e inteligente.
Prompt:
“Explique o código Python abaixo, seja didático e detalhista.
# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"
# Separando os elementos
partes = log.split()
# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]
# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])
# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)"
📘 Explicação didática: Processando uma linha de log em Python
Este código demonstra como processar uma linha de log (registro de eventos de sistema), extraindo suas partes: data, hora, nível de severidade e a mensagem propriamente dita.
🔍 Código completo
# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"
# Separando os elementos
partes = log.split()
# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]
# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])
# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)
📌 Visão geral
O código pega uma string de log simulada e a divide em partes usando espaços como separadores. Depois, extrai cada campo individualmente e reconstrói a mensagem final.
🧩 Análise linha por linha
1️⃣ A string de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"
- Criamos uma variável chamada
logcontendo uma string. - Estrutura:
[DATA] [HORA] [NÍVEL] [MENSAGEM...] - Data:
2026-04-08| Hora:10:30:45| Nível:ERROR| Mensagem:Servidor web01 indisponível
2️⃣ Separando os elementos
partes = log.split()
.split()sem argumentos quebra a string em cada ocorrência de um ou mais espaços.- Retorna uma lista:
['2026-04-08', '10:30:45', 'ERROR', 'Servidor', 'web01', 'indisponível']
3️⃣ Extraindo dados individuais
data = partes[0] hora = partes[1] nivel = partes[2]
- Indexação de listas começa em 0.
partes[0]→'2026-04-08'partes[1]→'10:30:45'partes[2]→'ERROR'
4️⃣ Reconstruindo a mensagem completa
mensagem = " ".join(partes[3:])
partes[3:]→ fatia do índice 3 até o final:['Servidor', 'web01', 'indisponível']" ".join(...)→ junta os elementos com espaço entre eles.- Resultado:
'Servidor web01 indisponível' - Por que não usar apenas
partes[3]? Porque a mensagem tem várias palavras; assim perdemos o restante.
5️⃣ Exibindo os resultados
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)
Saída no console:
Data: 2026-04-08 Hora: 10:30:45 Nível: ERROR Mensagem: Servidor web01 indisponível
🎓 Conceitos importantes ensinados
- Strings e métodos de string:
.split()é fundamental para processamento de texto. - Listas e indexação: listas são ordenadas, índices começam em 0.
- Fatiamento (slicing):
[inicio:fim]onde o fim é exclusivo. - Junção com
.join(): mais eficiente que concatenação com+.
💡 Exemplo de uso real
if nivel == "ERROR":
enviar_alerta(f"ERRO CRÍTICO em {data} {hora}: {mensagem}")
🚀 Variações e melhorias
Usando desempacotamento (Python avançado):
data, hora, nivel, *mensagem_partes = log.split() mensagem = " ".join(mensagem_partes)
Separador diferente (ex.: pipe |):
partes = log.split("|")
✅ Este código é um excelente exemplo de processamento de texto e manipulação de listas — habilidades essenciais para análise de logs, automação e tratamento de dados em Python.
🧩 Semana 3 – Estruturas Condicionais
🧪 Aula 5 – if, else, elif
🎯 Objetivos
-
Tomada de decisão em scripts
-
Aplicação em monitoramento
🧪 Aula 6 – Operadores Lógicos
🎯 Objetivos
-
Trabalhar com condições compostas
-
Criar alertas automatizados
💻 Exemplo Prático (Monitoramento de Disco)
📌 Problema:
Emitir alerta se uso > 90%
# Entrada de dados
uso_disco = float(input("Digite o uso de disco (%): "))
# Verificação
if uso_disco > 90:
print("ALERTA: Uso de disco crítico!")
elif uso_disco > 70:
print("Atenção: Uso de disco elevado.")
else:
print("Uso de disco normal.")
🧠 Explicação
-
float()→ conversão para número -
Estrutura condicional:
-
Crítico (>90)
-
Atenção (>70)
-
Normal
-
🔍 Versão mais próxima do mundo real
# Simulação de monitoramento de servidor
servidor = input("Nome do servidor: ")
uso_disco = float(input("Uso de disco (%): "))
print("\n--- Status do Servidor ---")
if uso_disco > 90:
print(f"Servidor {servidor}: CRÍTICO - ação imediata necessária!")
elif uso_disco > 70:
print(f"Servidor {servidor}: Atenção - monitorar.")
else:
print(f"Servidor {servidor}: OK.")
✅ Validação
Entrada:
Servidor: web01
Uso: 95
Saída:
Servidor web01: CRÍTICO - ação imediata necessária!
Fim da aula 01
