Translate

sexta-feira, 7 de abril de 2023

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z – O Mestre Bellacosa - Parte IV

 

Bellacosa Mainframe e o tratamento de erro em cobol parte iv



EXCEPTION/ERROR Procedures em COBOL

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z

Parte 4 – O Mestre Bellacosa

Frameworks Corporativos de Tratamento de Erros, MQ Dead Letter Queue, APIs JSON, OpenTelemetry, Splunk e a Arte Jedi de Transformar Falhas em Conhecimento

Por Bellacosa Mainframe


"O jovem Padawan trata erros. O Cavaleiro registra erros. O Mestre Bellacosa transforma erros em observabilidade, métricas e inteligência operacional."

Mestre Bellacosa Sysprog Jedi


Introdução

Na Parte 1 descobrimos.

DECLARATIVES.

Na Parte 2.

VSAM.

Retry.

FILE STATUS.

Logging.

Na Parte 3.

LE.

CEEHDLR.

SOC4.

IPCS.

Fault Analyzer.

Agora chegamos ao estágio final.

O ponto em que tratamento de erros deixa de ser apenas uma técnica de programação.

E se torna.

Arquitetura.

Governança.

Observabilidade.

Engenharia de Confiabilidade.


O antigo paradigma

Antigamente.

Erro.

DISPLAY.

SYSOUT.

Operador.

Telefone.

Programador.

Café.

Madrugada.


Funcionava.

Mas não escala.


O paradigma moderno

Erro.

Captura

Enriquecimento

Fila

Observabilidade

Análise

Automação

Correção

Conhecimento


O Framework Bellacosa

Arquitetura proposta.

Programa COBOL

↓

DECLARATIVE

↓

CEEHDLR

↓

LOGGER

↓

JSON

↓

MQ

↓

Dead Letter Queue

↓

Splunk

↓

Elastic

↓

OpenTelemetry

↓

Dashboard

↓

Equipe SRE

O Logger Corporativo

A primeira peça.

É o Logger.


Não basta.

DISPLAY.


Precisamos.

Contexto.


Exemplo.

Timestamp

Jobname

Stepname

Programa

Dataset

FILE STATUS

Return Code

Userid

Hostname

Transaction ID

Correlation ID

Exemplo.

{
"program":"PAGT0001",

"status":"39",

"dataset":"CLIENTE.MST",

"timestamp":"2026-06-26T03:14:22"

}

Muito mais útil.


MQ como barramento de erros

Muito elegante.


Ao invés.

Escrever SYSOUT.


Enviar.

Evento.


MQPUT.


Arquitetura.

Erro

↓

COBOL

↓

MQPUT

↓

ERROR.QUEUE

↓

Monitoramento

Muito usado.

Em bancos.


Dead Letter Queue

Pouco conhecida.

Mas poderosa.


DLQ.


Fila.

De mensagens.

Problemáticas.


Exemplo.

SYSTEM.DEAD.LETTER.QUEUE

Erro.

Não tratado.

DLQ.


Excelente.

Auditoria.


JSON Error Payload

Muito moderno.


Exemplo.

{

"program":"CLI0001",

"error":"FILE_STATUS_35",

"severity":"HIGH",

"retryable":true

}

Muito elegante.


APIs

COBOL.

Também produz.

Erros REST.


Exemplo.

HTTP 404.

{
"error":"Cliente não encontrado"
}

HTTP 500.

{

"error":"Erro interno"

}

Muito utilizado.


OpenTelemetry

Talvez a tecnologia.

Mais interessante.

Dos últimos anos.


Objetivo.

Instrumentação.


Métricas.


Traces.


Logs.


Arquitetura.

COBOL

↓

Event

↓

Collector

↓

Jaeger

↓

Grafana

Correlation ID

Fundamental.


Exemplo.

ABC123XYZ

Permite.

Rastrear.

Transação.

Completa.


PIX.

MQ.

API.

COBOL.

DB2.

Resposta.


Tudo rastreável.


Splunk

Muito utilizado.


Exemplo.

status=39

Retorna.

Milhares.

