Translate

segunda-feira, 6 de março de 2017

Como um Sysprog Júnior Aprende a Escutar o Batimento Cardíaco do IBM Z sem Precisar de Telepatia

 

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:

SemanaObjetivo
1Entender arquitetura do SMF
2Estudar Tipos 14,15,30
3Aprender Tipo 70 e 72
4Estudar Tipo 80 (RACF)
5Extrair dados com IFASMFDP
6Ler registros com MXG
7Ajustar SMFPRMxx
8Criar automação de descarregamento
9Correlacionar SMF com RMF
10Montar relatórios históricos
11Integrar com Splunk/OpenTelemetry
12Apresentar 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