Capítulo 13 — Criptografia e serviços de confiança: solução de problemas
Mapa da aula
Aula 13 publicada. Mapa, exemplo, EX049.
flowchart TD
N0["13.1 O ciclo de solução de problemas"]
N1["13.2 Triagem a partir dos logs"]
N2["13.3 Notas de escalonamento"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX049"]
Desenho lógico
flowchart LR
N0["13.1 O ciclo de solução de problemas"]
N1["13.2 Triagem a partir dos logs"]
N2["13.3 Notas de escalonamento"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX049"]
[13.1 O ciclo de solução de problemas]
|
v
[13.2 Triagem a partir dos logs]
|
v
[13.3 Notas de escalonamento]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX049]
Objetivos de aprendizagem
Você vai (1) seguir um ciclo de solução de problemas guiado por hipóteses; (2) fazer a triagem automática de logs de erros de TLS; (3) escalar com uma nota de passagem clara.
13.1 O ciclo de solução de problemas
Priya ensina um ciclo: observar o sintoma, formular uma hipótese, executar um teste que poderia prová-la errada, registrar o resultado e repetir. Quando os coletores dos depósitos de repente deixam de entrar no Wi-Fi, a primeira hipótese de Tomás é um certificado de cliente expirado. Ele confere um dispositivo e encontra um certificado válido, então a hipótese está errada. Sua segunda hipótese é o certificado do servidor RADIUS, que os coletores verificam contra a raiz interna da Lumen, e descobre-se que ele foi renovado sob um novo intermediário que os dispositivos não conhecem. Mudar uma coisa de cada vez tornou a causa visível rapidamente.
13.2 Triagem a partir dos logs
Quando muitas falhas chegam ao mesmo tempo, contá-las por motivo ajuda. Tomás escreve um pequeno script que lê linhas sintéticas do log do balanceador de carga, extrai o alerta ou o motivo do erro TLS e o grupo de clientes e imprime as contagens. Os padrões aparecem imediatamente: a maioria das falhas compartilha um motivo vindo de um grupo de clientes, o que sugere uma causa única, e não muitas. O laboratório abaixo mostra a saída para vinte linhas sintéticas. Contar não é diagnosticar, mas diz a ele que hipótese testar primeiro e dá aos gestores uma noção rápida da escala.
Laboratório — Triagem de erros de TLS
# Count synthetic TLS failure reasons by client group.
import collections
groups = ["handheld"] * 12 + ["browser"] * 5 + ["partner"] * 3
reasons = ["unknown_ca"] * 12 + ["certificate_expired"] * 2 + ["handshake_failure"] * 3 + ["protocol_version"] * 3
lines = [f"2026-03-02T06:{i:02d}:00Z lb1 tls_fail client={g} reason={r}" for i, (g, r) in enumerate(zip(groups, reasons))]
c = collections.Counter()
for ln in lines:
kv = dict(p.split("=") for p in ln.split()[3:])
c[(kv["reason"], kv["client"])] += 1
print("lines:", len(lines))
for (r, g), n in c.most_common():
print(f"{n:3d} {r:20} {g}")
Execute com python3 lab_triage.py. Saída verificada:
lines: 20
12 unknown_ca handheld
3 handshake_failure browser
3 protocol_version partner
2 certificate_expired browser
13.3 Notas de escalonamento
Se Tomás não consegue corrigir uma falha dentro da sua autoridade, ele escala com uma nota de passagem. Ela informa o sintoma e quando começou, os usuários e sistemas afetados, as hipóteses testadas e seus resultados com evidências, o que ele mudou, se mudou alguma coisa, e o que recomenda em seguida. Uma boa nota faz com que o engenheiro sênior não repita os testes dele. Priya lembra que ele deve incluir os fusos horários e as mensagens de erro exatas e escrever de forma simples, em vez de supor, porque um palpite confiante, mas errado, pode mandar a próxima pessoa na direção errada.
Exemplo resolvido
Tomás executa o laboratório de triagem, vê que a maioria dos erros é unknown_ca vindo dos coletores, testa a hipótese da cadeia do RADIUS e escreve uma nota de escalonamento recomendando distribuir o novo intermediário.
Caso sintético. As linhas de log, os dispositivos e o incidente do RADIUS são sintéticos.
Erros e limites
Os logs podem truncar ou omitir os motivos; as contagens podem enganar se um cliente repetir as tentativas rapidamente. Mudar várias coisas ao mesmo tempo destrói a trilha de evidências.
Exercícios
-
EX049 — Regra de um teste. Por que mudar apenas uma coisa por teste? Rubrica: 3 = para que o resultado possa ser atribuído àquela mudança e a causa fique visível;; 2 = atribuição;; 1 = velocidade;; 0 = nenhuma.
-
EX050 — Principal motivo da triagem. No laboratório, que motivo e que grupo de clientes predominaram? Rubrica: 3 = unknown_ca vindo dos clientes handheld, 12 de 20 linhas;; 2 = só o motivo;; 1 = vago;; 0 = nenhuma.
-
EX051 — Causa no RADIUS. O que causou as falhas de Wi-Fi dos coletores? Rubrica: 3 = o certificado do RADIUS renovado sob um novo intermediário desconhecido dos dispositivos;; 2 = menciona RADIUS;; 1 = certificado de cliente expirado;; 0 = nenhuma.
-
EX052 — Conteúdo da passagem. Cite quatro itens de uma nota de escalonamento. Rubrica: 3 = quatro entre sintoma e início, sistemas afetados, hipóteses com resultados, mudanças feitas, recomendação;; 2 = três;; 1 = um;; 0 = nenhuma.
Síntese
A solução de problemas funciona testando uma hipótese de cada vez, usando contagens para escolher onde olhar e escalando com notas completas.
Continue estudando — aula 13 (capítulo 13 de 18)
← Capítulo 12 · Índice das aulas · Capítulo 14 →
Continue para a próxima aula já escrita.