Eventos.


Excelente.

Investigação.


Elastic

Alternativa.

Popular.


Kibana.

Muito amigável.


Grafana

Excelente.

Visualização.


Painéis.


Erro por hora.

Erro por programa.

Erro por região.

Erro por dataset.


Muito útil.


OpenSearch

Também.

Muito adotado.


Observabilidade

Conceito moderno.


Três pilares.


Logs.


Metrics.


Traces.


Visualmente.

Logs

+

Metrics

+

Traces


=

Observability

SRE

Site Reliability Engineering.


Conceito Google.


Também aplicável.

Ao IBM Z.


Objetivos.


Disponibilidade.


Confiabilidade.


Tempo resposta.


SLA.


SLO.


Error Budget.


Inteligência Artificial

Muito interessante.


IA.

Pode detectar.


Anomalias.


SOC4.


Aumento.

Status 39.


Picos.

Timeout.


Antes.

Do usuário.

Perceber.


Segurança

Muito importante.


LGPD.


PCI DSS.


SOX.


ISO 27001.


Não exponha.


CPF.

Senha.

Cartão.

Token.

Dump.


Muito comum.

Esquecer.


Sanitização

Exemplo.

Antes.

CPF 12345678900

Depois.

CPF ********900

Muito melhor.


Framework Bellacosa Avançado

Arquitetura.

Programa

↓

Declarative

↓

CEEHDLR

↓

Logger

↓

JSON Event

↓

MQ

↓

DLQ

↓

Splunk

↓

OpenTelemetry

↓

Grafana

↓

Equipe SRE

↓

Knowledge Base

Curiosidade

Grandes bancos.

Fazem isso.

Há anos.


Usuário.

Nunca percebe.


Aplicativo.

Continua.

Funcionando.


Erro.

Foi.

Capturado.

Roteado.

Analisado.

Monitorado.


Automaticamente.


Bellacosa Best Practices

Sempre

Tenha Logger.


Sempre

Correlation ID.


Sempre

Retry.

Controlado.


Sempre

MQ.

Para erros críticos.


Sempre

Dashboards.


Sempre

Fault Analyzer.


Sempre

OpenTelemetry.

Quando possível.


Nunca

DISPLAY.

Como única estratégia.


Nunca

Ignorar.

SOC4.

SOC7.


Nunca

Expor.

Dados sensíveis.


O Conselho Final do Mestre Bellacosa

No início da jornada, o Padawan acreditava que tratamento de erros era apenas escrever:

IF WS-FS NOT = '00'

Depois descobriu DECLARATIVES.

Aprendeu FILE STATUS.

Conheceu VSAM.

Conversou com o Language Environment.

Leu CEEDUMPs.

Estudou Fault Analyzer.

Decifrou IPCS.

E finalmente compreendeu algo importante.

Falhas são inevitáveis.

Sempre existirão.

Discos falham.

Datasets desaparecem.

Locks acontecem.

Ponteiros ficam inválidos.

JSON chega corrompido.

APIs ficam indisponíveis.

Mensagens MQ se perdem.

E sistemas distribuídos inevitavelmente apresentam comportamento inesperado.

O verdadeiro diferencial não é construir software que nunca falha.

É construir software capaz de observar a falha.

Compreendê-la.

Registrá-la.

Correlacioná-la.

Aprender com ela.

E continuar servindo o negócio com elegância.

Porque talvez esta seja a maior lição dos Holocrons Esquecidos do IBM Z.

O jovem Padawan tenta evitar erros.

O Cavaleiro aprende a tratá-los.

O Mestre Bellacosa transforma erros em conhecimento operacional.

E o Conselho Jedi do IBM Z chama isso simplesmente de Engenharia de Confiabilidade.


Fim do Holocron Bellacosa Mainframe

EXCEPTION/ERROR Procedures em COBOL – Parte 1 a Parte 4 concluídas

"Que o FILE STATUS seja sempre 00. E que seus CEEDUMPs sejam curtos, raros e perfeitamente documentados." ☕🚀💙🖥️


Sem comentários:

Enviar um comentário