| Bellacosa Mainframe e o streetlight effect |
☕ Um Café no Bellacosa Mainframe
Streetlight Effect: Doctor Who, COBOL e o Dia em que Procuramos o Erro Debaixo do Poste — Porque Era o Único Lugar Onde Tínhamos Log
Uma viagem pela TARDIS dos incidentes para entender por que investigamos primeiro aquilo que é fácil de observar — e como dashboards, traces, logs, métricas e ferramentas podem nos prender exatamente no lugar errado enquanto a causa raiz permanece escondida no escuro
02:17.
Madrugada.
War Room.
Esse horário por si só já reduz aproximadamente 40% da capacidade humana de produzir frases completas.
O café está naquela fase em que não se sabe mais se:
é bebida;
é combustível;
ou se deveria possuir classificação de risco químico.
Na tela:
INCIDENTE P1
APLICAÇÃO:
PAYMENTS-X
SINTOMA:
TRANSAÇÕES INTERMITENTEMENTE LENTAS
INÍCIO:
01:43
CLIENTES AFETADOS:
INDETERMINADO
O gerente pergunta:
— Db2?
DBA:
— Normal.
— CICS?
CICS:
— Normal.
— CPU?
Sysprog:
— Normal.
— Storage?
— Normal.
— MQ?
— Parece normal.
Silêncio.
Nosso jovem programador COBOL observa o dashboard.
Tudo:
verde.
Mas clientes continuam:
reclamando.
O gerente pergunta:
— Temos algum log mostrando erro?
— Não.
— Trace?
— Nada evidente.
— Então onde está o problema?
Nosso jovem responde:
— Talvez onde não estamos olhando.
O gerente olha para ele.
— Excelente. Onde?
— Não sei.
— Então como vamos procurar?
Silêncio.
Uma voz no fundo:
— Vamos aumentar o trace do Db2.
Outra:
— Podemos ativar mais CICS monitoring.
Outra:
— Vamos analisar SMF.
Nosso jovem percebe algo estranho.
Ninguém tinha evidência de que:
Db2
ou CICS
fossem a causa.
Mas eram os lugares onde:
existiam ferramentas excelentes.
Logs.
Counters.
Traces.
Especialistas.
Ou seja:
havia luz.
VWORP.
VWORP.
VWORP.
A TARDIS surge no corredor.
A porta abre.
O Doctor sai segurando algo aparentemente incapaz de passar por qualquer processo sério de change management.
Ele observa:
RMF.
Db2.
CICS.
MQ.
Depois pergunta:
— Por que estão olhando aqui?
Gerente:
— Porque o problema está aqui.
— Como sabem?
— Porque estamos investigando aqui.
Doctor:
— Isso explica onde vocês estão olhando.
Pausa.
— Não explica onde perderam a chave.
Bem-vindo ao:
Streetlight Effect
ou:
Efeito Poste de Luz
Também conhecido em alguns contextos como:
Drunkard’s Search Principle
A ideia é simples:
tendemos a procurar respostas onde é mais fácil procurar, não necessariamente onde é mais provável encontrá-las.
Em linguagem Bellacosa:
“Se só temos log embaixo do poste, depois de algumas horas começamos perigosamente a acreditar que a causa raiz também deve morar embaixo dele.”
💡 A história clássica
Existe uma velha anedota.
Um policial encontra um homem procurando algo debaixo de um poste.
Pergunta:
— O que você perdeu?
— Minhas chaves.
— Onde perdeu?
O homem aponta:
para uma área escura do outro lado da rua.
Policial:
— Então por que está procurando aqui?
Resposta:
— Porque aqui tem luz.
Pronto.
Streetlight Effect.
☕ O bêbado não é burro
Isso é importante.
Procurar:
onde existe luz
faz sentido.
É mais fácil.
Mais rápido.
Talvez inclusive valha a pena começar ali.
O erro acontece quando:
facilidade de investigação é confundida com probabilidade de causa.
🧠 COBOL para iniciantes
Imagine programa:
READ CUSTOMER-FILE
AT END
MOVE 'Y' TO EOF-SW
END-READ.
Produção relata:
registros desaparecendo.
Você abre:
programa COBOL.
Porque:
é o que conhece.
Analisa:
READ.
IF.
PERFORM.
Nada.
Passa:
três horas.
Depois alguém pergunta:
— O arquivo de entrada está completo?
Silêncio.
Você nunca:
olhou.
Porque o ticket dizia:
“Erro no programa COBOL.”
Streetlight Effect.
☕ Às vezes o bug do COBOL
não está:
no COBOL.
Essa frase separa:
iniciante
de:
analista.
🧠 Sintoma não identifica camada
Aplicação lenta.
Pode ser:
COBOL;
Db2;
CICS;
MQ;
network;
DNS;
storage;
API externa;
batch concorrente;
authentication;
downstream.
O sintoma:
“lento”
não possui:
copybook dizendo:
ROOT-CAUSE = DB2
Infelizmente.
🧠 Representativeness Heuristic entra pela porta
“Tem cara de Db2.”
Já vimos.
Agora Streetlight acrescenta:
“E Db2 é justamente onde temos ferramenta boa.”
Perfeito.
Duas forças:
parece Db2
é fácil investigar Db2
Resultado:
Db2 vira:
suspeito oficial.
👻 Easter Egg nº 1 — Dalek investigando
Dalek:
— LATENCY DETECTED.
Doctor:
— Onde?
— UNKNOWN.
— O que vão investigar?
— DATABASE.
— Por quê?
— DATABASE DASHBOARD AVAILABLE.
— Isso não é uma causa.
— DASHBOARD HAS GRAPHS.
— Também não é causa.
— GRAPHS ARE BEAUTIFUL.
Doctor:
— Estamos perdidos.
🧠 Streetlight Effect e McNamara Fallacy
Aqui a sequência fica linda.
McNamara Fallacy:
o que consigo medir ganha prioridade sobre o difícil de medir.
Streetlight Effect:
o que consigo observar ganha prioridade na investigação.
Ou seja:
MCNAMARA:
"MEÇA ONDE É FÁCIL"
↓
STREETLIGHT:
"PROCURE ONDE É FÁCIL"
Agora:
o escuro some.
🧠 Metric Fixation prepara terreno
Dashboard:
CPU.
Db2.
CICS.
Tudo bem instrumentado.
Uma dependência FTP obscura:
sem telemetria.
Qual área aparece em:
todas as War Rooms?
As instrumentadas.
Isso pode criar:
viés estrutural.
☕ O componente mais observado
não é necessariamente:
o componente mais culpado.
Talvez apenas:
o que tem Grafana.
🎯 Pergunta Bellacosa nº 1
“Estamos investigando este componente porque há evidência contra ele ou porque temos ferramentas melhores para observá-lo?”
Essa pergunta é ouro.
🧠 Observability Bias
Podemos pensar de forma prática:
aquilo que produz:
logs;
metrics;
traces
fica:
visível.
Aquilo que não produz:
some.
Mas:
invisibilidade técnica não é inocência.
🧠 Um legado silencioso
Imagine:
sistema antigo.
Sem:
APM.
Sem:
OpenTelemetry.
Sem:
dashboard moderno.
Só:
SYSOUT.
Aplicações modernas ao redor:
instrumentação total.
Incident:
qual recebe mais suspeita?
Modern services.
Porque:
vemos.
Legacy:
fica no escuro.
Talvez seja:
justamente a causa.
☕ O monstro pode não estar no dashboard
porque:
nasceu antes do dashboard.
🧠 Mainframe tem vantagem e armadilha
Mainframe possui:
instrumentação maravilhosa.
SMF.
RMF.
CICS statistics.
Db2 accounting.
IMS logs.
MQ.
Tudo muito rico.
Isso é:
excelente.
Mas também pode gerar:
uma confiança interessante:
“Se houvesse algo errado, apareceria.”
Hmm.
Nem sempre.
🧠 Telemetria não cobre tudo
Pode faltar:
business context;
external dependency;
bad data;
human process;
rare race condition;
timing;
client-side behavior.
🎯 Pergunta Bellacosa nº 2
“Que tipo de falha nosso conjunto atual de instrumentos simplesmente não consegue enxergar?”
Perfeita para arquitetura.
🧠 Streetlight e Confirmation Bias
Hipótese inicial:
Db2.
Agora procuramos:
Db2 logs.
Encontramos:
um warning.
Ahá!
Confirmation Bias.
Mas:
sistemas complexos sempre possuem:
warnings.
A questão:
é causal?
Talvez:
não.
☕ Todo log possui algo assustador
se você olhar:
tempo suficiente.
🧠 Correlation hunting
Incident:
01:43.
Encontramos:
Db2 spike:
01:42.
Pronto.
Cause.
Maybe.
Mas também:
backup começou;
network jitter;
authentication refresh;
MQ batch.
Precisamos:
causalidade.
🧠 Narrative Bias entra
Uma boa história aparece:
“Db2 começou a sofrer → aplicação ficou lenta → clientes reclamaram.”
Coerente.
Parece:
root cause.
Agora ninguém quer:
sair do poste.
Narrative Bias.
🎯 Pergunta Bellacosa nº 3
“Que evidência faria essa hipótese morrer?”
Excelente.
Se resposta:
“nenhuma,”
não temos hipótese.
Temos:
religião.
🧠 House MD entra no NOC
Equipe:
— Db2.
House:
— Por quê?
— Query ficou lenta.
— Causa ou sintoma?
— Parece causa.
— Então parem Db2.
— Não podemos.
— Ótimo. Então talvez precisemos pensar.
House e Doctor:
seriam expulsos da mesma War Room em aproximadamente:
12 minutos.
☕ Diagnóstico diferencial
É exatamente isso.
Não:
“qual causa?”
Mas:
“quais causas plausíveis explicariam o conjunto de sintomas?”
🧠 Differential Diagnosis para TI
Imagine:
transação lenta.
Hipóteses:
H1 DB2 LOCK
H2 CICS TASK QUEUE
H3 MQ LATENCY
H4 NETWORK
H5 EXTERNAL API
H6 RACF/AUTH
H7 DATA DISTRIBUTION
H8 CLIENT RETRY
Agora busque:
evidências.
Não fique:
apenas onde a lanterna alcança.
🧠 Hypothesis Matrix
HIPÓTESE EVIDÊNCIA A FAVOR CONTRA TESTE
DB2 LOCK pequena forte accounting
MQ média pouca queue/trace
NETWORK média none packet timing
API EXT forte none external logs
Isso reduz:
Streetlight Effect.
☕ War Room vira investigação
Não:
turismo por dashboard.
🧠 Action Bias piora tudo
Pressão.
Todos querem:
fazer.
Onde conseguem agir?
Db2.
CICS.
Restart.
Porque:
tem console.
Illusion of Control.
Streetlight.
Action Bias.
Agora comando acontece:
no local mais visível,
não necessariamente:
no culpado.
🧠 Console Bias
Não é um termo formal que precisamos inventar.
Mas a imagem é ótima:
quem possui console sente que possui ação.
☕ Se tenho martelo
e dashboard de pregos...
você conhece o resto.
🧠 Maslow’s Hammer
Relacionado:
se a única ferramenta é martelo,
tudo parece prego.
Streetlight é diferente:
você procura onde há luz.
Mas os dois podem:
trabalhar juntos.
👻 Easter Egg nº 2 — Sonic Screwdriver
Companion:
— Doctor, sua chave de fenda sônica não abre madeira.
— Eu sei.
— Então?
— Estou procurando problema que envolva metal.
— Por quê?
— Porque consigo resolver metal.
Companion:
— Isso parece profundamente suspeito.
🧠 Expertise Bias
DBA vê:
Db2.
Network engineer vê:
network.
COBOL programmer vê:
code.
Security vê:
attack.
Todo especialista possui:
uma lanterna.
Problema:
cada lanterna ilumina:
um pedaço.
🧠 Fundamental Attribution to Component
Talvez possamos dizer:
não culpe especialistas.
É natural.
Conhecimento molda:
atenção.
Defesa:
multidisciplinaridade.
☕ War Room existe justamente porque
nenhuma pessoa possui:
todas as lanternas.
🎯 Pergunta Bellacosa nº 4
“Quem precisamos trazer para a sala porque pode enxergar uma parte do sistema que ninguém aqui enxerga?”
Muito importante.
🧠 Streetlight e silos
Silos tornam:
lanternas separadas.
App:
“infra.”
Infra:
“app.”
DB:
“network.”
Network:
“application.”
Cada um prova:
sua área verde.
Incident continua.
☕ Todos inocentes
sistema culpado.
Clássico.
🧠 End-to-End Thinking
Cliente atravessa:
front-end;
API;
network;
auth;
mainframe;
CICS;
COBOL;
Db2;
MQ.
O problema pode estar:
na transição.
Interfaces.
Onde ownership:
é fraco.
E justamente:
interfaces costumam ter:
menos observabilidade.
🧠 Handoffs são regiões escuras
Entre:
teams.
Products.
Vendors.
Protocols.
Streetlight ama:
essas regiões.
Porque:
ninguém olha.
🎯 Pergunta Bellacosa nº 5
“Onde estão os limites de responsabilidade entre sistemas e quem observa esses limites?”
Excelente.
🧠 A chave pode estar no estacionamento
Talvez o incidente esteja:
fora da nossa organização.
Third-party API.
Telecom.
DNS provider.
Certificate.
User device.
Se dashboard interno:
verde,
talvez seja:
boa pista.
Não:
prova de inexistência.
☕ “Nosso sistema está normal”
pode significar:
“nossos sensores internos estão normais.”
Frases diferentes.
🧠 External Dependencies
Catalog.
Map.
Monitor.
Include:
vendor.
Otherwise:
dark region.
🧠 Streetlight e Availability Heuristic
Último incidente:
Db2.
Agora:
novo incidente.
Db2 vem:
rápido à memória.
Availability Bias.
Streetlight:
ferramentas já abertas.
Recency Bias:
incidente de ontem.
Representativeness:
sintoma parece igual.
Perfeito storm.
🌀 Bias Stack
RECENCY
↓
"ONTEM FOI DB2"
REPRESENTATIVENESS
↓
"PARECE DB2"
AVAILABILITY
↓
"LEMBRO DE DB2"
STREETLIGHT
↓
"TEMOS LOG DB2"
CONFIRMATION
↓
"ACHEI UM WARNING DB2"
Parabéns.
Root cause:
talvez DNS.
☕ O cérebro acabou de abrir cinco tickets contra Db2
sem advogado.
🧠 Base Rate Neglect
Historicamente:
quantos incidentes vêm:
de Db2?
Network?
Data?
External?
Use:
base rate.
Ajuda:
priorizar hipóteses.
Mas:
não vire Metric Fixation.
Contexto.
🧠 Bayesian mindset
Sem matemática pesada:
prior probability.
New evidence.
Update.
Não:
apaixone pela primeira hipótese.
🎯 Pergunta Bellacosa nº 6
“Essa hipótese é provável ou apenas fácil de investigar?”
Simples.
Poderosa.
🧠 Streetlight em debugging COBOL
Bug:
valor incorreto.
Programador abre:
calculation paragraph.
COMPUTE TOTAL = PRICE * QUANTITY.
Parece:
óbvio.
Investiga.
Mas:
PRICE já chegou errado.
Origin:
copybook mapping.
Data conversion.
Input.
Streetlight:
olhar onde resultado aparece.
Root cause:
earlier.
☕ Bug costuma gostar de viajar
e aparecer:
muito longe de onde nasceu.
🧠 Data lineage
Para problemas de dados:
siga:
origem.
Transformações.
Don't only:
final program.
🧠 First Bad Value
Pergunte:
“Qual é o primeiro ponto onde o valor deixa de estar correto?”
Essa é uma técnica excelente.
Vai:
para trás.
🧠 Binary Search da cadeia
Se pipeline:
10 etapas.
Valor ruim no final.
Check:
etapa 5.
Bom?
Então:
6–10.
Ruim?
1–5.
Simple.
☕ Divide et impera
Antes:
de culpar COBOL.
🧠 Streetlight em performance
Application slow.
Você mede:
CPU.
CPU high.
Ahá.
Mas high CPU pode ser:
efeito.
Not cause.
Maybe retries:
cause CPU.
Why retries?
Network timeout.
Root cause:
network.
CPU:
poste iluminado.
🧠 Symptom vs Cause
Always ask:
upstream/downstream.
🎯 Pergunta Bellacosa nº 7
“Isso explica o incidente ou apenas mostra onde o incidente ficou visível?”
Excelente.
🧠 Streetlight em observabilidade
Observability itself can:
create blind spot.
Dashboard built:
for expected failures.
Unknown failure:
not represented.
That's why:
logs/traces/exploration.
🧠 Known Unknown versus Unknown Unknown
Metrics answer:
questions anticipated.
Observability ideally helps:
ask new questions.
Important.
☕ Métrica diz:
“aquilo que imaginamos monitorar.”
Incidente pergunta:
“e aquilo que vocês não imaginaram?”
🧠 Streetlight e AI Ops
IA recebe:
telemetria disponível.
Detecta:
patterns.
Mas se root cause está:
em fonte não conectada,
modelo não vê.
Then:
AI confidence may:
still high.
McNamara + Streetlight automatizados.
🤖 AI cannot infer data it never gets
Pode:
inferir.
Mas não magicamente:
observe.
Garbage/missing context.
🧠 AI incident assistant
It may rank:
Db2
because:
rich telemetry.
Legacy system:
little telemetry.
Algorithm:
biased by observability.
This is huge.
🎯 Pergunta Bellacosa nº 8
“O modelo está dizendo que esse componente é mais provável ou apenas possui mais dados sobre ele?”
Excelente para IA.
🧠 Data Availability Bias
In machine learning:
what data exists shapes:
model.
Streetlight Effect applies:
beautifully.
🧠 Search Space Bias
If tool only queries:
known datasets,
cause outside:
never found.
Need:
coverage awareness.
☕ IA com lanterna maior
continua:
lanterna.
Não vira sol.
🧠 Streetlight em segurança
Security monitors:
network events.
Attack occurs:
business logic.
Dashboard:
clean.
Or monitor:
cloud.
Mainframe path:
less visible.
Attacker chooses:
dark region.
🧠 Attackers love blind spots
If defenders monitor:
A,
adversary uses:
B.
Observability becomes:
attack surface information.
🧠 Detection coverage
Map:
what we detect.
What we don't.
Don't assume:
zero alert = zero attack.
McNamara again.
🎯 Pergunta Bellacosa nº 9
“Onde um atacante escolheria operar justamente porque nossos sensores são mais fracos?”
Powerful.
🧠 Streetlight em fraud detection
Model detects:
known fraud patterns.
Fraudsters move:
to new pattern.
Team studies:
alerts.
But no alert:
means invisible.
Streetlight.
🧠 Unknown fraud
Need:
random sampling.
Anomaly exploration.
☕ Procurar só onde detector apita
é deixar detector decidir:
o universo pesquisável.
🧠 Random Sampling
Excellent anti-Streetlight technique.
Sample:
transactions with no alert.
See:
what model misses.
🧠 Negative Space Analysis
Analyze:
absence.
Non-alerted population.
Very useful.
🧠 Streetlight em QA
Tests cover:
known paths.
Bugs appear:
untested combinations.
Team investigates:
failed tests.
But customer bug:
outside suite.
Coverage metric:
green.
Metric Fixation.
Streetlight.
🧠 Exploratory Testing
Human exploratory testing searches:
outside scripted light.
Very valuable.
☕ Test case é lanterna
Exploratory tester:
anda no escuro.
Com cuidado.
🧠 Streetlight e code coverage
Coverage:
95%.
Fantastic.
Remaining 5%:
maybe critical exception path.
Goal Gradient wants:
100%.
Streetlight focuses:
covered code because reports rich.
But defect:
uncovered.
🎯 Pergunta Bellacosa nº 10
“O que existe exatamente na parte que nossos testes não exercitam?”
🧠 Streetlight em RCA
Postmortem uses:
logs available.
Root cause becomes:
thing represented in logs.
Human process:
not logged.
Ambiguous requirement:
not logged.
Org pressure:
not logged.
So:
technical cause dominates.
McNamara Fallacy.
🧠 Socio-technical systems
Incidents often involve:
people;
process;
tools;
incentives.
Not just:
component failure.
☕ ERROR CODE 1234
é mais fácil colocar no RCA
que:
“deadline fez equipe normalizar risco durante seis meses.”
Mas segundo pode ser:
mais importante.
🧠 Fundamental Attribution Error
If only human action visible:
“operator error.”
But system context:
dark.
Again.
🎯 Pergunta Bellacosa nº 11
“Qual parte organizacional ou processual da história não deixa log?”
Excelente para postmortem.
🧠 Streetlight em change management
Incident after change.
Change is:
visible.
Immediate suspect.
Maybe fair.
But could be:
coincidence.
Post hoc.
Need evidence.
☕ “Mudou às 14h, quebrou às 15h”
é:
pista.
Não sentença judicial.
🧠 Post Hoc Ergo Propter Hoc
After therefore because.
Another cognitive trap.
Streetlight enhances:
recent change visible.
🧠 Change Timeline
Compare:
symptoms before.
Control group.
Rollback.
Test causal.
🧠 Streetlight e blame
Person who touched system:
visible.
People who designed:
bad process years ago:
invisible.
Fundamental Attribution Error.
🧠 “Last touch” trap
Last person:
not necessarily cause.
Could be:
trigger.
Latent conditions.
Swiss Cheese.
☕ Quem apertou Enter
nem sempre escreveu:
o destino.
🧠 Streetlight em vendor management
Vendor system:
black box.
Internal system:
fully visible.
Incident.
Where do we investigate?
Internal.
Why?
Access.
Vendor says:
“all good.”
Maybe.
We can't see.
Dark region.
🧠 Black Box Risk
Contracts need:
telemetry.
Evidence.
Escalation.
Otherwise:
permanent blind spot.
🎯 Pergunta Bellacosa nº 12
“Que parte do serviço não conseguimos investigar diretamente por dependência de fornecedor?”
🧠 Streetlight em cloud
Cloud dashboards:
beautiful.
On-prem legacy:
awkward.
Transformation team sees:
cloud data.
Maybe assumes:
cloud issue share higher.
Measurement bias.
🧠 Data richness changes perception
More data often means:
more anomalies found.
Then:
“cloud has more problems.”
Maybe just:
more observable.
☕ Com lanterna melhor
você encontra:
mais poeira.
Não significa:
que aquele quarto é o mais sujo.
🧠 Detection Bias
More monitoring:
more incidents detected.
This can make:
system look worse.
Again McNamara.
🧠 Streetlight e training
Junior knows:
JCL.
Incident:
explores JCL.
Doesn't know:
WLM.
Maybe root cause:
WLM.
Knowledge defines:
search space.
Learning expands:
streetlights.
☕ Quanto mais você aprende
mais postes acende.
Beautiful.
🧠 Generalist value
Cross-domain people:
connect.
They may:
notice boundary.
Mainframe generalist:
COBOL + Db2 + CICS + JCL + ops.
Great for:
Streetlight defense.
🧠 But no one knows everything
Thus:
collaboration.
🎯 Pergunta Bellacosa nº 13
“Qual domínio relevante ninguém nesta War Room conhece suficientemente?”
🧠 Streetlight e Dunning-Kruger
Novice:
doesn't know dark regions exist.
Expert:
knows.
Dunning-Kruger.
A novice may:
confidently search:
known area.
☕ “Olhei tudo.”
Tudo o quê?
Tudo que:
você conhece.
Different.
🧠 Unknown Unknown Inventory
Funny but useful.
Ask:
what dependencies might we have forgotten?
Architecture map.
CMDB.
Service map.
🧠 Dependency discovery
Logs.
Network.
Code.
Documentation.
People.
🧠 Streetlight e Illusion of Control
Dashboard gives:
visibility.
Console gives:
commands.
Now:
feels controlled.
But dark dependency:
outside.
Illusion.
🎯 Pergunta Bellacosa nº 14
“O que está fora do nosso controle mas dentro da nossa cadeia de dependência?”
🧠 Streetlight Effect em mainframe performance — exemplo completo
Batch:
normally:
40 min.
Today:
Step:
COBOL + Db2.
First instinct:
Db2.
We have:
accounting.
SQL stats.
Nothing.
Next:
COBOL.
CPU:
normal.
Then someone asks:
input file size?
Yesterday:
20M.
Today:
75M.
Root cause:
upstream duplicate records.
Program:
fine.
Db2:
fine.
Performance:
expected given volume.
The Streetlight trap was:
investigate components
instead of:
workload.
☕ Antes de tunar
pergunte:
“o que mudou?”
Old but gold.
🧠 Change Analysis
Four buckets:
code;
config;
data;
environment.
Add:
external dependencies.
🧠 Bellacosa 5D
1. CODE
2. CONFIG
3. DATA
4. ENVIRONMENT
5. DEPENDENCIES
Check all.
🎯 Pergunta Bellacosa nº 15
“O que mudou no sistema, nos dados ou no ambiente antes do sintoma?”
🧠 Streetlight em dados
If log:
application.
But bad source data:
not logged as error.
Application behaves:
correctly on wrong data.
Important.
🧠 Correct Software, Wrong Outcome
Technical success.
Business failure.
Goal Substitution.
☕ Programa fez exatamente:
o que mandaram.
Infelizmente.
🧠 Reconciliation catches dark problems
Control totals.
Counts.
Business checks.
Excellent.
🧠 Streetlight em DR
DR tests:
documented scenarios.
Real disaster:
different.
Tests illuminate:
known.
Need:
chaos/scenario variation.
🧠 Preparedness beyond checklist
Unknown scenarios.
Decision-making.
☕ O desastre real raramente lê:
runbook antes.
🧠 Streetlight e Zero-Risk Bias
We eliminate:
well-understood risk.
Unknown risk:
dark.
Zero-Risk makes:
visible zero attractive.
Meanwhile:
unmeasured tail remains.
McNamara + Streetlight + Zero-Risk.
🎯 Pergunta Bellacosa nº 16
“Estamos removendo um risco porque é importante ou porque conseguimos provar que chegou a zero?”
🧠 Streetlight e Need for Control
Darkness:
uncomfortable.
So organizations:
increase instrumentation.
Good!
But cannot instrument:
everything perfectly.
At some point:
need judgement.
🧠 Observability expansion
A healthy response to Streetlight:
move the lamp.
Not:
deny darkness.
☕ Leve a lanterna
até onde perdeu a chave.
Simples.
🧠 Instrument the dark
If recurring blind spot:
add:
telemetry.
This is a key practical lesson.
After incident:
ask:
what did we wish we could see?
Then:
instrument.
🧠 Observability Debt
Systems can have:
observability debt.
No logs.
No trace.
Poor correlation IDs.
Worth fixing.
☕ Dívida técnica também pode:
ser escuridão.
🧠 But don't instrument blindly
Need:
useful signals.
Not:
terabytes.
Metric Fixation.
🧠 Streetlight anti-pattern: logging everything
You think:
more logs = more light.
But:
noise.
Need:
structure.
Correlation.
Context.
🎯 Pergunta Bellacosa nº 17
“Que nova evidência específica gostaríamos de ter tido durante este incidente?”
Then instrument that.
🧠 Streetlight e Correlation IDs
Modern distributed systems:
essential.
Request crosses:
many boundaries.
Correlation ID:
moves light.
Mainframe integrations:
same.
Trace transaction:
API → MQ → CICS → Db2.
☕ Um identificador atravessando mundos
quase uma mini-TARDIS.
🧠 End-to-End Transaction Tracing
Huge defense.
Don't only:
component dashboards.
Trace:
journey.
🧠 Customer-centric observation
Start:
customer transaction.
Follow.
Not:
component first.
This flips Streetlight.
🎯 Pergunta Bellacosa nº 18
“Podemos seguir uma transação real de ponta a ponta?”
Powerful.
🧠 Streetlight e sampling
If full tracing expensive:
sample.
But:
rare failures may be missed.
Adaptive sampling.
Error sampling.
🧠 Keep rare signals
Don't sample away:
problem.
☕ O bug raro
não aprecia:
amostragem econômica.
🧠 Streetlight em AI coding/debugging
Developer asks AI:
“find bug in this function.”
AI inspects function.
Maybe bug:
caller.
Input.
Schema.
Prompt created:
Streetlight boundary.
Need:
broader context.
🤖 Prompt Scope Bias
Not formal necessary.
But:
AI can only reason:
context given.
If context excludes:
root cause,
it may confidently debug:
wrong area.
🎯 Pergunta Bellacosa nº 19
“Estamos perguntando à IA onde está o bug ou dizendo implicitamente onde ela deve procurar?”
Excellent.
🧠 Repository-level context
For AI debugging:
stack trace.
Call chain.
Config.
Recent changes.
Tests.
Not only:
function.
☕ “Corrija este COBOL”
pode produzir:
belíssima correção
para:
programa inocente.
🧠 Streetlight e incident copilots
Agent trained on:
logs.
No ticket conversations.
Maybe misses:
human clue.
Connect:
multiple sources.
But privacy/governance.
🧠 Human-in-the-loop
Human can:
ask weird question.
Machine often:
optimizes available data.
Together:
stronger.
👻 Easter Egg nº 3 — Doctor e IA
AI:
— Probability Db2 root cause: 82%.
Doctor:
— Why?
— 84% of available telemetry pertains to Db2.
Doctor:
— That's not probability of guilt.
AI:
— Recalculating.
Good AI.
🧠 Streetlight e statistical significance
Researchers can study:
data available.
Hard-to-measure variables:
ignored.
Science also vulnerable.
Not anti-science.
It is:
methodological caution.
🧠 Measurement selection
Research question can drift:
to dataset availability.
Important.
☕ “Temos dados sobre isso”
não é:
a mesma frase que:
“isso é a pergunta mais importante.”
🧠 Business analytics
Same.
Company has:
clickstream.
Measures clicks.
Offline customer experience:
unknown.
Clicks become:
reality.
McNamara + Streetlight.
🎯 Pergunta Bellacosa nº 20
“Estamos fazendo a pergunta porque é importante ou porque já temos a tabela pronta?”
Brutal.
🧠 Streetlight e RCA tools
Automated RCA often ranks:
correlated metrics.
Useful.
But if causal source:
not monitored,
cannot rank.
Always retain:
unknown category.
🧠 "No evidence found" ≠ "component innocent"
Key.
☕ Ausência de evidência
não é automaticamente:
evidência de ausência.
Especially when:
sensor weak.
🧠 Negative Evidence depends on detection capability
If alarm would:
always fire,
no alarm:
strong evidence.
If alarm detects:
20%,
no alarm:
weak.
Need:
sensor sensitivity.
🎯 Pergunta Bellacosa nº 21
“Se esse problema estivesse acontecendo, nosso monitor realmente seria capaz de detectá-lo?”
This is one of the best.
🧠 Streetlight e security SIEM
No alert.
Means?
Depends:
coverage.
Rule.
Telemetry.
Detection logic.
No alert ≠ no compromise.
🧠 Detection engineering
Test controls.
Purple team.
☕ Detector também precisa:
ser testado.
🧠 Streetlight and backups again
Backup tool says:
success.
Restore test:
different light.
Need:
look at objective.
🧠 Goal Substitution connection
If goal:
backup completion,
you search:
backup logs.
If goal:
recoverability,
you test:
restore.
Different streetlight.
🧠 Streetlight e KPI investigation
KPI falls.
Management investigates:
components feeding KPI.
Maybe customer behavior changed outside:
measurement system.
Again.
🎯 Pergunta Bellacosa nº 22
“Qual fenômeno externo poderia produzir exatamente esse mesmo indicador?”
🧠 Streetlight e organisational politics
Sometimes dark regions remain dark because:
politically difficult.
Vendor.
Management decision.
Understaffing.
Unrealistic deadline.
Easier:
blame technical parameter.
Streetlight can be:
social.
☕ É mais fácil ajustar:
MAXTASK
que:
questionar prazo impossível.
Sometimes.
🧠 Political Streetlight
Not merely:
tool availability.
Also:
organizational comfort.
We search:
where safe.
Not:
where threatening.
🎯 Pergunta Bellacosa nº 23
“Existe uma hipótese que ninguém quer investigar porque seria organizacionalmente desconfortável?”
Powerful.
🧠 Moral Hazard and Principal-Agent
Vendor measured:
SLA.
Issue maybe contract design.
But investigation stays:
technical.
Because:
easier.
Principal-Agent.
🧠 Incentive Root Causes
Ask:
what behavior was rewarded?
Cobra.
Campbell.
Goodhart.
Some root causes:
not code.
☕ Nem todo bug compila
Alguns:
são aprovados em reunião.
🧠 Streetlight e “human error”
Human action:
visible.
System pressure:
dark.
So RCA:
human error.
Classic.
🧠 Work-as-imagined vs Work-as-done
Procedure says:
X.
Reality:
people do Y to make system work.
Y:
not logged.
Incident reveals.
Investigate.
🎯 Pergunta Bellacosa nº 24
“Como o trabalho realmente acontece quando ninguém está auditando?”
Important.
🧠 Streetlight e shadow IT
Official systems:
monitored.
Excel macro:
not.
Script local:
not.
Incident:
maybe shadow process.
Need:
discover.
☕ O componente mais crítico
pode estar:
no desktop do João.
🧠 Bus factor again
People are dependencies.
Observe.
🧠 Streetlight e monitoring design
A mature observability strategy asks:
not only:
“What should we measure?”
But:
“Where are we blind?”
Maintain:
blind spot register.
🧠 Blind Spot Register
BLIND SPOT:
External partner latency
IMPACT:
Payment timeout
CURRENT EVIDENCE:
Customer complaints only
MITIGATION:
Synthetic probe
Useful.
🎯 Pergunta Bellacosa nº 25
“Quais são nossos cinco maiores pontos cegos conhecidos?”
Excellent executive question.
🧠 Synthetic Monitoring
Great way to:
move light toward:
user journey.
Test:
from outside.
🧠 Real User Monitoring
Another view.
Internal green.
External slow.
Now:
see.
☕ Olhar de dentro
e olhar de fora.
Duas lanternas.
🧠 Streetlight e canaries
Canary transactions.
Business checks.
Useful.
🧠 Streetlight and data quality
Technical service green.
Business reconciliation red.
Need:
business observability.
🧠 Business Metrics
Not only:
technical.
Transaction value.
Success.
Balance.
🎯 Pergunta Bellacosa nº 26
“Temos observabilidade técnica ou observabilidade do negócio também?”
Huge.
🧠 Streetlight Effect em uma linha COBOL
IF LOG-AVAILABLE = 'Y'
PERFORM SEARCH-HERE
ELSE
MOVE 'NOT-CAUSE'
TO ASSUMPTION
END-IF.
Bug.
💻 Correção
IF LOG-AVAILABLE = 'Y'
PERFORM SEARCH-HERE
ELSE
PERFORM EVALUATE-BLIND-SPOT
END-IF.
Much better.
🧠 Bellacosa Search Strategy
When incident:
1. Start where evidence points.
Not where tools are nice.
2. List plausible layers.
Don't tunnel.
3. Mark blind spots.
Known dark.
4. Seek disconfirming evidence.
Kill hypotheses.
5. Trace end-to-end.
Customer journey.
6. Expand instrumentation after incident.
Move lamp.
📋 Checklist anti-Streetlight
[ ] Por que estamos investigando esta área?
[ ] Existe evidência ou apenas boa observabilidade?
[ ] Que componentes estão no escuro?
[ ] Alguma dependência externa está fora do painel?
[ ] O sintoma pode ser efeito e não causa?
[ ] Que hipótese contradiz nossa favorita?
[ ] Qual especialista ainda não está na sala?
[ ] Estamos ignorando interfaces entre times?
[ ] O dado de entrada foi validado?
[ ] Houve mudança de volume?
[ ] Existe trabalho manual escondido?
[ ] Um fornecedor é black box?
[ ] Nosso monitor detectaria essa classe de falha?
[ ] Podemos seguir uma transação ponta a ponta?
[ ] Qual evidência gostaríamos de ter e não temos?
🧠 Bellacosa Darkness Map
Antes de incidentes grandes:
WELL OBSERVED:
Db2
CICS
CPU
PARTIALLY OBSERVED:
MQ
Network
POORLY OBSERVED:
External API
User device
Manual reconciliation
UNKNOWN:
Legacy transfer chain
Isso é:
humildade operacional.
☕ Saber onde está escuro
já é:
forma de observabilidade.
🧠 Red Team da Observabilidade
Pergunte:
“Como um incidente poderia acontecer sem gerar nenhum de nossos alertas?”
Excelente.
Depois:
simulate.
🧠 Failure Injection
Chaos engineering can:
test blind spots.
But:
safely.
🧠 Tabletop
Cheaper.
“What if?”
🎯 Pergunta Bellacosa nº 27
“Qual falha grave passaria silenciosamente por todos os sensores atuais?”
Excellent.
🧠 Streetlight e AI Red Team
Ask model:
given monitoring map,
find blind spots.
Useful.
But:
human validation.
🧠 AI can help expand search
Instead of:
just ranking logged anomalies,
ask:
what unobserved dependencies could explain symptoms?
That's smarter.
☕ Use IA para:
mover a lanterna.
Não apenas:
examinar mais profundamente o mesmo poste.
🧠 Streetlight e Decision Journal
Record:
why investigated.
After RCA:
compare.
Were we biased?
Learn.
🧠 Incident Learning
If cause outside observed region:
add:
lesson.
Not only:
monitor.
Maybe:
architecture simplification.
🧠 Sometimes best fix is remove dark dependency
Not instrument:
everything.
Simplify.
☕ Menos corredor escuro
melhor que:
mil lanternas.
🧠 Streetlight e Need for Control
Instrumentation can grow:
infinitely.
Don't.
Prioritize:
risk.
Critical journeys.
🧠 Risk-Based Observability
Instrument:
high impact.
Hard failure.
Unknown.
🎯 Pergunta Bellacosa nº 28
“Estamos colocando luz onde há maior risco ou apenas onde é mais barato instalar a lâmpada?”
Perfeita.
🧠 Streetlight e McNamara — ciclo completo
Observe:
O QUE É FÁCIL MEDIR
↓
RECEBE DASHBOARD
↓
FICA VISÍVEL
↓
RECEBE ATENÇÃO
↓
RECEBE INVESTIGAÇÃO
↓
PARECE MAIS IMPORTANTE
Enquanto:
O DIFÍCIL DE MEDIR
↓
SEM DASHBOARD
↓
INVISÍVEL
↓
MENOS ATENÇÃO
↓
MENOS INVESTIGAÇÃO
↓
PARECE MENOS IMPORTANTE
Esse loop:
é perigoso.
🧠 Measurement becomes attention allocation
This is profound.
Dashboards don't only:
describe organization.
They decide:
where people look.
☕ Aquilo que ganha gráfico
ganha olhos.
Aquilo que ganha olhos
ganha orçamento.
Aquilo sem gráfico:
reza.
🧠 Streetlight em governance
Risk register includes:
known risks.
Management manages:
known.
Unknown:
ignored.
Need:
scenario planning.
🧠 Premortem
Imagine failure.
What could cause:
that isn't in risk register?
Excellent.
🎯 Pergunta Bellacosa nº 29
“O que pode nos derrubar justamente porque nunca entrou na lista?”
🧠 Streetlight em documentação
Runbook covers:
known incidents.
Future:
new.
Operator may search:
runbook only.
Need:
diagnostic thinking.
☕ Runbook é mapa
não:
território.
De novo.
🧠 Teach beginners hypotheses
Not only:
commands.
Why command?
What evidence?
What would prove wrong?
That's expertise development.
🧠 COBOL beginner maturity ladder
Nível 1
“Erro está no COBOL.”
Nível 2
“Vou ler código.”
Nível 3
“Vou validar input.”
Nível 4
“Vou mapear fluxo.”
Nível 5
“Vou testar hipóteses end-to-end.”
Nível 6
“Vou perguntar onde estamos cegos.”
Welcome:
seniority.
☕ Senior não sabe todas as respostas
Sabe:
onde ainda pode estar errado.
👻 Easter Egg final — a chave
Depois de quatro horas:
o Doctor pergunta:
— O que aconteceu imediatamente antes do primeiro timeout?
Alguém lembra:
— À 01:40 houve troca automática de certificado num proxy externo.
Silêncio.
— Temos log?
— Não.
— Dashboard?
— Não.
— Monitoring?
— Não.
— Então por que ninguém olhou?
Nosso jovem responde:
— Porque estava escuro.
Doctor:
— Finalmente.
🔧 Teste no proxy
Certificate chain:
incompleta.
Alguns clientes:
retries.
Timeout.
Application:
waiting.
Db2:
normal.
CICS:
normal.
MQ:
normal.
CPU:
normal.
O sistema interno estava:
fazendo exatamente aquilo que deveria.
O problema:
estava fora do poste.
☕ Quatro horas analisando Db2
Root cause:
certificado.
Um clássico universal.
🧠 Pós-incidente
Equipe adiciona:
synthetic monitoring.
Certificate expiry validation.
External dependency telemetry.
Service map.
Agora:
um pedaço do escuro:
ganha luz.
🧠 Não procuram culpado
Melhoram:
capacidade de enxergar.
Isso é:
maturidade.
📓 Diário do Doctor
Se guardar algumas ideias desta viagem, guarde estas:
Streetlight Effect é a tendência de procurar respostas onde é mais fácil procurar, em vez de onde a resposta é mais provável.
A anedota clássica envolve alguém procurando uma chave debaixo do poste porque ali existe luz, embora a tenha perdido em outro lugar.
Em TI, logs, dashboards, traces e conhecimento especializado criam regiões iluminadas.
Componentes pouco instrumentados podem virar pontos cegos.
McNamara Fallacy privilegia aquilo que conseguimos medir; Streetlight Effect privilegia aquilo que conseguimos investigar.
Metric Fixation faz o dashboard ganhar autoridade.
Representativeness faz o incidente “parecer” com algo conhecido.
Recency faz o incidente recente dominar a memória.
Confirmation Bias encontra sinais que apoiam nossa primeira hipótese.
Narrative Bias transforma esses sinais numa história convincente.
Action Bias nos faz agir sobre o componente onde temos console.
Illusion of Control faz confundir comandos disponíveis com controle real.
Sintoma não é causa.
Correlação temporal não é automaticamente causalidade.
Ausência de alertas só é evidência útil se o monitor realmente conseguir detectar aquela classe de falha.
A causa pode estar numa interface entre equipes, fornecedores ou tecnologias.
Tracing ponta a ponta é uma das melhores defesas.
Conhecer seus pontos cegos é parte da observabilidade.
E principalmente:
não procure a chave debaixo do poste apenas porque ali é confortável investigar. Se a evidência aponta para o estacionamento escuro, pegue uma lanterna e vá até lá.
🥚 Easter Egg final
Na manhã seguinte aparece um membro:
BELLACOSA.BIAS(STREETLIGHT)
Dentro:
IF AREA-HAS-GOOD-LOGS = 'Y'
PERFORM INVESTIGATE
END-IF.
IF AREA-HAS-NO-LOGS = 'Y'
PERFORM CHECK-BLIND-SPOT
END-IF.
IF HYPOTHESIS = 'EASY-TO-TEST'
AND EVIDENCE = 'WEAK'
PERFORM EXPAND-SEARCH
END-IF.
IF DASHBOARD = 'GREEN'
AND CUSTOMER = 'BROKEN'
PERFORM LEAVE-THE-STREETLIGHT
END-IF.
Comentário:
* THE LIGHT
* SHOWS WHERE
* YOU CAN SEE.
*
* NOT NECESSARILY
* WHERE THE ANSWER IS.
Outro:
* NO LOG
* DOES NOT MEAN
* NO PROBLEM.
Outro:
* FOLLOW THE TRANSACTION,
* NOT THE DASHBOARD.
Outro:
* IF EVERYONE
* IS LOOKING AT DB2,
* SOMEONE SHOULD
* LOOK SOMEWHERE ELSE.
E naturalmente:
* LOST KEY:
* DARK PARKING LOT.
*
* SEARCH LOCATION:
* UNDER LAMP.
*
* ROOT CAUSE:
* HUMAN.
Nosso jovem fecha o membro.
Ri.
🕰️ 06:34
Incident:
resolved.
Gerente pergunta:
— Então nossos dashboards estavam errados?
Nosso jovem:
— Não.
— Como não?
— Eles mostravam corretamente aquilo que estavam observando.
— Então qual era o problema?
Ele aponta para o mapa de dependências.
— Eles não estavam observando o lugar onde o problema estava.
Silêncio.
Doctor sorri.
— Excelente.
O gerente pergunta:
— Como impedimos isso da próxima vez?
Nosso jovem responde:
— Não impedimos completamente.
— Então?
— Aprendemos onde estão nossas áreas escuras.
— E colocamos mais dashboards?
— Às vezes.
Pausa.
— Em outras, colocamos pessoas melhores para perguntar onde ainda não olhamos.
Boa.
VWORP.
VWORP.
VWORP.
A TARDIS desaparece.
Na War Room fica uma frase:
“Observabilidade não é enxergar tudo. É saber o que enxergamos, saber o que não enxergamos e ter disciplina para procurar fora da luz quando as evidências exigirem.”
E talvez essa seja a essência do Streetlight Effect no Bellacosa Mainframe:
as ferramentas determinam onde é fácil procurar; engenharia madura garante que elas não determinem onde somos obrigados a acreditar que a verdade está.
☕🌀
Próxima parada: Search Satisfaction / Premature Search Termination — o dia em que encontramos a primeira explicação plausível, paramos de procurar e descobrimos tarde demais que havia uma segunda falha escondida logo atrás da primeira.
Sem comentários:
Enviar um comentário