Accueil › Blog

Intégration de données

Que sont les enregistrements SMF ? Données SMF mainframe expliquées

SMF Decoded: Enhancing IT Data Accessibility with Zetaly's Self-Service Collector

Les enregistrements SMF (SMF records) sont le journal d'activité d'un mainframe IBM. Le système d'exploitation z/OS les écrit grâce à System Management Facilities (SMF), son composant d'enregistrement intégré. Ils couvrent tout ce qui peut être mesuré sur la machine (inventaire matériel et logiciel, utilisation, performance et activité de sécurité) (IBM).

IBM renouvelle ses matériels et logiciels mainframe tous les deux à trois ans, mais garde le format SMF rétrocompatible. Une entreprise peut donc comparer des données SMF sur de nombreuses années sans changer sa façon de les lire.

Ce que contient un enregistrement SMF

Chaque enregistrement SMF commence par un en-tête, suivi des données. L'en-tête indique le type d'enregistrement, le sous-type quand l'enregistrement en a un, la longueur de l'enregistrement, ainsi que la date et l'heure auxquelles SMF l'a écrit (IBM).

Le type d'enregistrement identifie le composant ou la fonction qui a écrit l'enregistrement. Par exemple, le type 30 décrit le travail des jobs et de leurs steps, le type 101 décrit l'activité de la base de données Db2, et le type 110 décrit CICS (Customer Information Control System), le logiciel qui exécute les transactions en ligne (IBM).

Les sous-types SMF divisent un type d'enregistrement selon la nature de l'événement ou selon la vue des données. Dans le type 30, par exemple, le sous-type 1 est écrit au démarrage d'un job, le sous-type 2 rend compte de l'activité de chaque intervalle, et le sous-type 5 est écrit à la fin du job (documentation Zetaly). Chaque sous-type peut avoir sa propre structure. IBM utilise les sous-types pour que des données liées partagent un même type d'enregistrement au lieu de plusieurs numéros (IBM).

La notation habituelle relie les deux nombres par un trait d'union. SMF 30-1 désigne le type d'enregistrement 30, sous-type 1.

Combien existe-t-il de types d'enregistrements SMF ?

Dans l'en-tête standard, le type d'enregistrement occupe un octet. Il peut donc prendre 256 valeurs, de 0 à 255 (IBM). Un en-tête étendu va jusqu'au type 2047. IBM réserve les types 0 à 127 et 1152 à 2047 à ses propres produits. Les types 128 à 1151 sont ouverts aux autres éditeurs de logiciels et aux programmes internes de chaque entreprise (IBM).

La section consacrée aux enregistrements SMF dans la documentation z/OS 3.2 d'IBM décrit plus de 120 types d'enregistrements IBM (IBM). Les autres éditeurs utilisent la plage ouverte pour leurs propres données. Par exemple, Zetaly Automated Capacity (ZAC) écrit ses indicateurs dans le type d'enregistrement SMF 225.

Quand z/OS écrit-il les enregistrements SMF ?

Le système z/OS écrit certains enregistrements quand un événement se produit, et d'autres à intervalle fixe. Un enregistrement d'événement est capturé au moment de l'événement. Par exemple, SMF 30-1 est écrit au démarrage d'un job, et SMF 30-5 à sa fin.

Les compteurs, les chiffres de capacité et les données d'inventaire sont mesurés sur un intervalle et écrits à la fin de cet intervalle. La plupart des sites utilisent un intervalle de 15 minutes.

SMF transfère ensuite les enregistrements vers des data sets SMF ou vers des log streams. Un log stream garde d'abord les enregistrements en mémoire, puis les écrit sur disque quand sa mémoire tampon est pleine. Des programmes de dump copient plus tard les enregistrements sur bande ou sur disque pour un stockage de longue durée (IBM).

Qui utilise les données SMF, et pour quoi faire

Les données SMF servent à bien d'autres équipes que les ingénieurs mainframe. IBM cite parmi leurs usages la facturation des utilisateurs, le suivi de la fiabilité, l'analyse de la configuration, la planification des jobs, le profilage de l'utilisation des ressources et le maintien de la sécurité (IBM).

En pratique, les équipes finance et FinOps (gestion financière des opérations IT) utilisent les données SMF pour répartir les coûts du mainframe entre les départements et pour planifier la capacité. Les équipes d'exploitation s'en servent pour comprendre pourquoi une application ralentit. Les équipes sécurité et audit utilisent les enregistrements de type 80, qu'IBM nomme security product processing (IBM).

Les réponses les plus utiles s'obtiennent souvent en combinant plusieurs types et sous-types. Par exemple, Db2 écrit des données de comptabilisation par thread dans SMF 101 sous-type 3, et par package dans SMF 101 sous-type 239. Un thread est une unité de travail de la base de données, et un package regroupe les requêtes de base de données d'un programme. Ensemble, les deux sous-types montrent ce que coûte chaque programme dans chaque transaction.

