OMEGAMON XE on z/OS V5.3.0 Monitoring Feature for JVM Mathieu Dalbin IBM z System Software – IT Management [email protected] © 2016 IBM Corporation Les défis de la supervision des machines virtuelles Java Les processeurs spécialisés sont-ils utilisés de façon optimale ? Y a-t-il des contentions sur les ressources Java partagées ? Existe-t-il des environnements Java non conformes aux exigences de configuration ? 2 Y a-t-il des fuites mémoire ? Est-ce que le Garbage Collector est efficace ? Quelles sont les JVMs actives dans mes systèmes z/OS ? Quelle est la performance de mon environnement Java ? © 2016 IBM Corporation Un nouvel agent OMEGAMON XE ! Des données pour toutes les JVMs sur z/OS : – Dans les sous-systèmes CICS, DB2, IMS, WAS, z/OS Connect, ODM, … – Dans les applications Java sous USS – Peut identifier et distinguer les serveurs « WAS Liberty Profile » Métriques de performance sur le « Garbage Collector », l’activité des threads, les locks, l’environnement JVM et l’utilisation CPU. La principale source de données est l’API Java Health Center. Visualisation de toutes les machines virtuelles depuis un point focal 3270 ou Web (Tivoli Enterprise Portal). Apport de fonctionnalités par l’intégration avec IBM Tivoli Monitoring : – Données historiques, – Alertes sur situations anormales, – Déploiement avec PARMGEN. 3 DB2 on z/OS Liberty JVM JVM Batch / USS CICS TS JVM JVM OMEGAMON JVM Agent z/OS Connect WAS on z/OS JVM JVM ODM on z/OS IMS JVM JVM © 2016 IBM Corporation Données fournies par OMEGAMON XE for JVM Monitoring Highest JVM Statistics JVM Health Summary Lock Details Thread Details Garbage Collection Statistics CPU Statistics JVM Environment JVM Command Line System Variables Env Variables JVM Parameters Classpath Boot Classpath 4 GET Count Average Hold Time Slow Gets Recursive Acquires Lock Utilization % Thread State Contending Object Stack Trace Nursery GC Details Global GC Details % Time Paused Heap Allocation General CPU IFA CPU IFA Work on General CPU © 2016 IBM Corporation L’intégration avec l’infrastructure IBM Tivoli Monitoring OMEGAMON XE & ITM LPAR 1 CICS TS JVM WAS DB2 OMEGAMON JVM Agent JVM JVM TEPS IMS JVM TEMS 6.3 CICS LPAR 2 CICS TS JVM WAS JVM 5 DB2 OMEGAMON JVM Agent IMS z/OS DB2 Sto MfN MSG JVM Tivoli OMEGAMON Manager 6.3 JVM IMS JVM © 2016 IBM Corporation Exemples de cas d’usage « Nous avons besoin de visibilité sur toutes les JVMs utilisées dans nos systèmes. » 6 © 2016 IBM Corporation Visualisez les JVMs en cours d’exécution Toutes les JVMs de vos environnements z/OS sont visibles, qu’elles soient instrumentées ou non. Dès son démarrage, l’agent va rechercher et trouver toutes les JVMs actives, dans tous les sous-systèmes capables d’exécuter du code Java et les applications autonomes. Sans instrumentation, l’agent collecte le nom du job, l’ASID, le type de sous-système et quelques détails basiques de la JVM. L’instrumentation donne des informations supplémentaires concernant l’environnement JVM, son activité et ses évènements, et transmet ces informations à l’agent OMEGAMON XE for JVM Monitoring. La mise en œuvre de l’instrumentation nécessite l’ajout de paramètres dans la configuration des JVMs: – -Xhealthcenter:level=inprocess – -javaagent:/omegamon_uss_install_dir/kan/bin/IBM/kjj.jar 7 © 2016 IBM Corporation Visualisez les JVMs en cours d’exécution Pour qu’une JVM soit complètement surveillée, elle doit être instrumentée afin de permettre à OMEGAMON de collecter les données de performance. Sans instrumentation, il est quand même possible de détecter les JVM actives et les sous-systèmes qui les hébergent. Les utilisateurs peuvent alors déterminer si il est utile de surveiller ou non ces JVMs actives. 8 © 2016 IBM Corporation Visualisez les JVMs en cours d’exécution Sur l’interface Tivoli Enterprise Portal, l’utilisateur dispose des mêmes informations, permettant de visualiser les JVMs surveillées et celles qui sont actives mais sans instrumentation. 9 © 2016 IBM Corporation Exemples de cas d’usage « Nous avons besoin de visibilité sur toutes les JVMs utilisées dans nos systèmes. » 10 « Nous rencontrons des problèmes de performance avec nos environnements Java. Est-ce que le Garbage Collector peut être en cause ? » © 2016 IBM Corporation Comprenez et optimisez l’activité du « Garbage Collector » Bien que sa performance s’est largement améliorée au fil des versions, le Garbage Collector peut être la source de dégradation, à cause d’une mauvaise configuration : – Allocation mémoire insuffisante (“Heap”), – Applications non optimisées. Les symptômes de ces problèmes peuvent être : – Un nombre trop important d’évènements GC pendant une courte période, – Utilisation mémoire trop importante, même après un GC, – Long délai lors du passage du GC, – Apparition de GC système. Les écrans 3270 et TEP fournissent des informations détaillées sur la performance du Garbage Collector et permettent aux experts système d’incriminer ou non la JVM en tant que goulot d’étranglement de la performance. 11 © 2016 IBM Corporation Comprenez et optimisez l’activité du « Garbage Collector » Le panneau « Highest JVM Statistics » affiche les statistiques de performance de la JVM. Si un seuil est atteint (par exemple taux de GC par minute), l’utilisateur peut zoomer sur cette JVM pour analyse. 12 © 2016 IBM Corporation Comprenez et optimisez l’activité du « Garbage Collector » Les détails donnés pour le Garbage Collector peuvent permettre l’identification d’un problème. L’intervalle utilisé pour les calculs est de 5 minutes. Quelle est le taux d’occupation ? Quelle est la valeur moyenne du tas ? 13 © 2016 IBM Corporation Comprenez et optimisez l’activité du « Garbage Collector » Les données historiques sont capturées à intervalle régulier, et peuvent aider au diagnostic en mettant en lumière les déviations dans le temps. 14 © 2016 IBM Corporation Exemples de cas d’usage « Nous avons besoin de visibilité sur toutes les JVMs utilisées dans nos systèmes. » « Nous expérimentons des problèmes de performance avec nos environnements Java. Est-ce que le Garbage Collector peut être en cause ? » « Nos applications sont de moins en moins performantes, quelle est la cause de ces dégradations ? » 15 © 2016 IBM Corporation Visualisez les contentions au sein d’une machine virtuelle Si le « Garbage Collector » n’est pas la source de problèmes de performance, une autre piste est la contention due à une utilisation excessive de verrous. Si des verrous sont posés pour des périodes trop importantes, ceux-ci peuvent provoquer une dégradation majeure de la performance de l’application. Dans ce cas, l’utilisateur peut diagnostiquer la cause de ces verrous et prendre des mesures correctrices. 16 © 2016 IBM Corporation Visualisez les contentions au sein d’une machine virtuelle L’écran “Lock Statistics” indique les objets utilisés comme verrou et les durées moyennes de verrouillage. 17 © 2016 IBM Corporation Exemples de cas d’usage 18 « Nous avons besoin de visibilité sur toutes les JVMs utilisées dans nos systèmes. » « Nous expérimentons des problèmes de performance avec nos environnements Java. Est-ce que le Garbage Collector peut être en cause ? » « Nos applications sont de moins en moins performantes, quelle est la cause de ces dégradations ? » « Nous devons nous assurer que nos environnements Java sont conformes à nos standards de configuration. » © 2016 IBM Corporation Vérifiez la configuration de vos environnements Java L’agent OMEGAMON XE for JVM Monitoring fournit des informations concernant la configuration des environnements Java, telles que le CLASSPATH, les propriétés système et la version de la JVM utilisée. 19 © 2016 IBM Corporation Vérifiez la configuration de vos environnements Java Dans l’éditeur de situations, l’utilisateur peut mettre en place une alerte lorsqu’une JVM n’utilise pas la bonne version Java. Cette alerte pourra être visualisée dans la TEP et en 3270. 20 © 2016 IBM Corporation Vérifiez la configuration de vos environnements Java L’arbre de situations en 3270 affiche les alertes lorsque les seuils définis sont franchis. L’alerte concernant le niveau de Java utilisé pourra apparaître ici et informer un expert système qui prendra une action corrective. 21 © 2016 IBM Corporation Disponibilité d’OMEGAMON XE for JVM Monitoring OMEGAMON XE for JVM Monitoring est disponible en tant que fonctionnalité additionnelle du composant OMEGAMON XE on z/OS. Il n’y pas de dépendance technique entre les agents OMEGAMON XE et la fonctionnalité de surveillance de JVM, et peuvent être déployés indépendamment. OMEGAMON XE for JVM Monitoring est inclus dans les suites de gestion de système z/OS. Service Management Suite on z/OS Service Management Unite NetView for z/OS System Automation for z/OS Tivoli Asset Discovery OMEGAMON Performance Management Suite on z/OS OMEGAMON XE for CICS OMEGAMON XE for DB2 PE OMEGAMON XE for IMS OMEGAMON XE for Messaging ITCAM for Web Resources OMEGAMON z/OS Management Suite OMEGAMON XE on z/OS 22 Monitoring Feature for JVM OMEGAMON XE for Mainframe Networks OMEGAMON XE for Storage OMEGAMON Dashboard Edition © 2016 IBM Corporation Quelques informations… La page Web des produits OMEGAMON : – Informations sur tous les produits de la gamme OMEGAMON – http://www-03.ibm.com/software/products/en/tivoli-omegamon-xe-family Service Management Connect : – Blogs, forums, articles, vidéos de « best practices » pour la surveillance des envionnements IBM z Systems – https://www.ibm.com/developerworks/servicemanagement/z/ OMEGAMON sur YouTube : – OMEGAMON Monitoring Feature for JVM : https://youtu.be/QcqnD_B3xsg – OMEGAMON XE : https://youtu.be/Svtu3EaguaM?list=PLiD3_RDV00JfY0ebpDp6vfqwZ1HKTqFVA 23 © 2016 IBM Corporation Merci Danke Thank You Grazie Gracias © 2016 IBM Corporation