Les indicateurs MVS Jérémie Poirier
SOMMAIRE Introduction Introduction Présentation Présentation Environnement Environnement Les indicateurs Les indicateurs Conclusion Conclusion
Introduction Stage pour découvrir le monde du IBM et mainframe Stage pour découvrir le monde du IBM et mainframe Problématique: optimisation et création d’indicateurs MVS Problématique: optimisation et création d’indicateurs MVS
SOMMAIRE Introduction Introduction Présentation Présentation –IBM –SNECMA Environnement Environnement Les indicateurs Les indicateurs Conclusion Conclusion
Présentation : IBM En chiffre : En chiffre : – $98 Md en 2007 – employés Créé en 1911 Créé en 1911
Présentation : IBM 3 principaux domaines : 3 principaux domaines : –Matériels (Mainframe, supercalculateur, processeurs…) - 28% –Logiciels (Base de données DB2, Tivoli, Websphere…) – 37% –Service (consulting, GTS, GBS,…) – 35%
Présentation : SNECMA Société de fabrication de moteur aéronautique et astronautique Société de fabrication de moteur aéronautique et astronautique En chiffre : En chiffre : –8 658 employés –4.1 M€ en 2007 Fait parti du groupe SAFRAN Fait parti du groupe SAFRAN
Sommaire Introduction Introduction Environnement Environnement –MVS –Description –Schema Les indicateurs Les indicateurs Conclusion Conclusion
MVS Multiple Virtual Storage Multiple Virtual Storage Système d’exploitation pour mainframe IBM Système d’exploitation pour mainframe IBM Lancé en 1974 Lancé en 1974 Principe de la mémoire virtuelle Principe de la mémoire virtuelle Bien adapté pour les batchs Bien adapté pour les batchs
Description Un mainframe H50 avec 4 partitions Un mainframe H50 avec 4 partitions –Orange: production (RH, Paie, …) –Rouge: production (essai, calcul,…) –Cyan: Test / simulation –Serveur: connexion avec les partenaires Système tournant sous MVS Système tournant sous MVS Robotique SUN pour les cassettes Robotique SUN pour les cassettes Travail essentiellement sur Orange et Rouge Travail essentiellement sur Orange et Rouge
LSM 9310 LCU Timberline lecteurs LMU 9330 VSM3 VISARA Contrôleur d’écrans H50 CPU Armoire Disque EMC² CISCO Connection IP Gateway MT Consulting Connection GE via Partition SERVEUR Environnement VM/VSE SAFRAN TCP-IP SNECMA Partenaires SNECMA Schéma hardware du MVS SNECMA-Villaroche Décembre 2007 ETH0 IP Serveur ETH0 IP Cyan DSR
Sommaire Introduction Introduction Environnement Environnement Les indicateurs Les indicateurs –Problématique –SAS - JCL –Optimisation –Création Conclusion Conclusion
Problématique : le projet Projet IBM à la SNECMA : Projet IBM à la SNECMA : –Migrer toutes les applications du mainframe vers de l’open –Supprimer le mainframe
Problématique Pourquoi les indicateurs ? Pourquoi les indicateurs ? –Permet de voir l’évolution du projet –Permet la facturation –Permet de déterminer par qui on va continuer
Problématique Plusieurs indicateurs pour MVS déjà créés : Plusieurs indicateurs pour MVS déjà créés : –Espace disque par partition (total et pour la direction technique) –Conso d’unité d’œuvre par service (scientifique, infocentre, système,…) –Nombre de transaction IMS total et par service –Nombre de fichiers par partition
Problématique Chaque indicateur est crée par des jobs Chaque indicateur est crée par des jobs Les jobs utilisent le SAS pour générer ces indicateurs Les jobs utilisent le SAS pour générer ces indicateurs On doit consulter une à une les sysouts de chaque job pour les récupérer On doit consulter une à une les sysouts de chaque job pour les récupérer
JCL Job Control Language Job Control Language Langage de programmation pour ordinateurs grand système Langage de programmation pour ordinateurs grand système Optimiser pour les batchs Optimiser pour les batchs
SAS Statistical Analysis System Statistical Analysis System Créé en 1966 Créé en 1966 Basé en 3 parties : Basé en 3 parties : –Le DATA pour la manipulation des données –Les procédures pour l’analyste statistique –Les macros pour automatiser les programmes
Optimisation Le principe : Le principe : –Modification des sorties des jobs pour obtenir des fichiers contenant les résultats en plus des reports. –Création d’un job afin de récupérer toutes les valeurs nécessaires.
Modification Dans les jobs ayant déjà un saslist, on remplace la destination de ce dernier pour mettre un fichier à la place du report. Dans les jobs ayant déjà un saslist, on remplace la destination de ce dernier pour mettre un fichier à la place du report. On crée le saslist pour les jobs qui n’en ont pas. On crée le saslist pour les jobs qui n’en ont pas. Pour les jobs avec un saslist, création d’un step exécutant un « iebgener » du fichier créé vers le report de base. Pour les jobs avec un saslist, création d’un step exécutant un « iebgener » du fichier créé vers le report de base.
Exemple On a : On a : – //SASLIST DD SYSOUT=(I,FACT0008) On remplace par : On remplace par : – //SASLIST DD SYSOUT=I011.FACT.JOB(+1) On rajoute : On rajoute : – //COPY EXEC PGM=IEBGENER – //SYSPRINT DD DUMMY – //SYSIN DD DUMMY – //SYSUT1 DD DSN=I011.FACT.JOB(+1),DISP=(OLD,PASS) – //SYSUT2 DD SYSOUT=(I,FACT0008)
Récupération Création d’un job, à lancer lorsqu’on a besoin des valeurs, qui parse les différents fichiers créés et récupère toutes les valeurs nécessaires pour les mettre dans un fichier. Création d’un job, à lancer lorsqu’on a besoin des valeurs, qui parse les différents fichiers créés et récupère toutes les valeurs nécessaires pour les mettre dans un fichier. On a plus qu’à recopier les indicateurs. On a plus qu’à recopier les indicateurs.
Fichier résultat * * * * ! NOMBRE DE FICHIERS ! ! NOMBRE DE FICHIERS ! * * * * SUR ROUGE (RHSM0H3) : SUR ROUGE (RHSM0H3) : NIVEAU 1 : NIVEAU 1 : NIVEAU 2 : NIVEAU 2 : NIVEAU 0 : NIVEAU 0 : NB DE K7 : 3900 NB DE K7 : 3900 SUR ORANGE (LHSM0H6J) : SUR ORANGE (LHSM0H6J) : NIVEAU 1 : 1515 NIVEAU 1 : 1515 NIVEAU 2 : NIVEAU 2 : NIVEAU 0 : NIVEAU 0 : NB DE K7 : NB DE K7 : SUR CYAN (CHSM0J2J) : SUR CYAN (CHSM0J2J) : NIVEAU 1 : 1883 NIVEAU 1 : 1883 NIVEAU 2 : NIVEAU 2 : NIVEAU 0 : NIVEAU 0 : NB DE K7 : 957 NB DE K7 : 957
* * * * ! TRANSACTION IMS ! ! TRANSACTION IMS ! ! ROUGE PUIS ORANGE ! ! ROUGE PUIS ORANGE ! * * * * NOMBRE DE TRANSACTIONS DIFFERENTES : 9 NOMBRE DE TRANSACTIONS DIFFERENTES : 9 NOMBRE D'EXECUTION : 172 NOMBRE D'EXECUTION : 172. NOMBRE DE TRANSACTIONS DIFFERENTES : 678 NOMBRE DE TRANSACTIONS DIFFERENTES : 678 NOMBRE D'EXECUTION : NOMBRE D'EXECUTION : * * * * ! ESPACE DISQUE UTILISE ! ! ESPACE DISQUE UTILISE ! ! ETUDE / GESTION / SCIENTIFIQUE ! ! ETUDE / GESTION / SCIENTIFIQUE ! * * * * NIVEAU 0 NIVEAU 1 NIVEAU 2 K7 NIVEAU 0 NIVEAU 1 NIVEAU 2 K ETUDE : YD YD TOTAL TOTAL GESTION : YD YD TOTAL TOTAL SCIENTIFIQUE : SCIENTIFIQUE : YD YD TOTAL TOTAL
* * * * ! TRANSACTION IMS ! ! TRANSACTION IMS ! ! DETAIL ! ! DETAIL ! * * * * DIRECTION NOMBRE TOTAL DE TRANSACTIONS DIRECTION NOMBRE TOTAL DE TRANSACTIONS A 52 A 52 BX 6214 BX 6214 CD CD GD 128 GD 128 HZ 19 HZ 19 IA 40 IA 40 IB 6943 IB 6943 IR 40 IR 40 LD LD P P RX RX V 9686 V 9686 YD YD * * * * ! CONSOMMATION UID ! ! CONSOMMATION UID ! * * * * TYPE JOUR NUIT TYPE JOUR NUIT SCIENTIFIQUE SCIENTIFIQUE GESTION GESTION INFOCENTRE INFOCENTRE ETUDES ETUDES SYSTEME SYSTEME TOTAL TOTAL
Création d’un indicateur Création d’un indicateur sur le nombre d’utilisateurs connectés dans la journée Création d’un indicateur sur le nombre d’utilisateurs connectés dans la journée
Création d’un indicateur Création d’un job pour parser la log du jour et récupérer les user id de tous les utilisateurs qui se sont connectés Création d’un job pour parser la log du jour et récupérer les user id de tous les utilisateurs qui se sont connectés Stockage dans un fichier temporaire Stockage dans un fichier temporaire Trie de ces user id afin de ne garder qu’une seule itération par user id Trie de ces user id afin de ne garder qu’une seule itération par user id
Job //TESTUSER JOB (XXXX,MVSS),POIRIER,CLASS=L,MSGCLASS=R,NOTIFY=&SYSUID //WRITE EXEC SAS //LEC1 DD DSN=I008.ST08622.SYSLOG.ORANGE,DISP=SHR //LEC2 DD DSN=I008.ST08622.CNTL.TMPUSR,DISP=SHR //ECR1 DD DSN=I008.ST08622.CNTL.TMPUSR,DISP=MOD //SASLIST DD DSN=I008.ST08622.CNTL.SASRESLT(+1),DISP=(,CATLG,DELETE), // DCB=(GDG,RECFM=FB,LRECL=140,BLKSIZE=1400),SPACE=(TRK,1),UNIT=HSM //SYSIN DD * DATA JOB1 (KEEP=USERID WHAT); INFILE LEC1; INFILE LEC1; INPUT à65 USERID $CHAR7. à75 WHAT $CHAR9.; à75 WHAT $CHAR9.; IF WHAT='LOGGED ON' THEN OUTPUT; IF WHAT='LOGGED ON' THEN OUTPUT; ELSE DELETE ; ELSE DELETE ; DATA FIN; SET JOB1; FILE ECR1; PUT à8 USERID; // DD * DATA JOB2 (KEEP=USERID); INFILE LEC2; INFILE LEC2; INPUT à8 USERID $CHAR7.; PROC SORT NODUP DATA=JOB2; BY USERID; BY USERID; PROC PRINT DATA=JOB2;
Résultat USER ID UNIQUE USER ID UNIQUE OBS USERID OBS USERID 1H ST ST ST ST ST ST S S S S S S S S S S S S S S S S095129
Sommaire Introduction Introduction Environnement Environnement Les indicateurs Les indicateurs Conclusion Conclusion
Conclusion Découverte de l’environnements IBM Découverte de l’environnements IBM Apprentissage de nouvelles technologies (SAS, JCL, MVS) Apprentissage de nouvelles technologies (SAS, JCL, MVS) Contact direct avec le client au côté d’un IT spécialiste Contact direct avec le client au côté d’un IT spécialiste
Question ?