Avec cette vue, une équipe peut trouver le programme à l'origine d'un ralentissement soudain après une nouvelle version. Elle peut comparer les temps de réponse avant et après la mise en production, et voir si un programme attend le réseau, des verrous ou l'accès disque.

Les principaux types d'enregistrements SMF

Le tableau présente les types d'enregistrements qui alimentent les principaux tableaux de bord de Zetaly, et la question à laquelle chacun répond. Chaque type renvoie vers sa page dans la documentation Zetaly, qui décrit chaque champ.

Type d'enregistrementDomaineQuestion à laquelle il répond
SMF 30-3Activité batchComment les jobs planifiés utilisent-ils la fenêtre de traitement, et où peut-on raccourcir cette fenêtre ?
SMF 70-1Activité CPUQuel temps processeur chaque machine et chaque partition logique (LPAR) utilisent-elles, sur les processeurs généraux et sur les processeurs spécialisés zIIP (IBM Z Integrated Information Processor) ?
SMF 74-1Performance du stockageQuels types d'opérations d'entrée-sortie (I/O) s'exécutent, et à quelle vitesse les disques répondent-ils ?
SMF 74-1 et DCOLLECTCapacité de stockageQuelle capacité de stockage est disponible, des baies de stockage jusqu'à chaque volume ? (DCOLLECT est un utilitaire IBM qui liste les data sets et les volumes.)
SMF 101Activité Db2Combien de requêtes Db2 traite-t-il, et à quelle vitesse y répond-il ?
SMF 110-1Activité CICSCombien de transactions en ligne s'exécutent, et quel est leur temps de réponse ?
SMF 80Activité de sécuritéQuels événements le logiciel de sécurité a-t-il enregistrés ?

Source : documentation Zetaly, correspondance SMF de chaque tableau de bord

Zetaly transforme les enregistrements SMF et d'autres données mainframe en 114 tables prêtes à l'emploi. Un même enregistrement peut alimenter plusieurs tables. Par exemple, SMF 115-1 produit une table pour les données de log et une table pour les données de stockage. Le Data Collection Summary liste chaque table avec son type et son sous-type d'enregistrement.

Pourquoi les données SMF sont difficiles à exploiter

Les enregistrements SMF sont écrits en binaire, pas en texte (IBM). Le format binaire gardait les enregistrements compacts quand le stockage coûtait cher, et IBM l'a conservé pour que les anciens et les nouveaux enregistrements restent comparables. Personne ne peut lire un enregistrement binaire sans un programme qui le décode.

Chaque type et chaque sous-type d'enregistrement a sa propre structure, et chacun demande donc ses propres règles de décodage. Le volume ajoute à la difficulté. Une partition logique de production écrit en général 20 à 50 gigaoctets (Go) de données SMF par jour, à un rythme de quelques centaines à plusieurs milliers d'enregistrements par seconde.

Une fois décodées, les données doivent encore être interprétées. Une réponse utile demande en général de croiser plusieurs types d'enregistrements, et ce travail exige une bonne connaissance de l'exploitation mainframe.

Des enregistrements SMF à l'analyse des données SMF

Les entreprises lisent les données SMF de plusieurs façons. Le tableau présente les principales.

MéthodeFonctionnementUsage type
Programmes de dump d'IBM (IFASMFDP, IFASMFDL)Copient les données SMF en batch, filtrées par type, sous-type, date ou systèmeArchivage et extraction ciblée
SMF exits (IEFU83, IEFU84, IEFU85)Copient ou filtrent chaque enregistrement au moment où z/OS l'écritAlimentation d'un autre outil, filtrage
Interface temps réelUne application s'abonne et lit les enregistrements à leur arrivée, sans passer par un data setSupervision, alertes, gestion des informations et des événements de sécurité (SIEM)
API System LoggerUn programme lit directement le log streamOutils spécialisés
Traitement des fichiers archivésOutils de tri, scripts REXX, SAS, MXG, chargement dans Db2, ou outils internesReporting, comptabilisation, planification de capacité
Produits de streamingEnvoient les enregistrements vers une plateforme externe (par exemple IBM Z Common Data Provider vers Splunk ou Elastic)Observabilité centralisée, SIEM

Source: Zetaly

Zetaly Data Platform (ZDP) appartient au groupe des produits de streaming. Son composant de collecte, Zetaly Streaming Agent (ZSA), fonctionne à partir d'un exit SMF. L'exit agit sur le flux des enregistrements et non sur leur stockage. Chaque entreprise garde donc son propre choix de data sets SMF ou de log streams.

