LÓGICA E LINGUAGEM DE PROGRAMAÇÃO

Parsing de logs: desafio de automação SOC

Registro de Aula S19A4 — Semana 19 · Aula 4 – Automação de triagem de logs de segurança
Unidade 3 – Manipulação de texto aplicadaBase: Capítulos 8, 14 a 17 e 25 a 27 — strings, decisões e listasTempo: 50 minEntrega: AVA (código + saída gerada)Arquivo: NOME_TURMA_S19A4
ATIVIDADE PROPOSTA

O que vocês vão resolver

Como Analista de SOC (Centro de Operações de Segurança) de uma startup, sua tarefa é automatizar a análise de milhares de logs gerados pelo sistema. Vocês vão desenvolver um programa em Python que percorre registros brutos, identifica o nível de severidade de cada evento e destaca apenas as ocorrências ERROR ou CRITICAL — as que exigem ação humana.

OBJETIVOS

O que vocês vão aprender aqui

SOLUÇÃO DIGITAL

Ferramenta usada nesta aula

PY
Python (VS Code ou PyCharm)
Criem o arquivo triagem_logs.py na IDE. O programa não pede nada ao usuário: ele processa a lista de logs já declarada no código e imprime os alertas.
ENTENDA

A anatomia de uma linha de log

Log bruto é texto. Para o programa entender, é preciso <b>fatiar em campos</b> — e é o separador <code>|</code> que torna isso possível.

Um registro, cinco campos2024-07-15 08:42:17 | ERROR | auth-service | ip=192.168.4.21 | Login failed campo 0 → data e horacampo 1 → NÍVEL de severidade ← é o que decide o alertacampo 2 → serviço de origemcampo 3 → ip=... ← precisa tirar o prefixocampo 4 → mensagem linha.split("|") devolve uma lista com esses 5 pedaçosDepois do split sobram espaços nas bordas de cada campo — use .strip() para limpá-los.
INFO Rotina operação normal · não geraalerta WARN Atenção algo perto do limite · aindanão é incidente ERROR Alerta falha real · entra na triagem CRITICAL Alerta máximo incidente grave · entra natriagem Dos 5 registros da lista, apenas os de nível ERROR e CRITICAL devem virar alerta.
O formato do alertaALERTA DE SEGURANÇA!Nível: [NÍVEL] | Origem: [IP] | Mensagem: [TEXTO] print(f"⚠️ ALERTA DE SEGURANÇA! Nível: {nivel} | Origem: {ip} | Mensagem: {msg}")Os colchetes do roteiro são só marcadores: no código eles viram chaves da f-string.

Como preencher este relatório

  1. 1Leia o cenário e observe os diagramas — eles mostram o conceito que a sua resposta precisa usar.
  2. 2Preencha a identificação do grupo no Passo 0.
  3. 3Responda um passo de cada vez, na ordem. Cada passo traz uma dica de como pensar logo abaixo do enunciado.
  4. 4Confira o checklist no final — ele verifica se não ficou nada faltando.
  5. 5Clique em Gerar PDF da resposta. Na janela de impressão, escolha Destino: Salvar como PDF e salve como NOME_TURMA_S19A4.
  6. 6Envie esse PDF no AVA. O que vocês digitarem fica salvo neste computador sozinho — dá para fechar a página e voltar depois.
PASSO 0

Identificação

Estes dados montam a capa e a folha de rosto do relatório em PDF.

PROCEDIMENTOS

Construam o motor de triagem

Três passos do roteiro: preparar o ambiente, construir o parsing e gerar o alerta.

