| Bellacosa Mainframe apresenta o ibm smf datasets de log e acompanhamento do zos |
☕ O Holocron do SMF
Como um Sysprog Júnior Aprende a Escutar o Batimento Cardíaco do IBM Z sem Precisar de Telepatia
Existem duas categorias de profissionais que trabalham em Mainframe.
Os que acham que o IBM Z é uma caixa preta misteriosa.
E aqueles que descobriram que a caixa fala.
E ela fala muito.
O nome dela é:
SMF — System Management Facility
Se o RMF é o eletrocardiograma em tempo real do z/OS, o SMF é o prontuário médico completo, o diário de bordo, a caixa-preta de avião, o log de auditoria, o extrato bancário e o histórico escolar do sistema.
Praticamente tudo o que acontece dentro de um z/OS deixa pegadas no SMF.
Para um Sysprog Júnior, aprender SMF é equivalente a um médico aprender a interpretar exames.
Sem ele você administra.
Com ele você entende.
A origem do SMF
SMF surgiu ainda nos primórdios do OS/360.
Década de 1960.
A IBM precisava responder perguntas simples:
Quem usou CPU?
Quanto espaço em disco foi consumido?
Quem executou determinado JOB?
Quem acessou recursos protegidos?
Qual aplicação está degradando o ambiente?
Nascia então o System Management Facility.
Inicialmente era pequeno.
Hoje tornou-se um dos maiores repositórios operacionais do planeta.
O que exatamente é o SMF?
SMF é um subsistema do z/OS responsável por coletar, organizar e armazenar eventos produzidos por diversos componentes do sistema.
Pense nele como um Event Hub.
Fontes produtoras:
JES2
JES3
CICS
IMS
DB2
RACF
TCP/IP
USS
RMF
DFSMS
WLM
VTAM
MQ
z/OS Connect
OpenTelemetry Agents
Aplicações próprias
Tudo pode produzir registros SMF.
O que o SMF armazena?
Praticamente qualquer evento relevante.
Exemplos:
Logon de usuário
Uso de CPU
Tempo de resposta
Execução de JOB
Alocação de datasets
Erros de disco
Atividades RACF
Conexões TCP
Paradas de subsistemas
Performance do DB2
Métricas RMF
Auditoria
SMF é frequentemente usado para:
Billing
Chargeback
Compliance
LGPD
SOX
PCI-DSS
Capacity Planning
Troubleshooting
Quantos tipos de registros existem?
A IBM já definiu mais de 200 tipos.
Cada tipo possui finalidade específica.
Alguns famosos:
Tipo 14
Dataset aberto
Tipo 15
Dataset fechado
Tipo 30
Accounting Batch
Muito utilizado.
Contém:
CPU
SRB
Elapsed
EXCP
Datasets
Tipo 42
DFSMS
Volumes
Cache
HSM
Tipo 70
RMF CPU Activity
Tipo 72
WLM
Service Classes
Importance
Tipo 80
RACF
Logons
Falhas
Permissões
Tipo 110
CICS
Transactions
Performance
Tipo 101
DB2
SQL
Bufferpool
Locks
Tipo 119
TCP/IP
Sockets
Network
Tipo 120
WebSphere
Tipo 128
z/OS Connect
APIs REST
Como o SMF funciona internamente
Fluxo simplificado:
Aplicação
↓
SMF Exit
↓
SMF Buffer
↓
SMF Dataspace
↓
SMF Writer
↓
Dataset
O objetivo é não impactar performance.
A escrita ocorre de forma assíncrona.
Os datasets do SMF
Tradicionalmente:
SYS1.MANX
SYS1.MANY
São datasets circulares.
Exemplo:
SYS1.MAN1
SYS1.MAN2
SYS1.MAN3
Quando um enche:
Switch automático.
Tipo de Dataset
Non-VSAM
DSORG=PS
Formato:
RECFM=VBS
LRECL=32760
BLKSIZE=32760
Exemplo:
DEFINE CLUSTER(NAME(SYS1.MAN1))
Normalmente realizado pelo IEFBR14.
Ou IDCAMS.
Configuração no z/OS
Principal membro:
SMFPRMxx
Localização:
SYS1.PARMLIB
Exemplo:
SYS(TYPE(0:255))
NOTYPE(6)
MAXDORM(300)
DSNAME(SYS1.MAN1)
DSNAME(SYS1.MAN2)
SYS
Quais registros coletar.
NOTYPE
Ignorar tipos.
EXITS
Ativar exits.
BUFSIZ
Tamanho buffers.
SID
Identificador sistema.
Ativando configuração
Comando:
SET SMF=00
ou
SETSMF=00
Depende release.
Consultar:
D SMF,O
Resultado:
ACTIVE SMF OPTIONS
SMFPRM00
TYPE(0:255)
SID=SYSA
Exits do SMF
Exit famoso:
IEFU83
Filtra registros.
IEFU84
Intercepta gravações.
IEFU85
Pós-processamento.
Muito usados por produtos:
CA MICS
MXG
Splunk
Ironstream
Como ler registros SMF
Método 1.
IFASMFDP
O clássico.
Exemplo:
//STEP1 EXEC PGM=IFASMFDP
//INDD DD DISP=SHR,DSN=SYS1.MAN1
//OUTDD DD DSN=USER.SMF,
//SYSIN DD *
DATE(2026178,2026178)
TYPE(30)
/*
Método 2
IFASMFDL
Dump lógico.
Método 3
IBM z/OSMF
Painéis gráficos.
Método 4
MXG
SAS
Muito popular.
Método 5
Python
PySMF
Exemplo prático
Objetivo:
Descobrir JOBS lentos.
Extrair Tipo 30.
Filtrar.
CPU > 100 segundos.
Gerar relatório.
Passo 1
Copiar dados.
IFASMFDP.
Passo 2
Analisar.
MXG.
Passo 3
Encontrar.
JOBNAME
CPU
EXCP
Passo 4
Investigar.
RMF.
SDSF.
DB2.
CICS.
Como fazer manutenção
Problema comum.
SMF cheio.
Mensagem:
IFA709I
SMF DATA SETS FULL
Pode parar gravação.
Muito perigoso.
Solução.
Adicionar datasets.
Exemplo:
SYS1.MAN4
SYS1.MAN5
Aumentar buffers.
Executar descarregamentos frequentes.
Automatizar.
SA z/OS.
Ansible.
IBM ZWS.
Erros comuns de Sysprog Júnior
Erro 1
Coletar tudo.
Tipo(0:255)
Sem necessidade.
Explode armazenamento.
Erro 2
Esquecer descarregar.
Datasets lotam.
Erro 3
Desativar Tipo 80.
Auditoria desaparece.
Compliance falha.
Erro 4
Buffers pequenos.
Perda de registros.
Erro 5
Não monitorar switches.
Perde histórico.
Easter Eggs e curiosidades
Pouca gente sabe que algumas empresas usam SMF para calcular bônus internos.
Outras utilizam SMF para cobrança entre departamentos.
Bancos costumam armazenar anos de histórico SMF para estudos de tendência.
Há ambientes que geram centenas de gigabytes por dia apenas em registros SMF.
Existem instalações produzindo mais de 10 milhões de registros por hora.
Muitos produtos modernos de observabilidade no IBM Z nada mais fazem do que consumir registros SMF e apresentá-los em dashboards bonitos.
Em certo sentido, podemos dizer que:
RMF mostra como o paciente está respirando agora.
SMF conta toda a história da vida do paciente desde que ele nasceu.
Como acompanhar sua evolução como Sysprog
Uma trilha recomendada para um Padawan de z/OS seria:
| Semana | Objetivo |
|---|---|
| 1 | Entender arquitetura do SMF |
| 2 | Estudar Tipos 14,15,30 |
| 3 | Aprender Tipo 70 e 72 |
| 4 | Estudar Tipo 80 (RACF) |
| 5 | Extrair dados com IFASMFDP |
| 6 | Ler registros com MXG |
| 7 | Ajustar SMFPRMxx |
| 8 | Criar automação de descarregamento |
| 9 | Correlacionar SMF com RMF |
| 10 | Montar relatórios históricos |
| 11 | Integrar com Splunk/OpenTelemetry |
| 12 | Apresentar um Capacity Planning simples |
Ao final dessa jornada, o Sysprog Júnior descobre algo importante: o verdadeiro poder do SMF não está em coletar registros, mas em transformar milhões de eventos aparentemente desconexos em conhecimento operacional. É nesse momento que o IBM Z deixa de ser uma caixa-preta e passa a se comportar como um organismo vivo, cujos batimentos, memórias e hábitos podem ser estudados, previstos e aprimorados. E é exatamente aí que começa a nascer um verdadeiro Sysprog.
Sem comentários:
Enviar um comentário