ZDP transforme les enregistrements bruts en données que les équipes peuvent interroger, en cinq étapes.

  1. 1. Sur le mainframe, l'exit SMF capture chaque enregistrement, le convertit et le place dans une file d'attente.
  2. 2. ZDP récupère les nouveaux enregistrements dans la file d'attente.
  3. 3. ZDP décode chaque enregistrement, enrichit les données si nécessaire et les stocke dans une base de données, avec une table par type de données.
  4. 4. ZDP applique les règles de cycle de vie des données dès leur arrivée, par exemple l'agrégation par heure ou par jour et la suppression des données anciennes.
  5. 5. L'API Zetaly (interface de programmation d'application) fournit les données avec des filtres, comme une plage de dates ou une liste de champs. Les équipes explorent les données dans Zetaly Data Explorer (ZDE), l'interface web de ZDP, ou construisent des tableaux de bord dans Zetaly Service Intelligence (ZSI), qui ajoute la projection de tendances, la détection d'anomalies et les alertes.
How Zetaly Data Platform collects SMF records, from the SMF exit on the mainframe to the Zetaly server

Source: Zetaly

La collecte a un coût, et ZDP le maintient bas. Dans une grande banque au Brésil qui collecte environ 30 000 enregistrements par seconde, la collecte ZDP utilise environ 0,2 % de la capacité des processeurs généraux.

Types d'enregistrements que ZDP ne décode pas nativement

Pour un type d'enregistrement hors de la liste standard, une équipe peut écrire ses propres règles de décodage avec le parser personnalisé de ZDP. L'équipe reprend la description des champs dans la documentation IBM, indique la position et la longueur de chaque champ, et choisit comment convertir les octets (par exemple du binaire vers un nombre entier). Elle teste ensuite les règles sur des enregistrements réels avant de les utiliser.

Custom parser in Zetaly Data Platform, step 1: describe the byte range of a field
Step 2: convert the bytes into a readable value
Step 3: test the parsing on real records

Questions fréquentes

Que sont les enregistrements SMF ?

Les enregistrements SMF sont les enregistrements d'activité d'un mainframe IBM. Le composant z/OS System Management Facilities (SMF) les écrit pour consigner l'inventaire, l'utilisation des ressources, la performance et les événements de sécurité. Chaque enregistrement comporte un en-tête (type, sous-type, longueur, heure) suivi de données binaires. Les entreprises s'en servent pour les coûts, la capacité, la performance et l'audit.

Qu'est-ce que SMF dans un mainframe ?

SMF signifie System Management Facilities. Ce composant du système d'exploitation IBM z/OS collecte des informations sur l'activité du système et des jobs, et les range dans des enregistrements. IBM cite parmi les usages des données SMF la facturation, le suivi de la fiabilité, l'analyse de la configuration, la planification des jobs, le profilage des ressources et la sécurité.

Combien existe-t-il de types d'enregistrements SMF ?

L'en-tête SMF standard stocke le type d'enregistrement sur un octet (valeurs 0 à 255), et un en-tête étendu va jusqu'à 2047. IBM réserve les types 0 à 127 et 1152 à 2047 à ses produits. Les types 128 à 1151 sont ouverts aux autres éditeurs et aux programmes internes. La documentation z/OS 3.2 d'IBM décrit plus de 120 types IBM.

Quelle est la différence entre un type et un sous-type d'enregistrement SMF ?

Le type identifie le composant ou la fonction qui a écrit l'enregistrement, par exemple 30 pour les jobs et 110 pour CICS. Les sous-types SMF divisent un type selon la nature de l'événement ou la vue des données. SMF 30-1 est écrit au démarrage d'un job, SMF 30-5 à sa fin. Chaque sous-type peut avoir sa propre structure.

À quelle fréquence z/OS écrit-il les enregistrements SMF ?

Le moment d'écriture dépend de l'enregistrement. Les enregistrements d'événement, comme le démarrage ou la fin d'un job, sont écrits au moment de l'événement. Les compteurs, la capacité et les données d'inventaire sont mesurés sur un intervalle de collecte et écrits à la fin de cet intervalle. La plupart des sites utilisent un intervalle de 15 minutes.

Comment lire les données SMF si elles sont écrites en binaire ?

Un programme doit décoder les données SMF avant qu'on puisse les lire. Les entreprises utilisent les programmes de dump d'IBM, les exits SMF, des scripts, SAS ou MXG, ou des produits de streaming vers une plateforme d'analyse. Zetaly Data Platform (ZDP) transforme 30 types d'enregistrements SMF en tables prêtes à l'emploi et accepte les règles de décodage de chaque équipe.

La collecte des données SMF ralentit-elle le mainframe ?

Toute collecte consomme de la capacité processeur, donc la méthode compte. Zetaly Data Platform (ZDP) capture les enregistrements via un exit SMF et les envoie en continu hors du mainframe. Dans une grande banque au Brésil qui collecte environ 30 000 enregistrements par seconde, la collecte ZDP utilise environ 0,2 % de la capacité des processeurs généraux.

Exploitez pleinement le potentiel de l'analytique mainframe avec Zetaly Data Platform