1
Passo 1 — Preparem o ambiente e declarem a lista de logs.
Como pensar: Criem o arquivo triagem_logs.py e copiem a lista logs_brutos com os cinco registros do roteiro.
2
Passo 1 — Analisem a lista antes de programar.
Como pensar: Leiam os cinco registros e preencham a tabela na mão. Isso vira o gabarito do programa: no fim, a saída tem que bater com o que vocês previram aqui.
RegistroNívelIP de origemVira alerta?
1º — auth-service
2º — api-gateway
3º — db-connector
4º — auth-service
5º — firewall
3
Passo 2 — Extraiam o nível de severidade.
Como pensar: Usem .split("|") para quebrar a linha em campos e peguem o segundo. Cuidado com os espaços: " INFO " não é igual a "INFO" — por isso o .strip().
4
Passo 2 — Extraiam o IP de origem.
Como pensar: O campo vem como ip=192.168.4.21. É preciso localizar o trecho e remover o prefixo ip= — dá para usar split, fatiamento ou replace.
5
Passo 2 — Filtrem apenas ERROR e CRITICAL.
Como pensar: Uma estrutura condicional decide se aquela linha vira alerta. Pensem: a verificação deve olhar o campo do nível já extraído, ou a linha inteira? Qual é mais segura?
6
Passo 3 — Gerem o alerta formatado e colem a saída.
Como pensar: A mensagem usa f-string no formato do roteiro. Confiram: o número de alertas impressos tem que bater com a coluna “vira alerta?” da tabela do início.
7
Observação final — o que os dados revelam?
Como pensar: Olhem os IPs dos alertas gerados. Algum se repete? Em quais níveis? É esse tipo de padrão que faz um analista de SOC abrir uma investigação.
CONFIRA

Checklist antes de gerar o PDF

Ao clicar em “Gerar PDF da resposta”, o navegador monta o relatório completo no padrão de roteiro de aula prática — com capa, folha de rosto, objetivos, procedimentos, as respostas do grupo e as referências. Na janela de impressão, escolha Destino: Salvar como PDF, salve como NOME_TURMA_S19A4 e envie no AVA.
AVALIAÇÃO

Como esta atividade será avaliada

CritérioPontos
Extração correta do nível de severidade2,5
Extração correta do IP, sem o prefixo2,5
Filtro correto de ERROR e CRITICAL2,5
Alerta formatado conforme o roteiro e saída conferida2,5
REFERÊNCIAS

De onde veio o conteúdo desta aula

Curso Técnico em Desenvolvimento de Sistemas
Roteiro de Aula Prática
Lógica e Linguagem de Programação
Parsing de logs: desafio de automação SOC
São Paulo - SP
2026
Roteiro de Aula Prática
Parsing de logs: desafio de automação SOC
Roteiro de Aula Prática apresentado ao componente curricular Lógica e Linguagem de Programação, como requisito parcial de avaliação do 3º bimestre.
São Paulo - SP
2026

Roteiro de Aula Prática

Nome da disciplina: LÓGICA E LINGUAGEM DE PROGRAMAÇÃO
Unidade: 3 – Manipulação de texto aplicada
Aula: 4 – Automação de triagem de logs de segurança
Base teórica: Capítulos 8, 14 a 17 e 25 a 27 — strings, decisões e listas

Objetivos

  • Percorrer uma lista de registros de texto com estrutura fixa.
  • Extrair campos de uma string usando .split("|") e fatiamento.
  • Filtrar ocorrências por nível de severidade com estrutura condicional.
  • Gerar saída formatada com f-string para alertas de segurança.

Solução digital

Python (VS Code ou PyCharm).

Criem o arquivo triagem_logs.py na IDE. O programa não pede nada ao usuário: ele processa a lista de logs já declarada no código e imprime os alertas.

Procedimento / Atividade

Atividade proposta: Como Analista de SOC (Centro de Operações de Segurança) de uma startup, sua tarefa é automatizar a análise de milhares de logs gerados pelo sistema. Vocês vão desenvolver um programa em Python que percorre registros brutos, identifica o nível de severidade de cada evento e destaca apenas as ocorrências ERROR ou CRITICAL — as que exigem ação humana.

Procedimentos para a realização da atividade

Checklist de entrega

Critérios de avaliação

CritérioPontos
Extração correta do nível de severidade2,5
Extração correta do IP, sem o prefixo2,5
Filtro correto de ERROR e CRITICAL2,5
Alerta formatado conforme o roteiro e saída conferida2,5

Referências

  • SEDUC-SP — Roteiro de Atividade Prática SISANO1C1B3S19A4AP: “Parsing de logs: desafio de automação SOC”.
  • Apostila da disciplina — Capítulo 8 (strings), 14 a 17 (decisões) e 25 a 27 (listas).
  • Documentação oficial do Python — métodos de string: split(), strip(), replace().
salva sozinho neste computador