SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Monitoring
Identity Manager by JMX
Takayuki Okazaki
Solutions Architect, Software Practice
http://blogs.sun.com/okazaki
GOAL

Understanding JMX monitoring feature
which introduced from Identity Manager
7.0



           Copyright © 2007 Sun Microsystems K.K.   2
NOTICE

• This is NOT officially verified document
of Identity Manager. All information in this
document are based upon personal
research.


            Copyright © 2007 Sun Microsystems K.K.   3
Agenda
    About JMX
•
    Identity Manager and JMX
•
    Configuration instruction
•
    Demo
•
    TIPS
•




                      Copyright © 2007 Sun Microsystems K.K.   4
About JMX
• Standard API for monitoring and managing JVM,
  services, and applications.
  > JSR 3: Java Management Extensions (JMX)
• Monitoring and Managing from remote client
  > JSR 160: JMX Remote API
• Target use case of JMX
  > Referring and modifying application configuration
  > Gathering statistics about the application
  > Notify error or status change


                       Copyright © 2007 Sun Microsystems K.K.   5
Benefit of JMX
    Lightweight
•
    Secure
•
    Scalable monitoring & management architecture
•
    Easy to engage existing management solutions (like
•
    SNMP, WBEM)




                      Copyright © 2007 Sun Microsystems K.K.   6
Scope of JMX Specifications




             Copyright © 2007 Sun Microsystems K.K.   7
What can monitor by JMX?
• Java VM
  > OS and environment, JVM options, Memory and
    Garbage collection, Threads
• Web Container
  > Performance statistics, Cache, status of a connections,
    Connection pool, Thread pool
• Application
  > All exposed MBeans(Managed bean)




                       Copyright © 2007 Sun Microsystems K.K.   8
Example

          Memory                                      Thread




                                                         CPU

          Class


             Copyright © 2007 Sun Microsystems K.K.            9
More use case
• Notify events to JMX clients
  > Errors and warnings
  > Status change
• Invoking operations
  > Garbage collection
  > Test connection
  > State change
• Advanced use case
  > Self tuning and self management (like GlassFish v2)


                         Copyright © 2007 Sun Microsystems K.K.   10
JMX Remote and Security
• Authentication
  > UserId/Password authentication by MBean server
• Protecting connection
  > TLS and SSL




                                    Authentication through userid/pwd

                     Copyright © 2007 Sun Microsystems K.K.             11
SNMP and JMX
• Several MBeans are monitored through SNMP
  > http://java.sun.com/javase/6/docs/technotes/guides/man
    agement/snmp.html
• JVM related info can be monitored by SNMP
  > OS and environment, classpath and JMV options, JIT,
    classloader, threads, GC, memory, memory pool and
    logging




                      Copyright © 2007 Sun Microsystems K.K.   12
JMX tools
• JConsole
  > Bundled with JDK 5 or later
• MC4J (http://mc4j.org)
  > Open source monitoring tool
• Sun Java System Management Framework
  > Bundled with Java ES 5
  > Opensourced: http://proctor.dev.java.net
• More..
  > HP Openview, AdventNet ManagemeEngine Applications
    Manager, ...
                      Copyright © 2007 Sun Microsystems K.K.   13
JConsole
• Graphical management tool
• You can develop additional plugin for JConsole




                    Copyright © 2007 Sun Microsystems K.K.   14
Identity Manager and JMX
• Support starts from Identity Manager 7.0
• Status of cluster/server, Scheduler, information
  about Resources, status of ActiveSync




                     Copyright © 2007 Sun Microsystems K.K.   15
Cluster
ObjectName=IDM:type=Cluster
         Attribute name                                                Description
         ActiveServers                                  List of active IDM servers
         KnownServers                                  List of known IDM servers
       NewlyFailedServers                     Most recent list of failed IDM servers
             Alive                                        Is polling thread alive?
         PollingInterval                         Polling interval (in milli-seconds)




                              Copyright © 2007 Sun Microsystems K.K.                   16
Example: Cluster
                                                      ObjectName=IDM:type=Cluster




             Copyright © 2007 Sun Microsystems K.K.                             17
Servers
ObjectName=IDM:type=Cluster,service=Server,name=”<Server name>”
         Attribute name                                                Description
           CreateDate                                      Date of server created
            Creator                           Name of user who create this server
            Deleted                                        Is this object deleted?
    Heartbeat HeartbeatDate                           Most recent heart beat time
       State StateString                                     Status of this server

ObjectName=IDM:type=Server
         Attribute name                                                Description
             Name                                             Name of the server
      Status StatusDisplay                                   Status of this server

                              Copyright © 2007 Sun Microsystems K.K.                 18
Example: Servers
           ObjectName=IDM:type=Cluster,service=Server,name=”<Server name>”




                                                                     ObjectName=IDM:type=Server


All servers are
listed

                                                                       Same server to JMX
                                                                       server
                            Copyright © 2007 Sun Microsystems K.K.                                19
Resources
ObjectName=IDM:type=Cluster,service=Resource,resType=”<Resource type>”,
name=”<Resource name>”

         Attribute name                                                 Description
           CreateDate                                    Date of resource creation
            Creator                                            Creator user name
            Deleted                                         Is this object deleted?
      LastModificationDate                                     Last modified date
       MostRecentActivity                                     Most recent activity
     MostRecentActivityDate
                                                          Most recent activity date
    MostRecentActivityDateMS


 Test connection to each resource feature availble.
                               Copyright © 2007 Sun Microsystems K.K.                 20
Example: Resources
 ObjectName=IDM:type=Cluster,service=Resource,resType=”<Resource type>”,name=”<Resource name>”




All resource type/resources are listed



                                   Copyright © 2007 Sun Microsystems K.K.                   21
Connection test (IDM->Resource)
                                        Invoke test connection
Success case




Failure case




               Copyright © 2007 Sun Microsystems K.K.            22
ActiveSync
ObjectName=IDM:type=Cluster,service=Synchronization,component=ActiveSync
resType=”<Resource type>”,name=”<resource name>”

        Attribute name                                          Description
        ProgressString                                      Progress string
       ErrorStatusString                                        Error string
        LastPollAttempt                                 Last ActiveSync date
        NextPollAttempt                                Next ActiveSync date
         LastModNum                                Last modification number
         LastModDate                                  Last modification date
       LastKnownServer           Last server name which starts this ActiveSync
         LastStartTime                                        Last start time
       State, StateString                           Status of this active sync
                            Copyright © 2007 Sun Microsystems K.K.               23
Example: ActiveSync
ObjectName=IDM:type=Cluster,service=Synchronization,component=ActiveSync
resType=”<Resource type>”,name=”<Resource name>”




   All ActiveSyncs which is:
   - currently running
   - failure or scheduled
                                 Copyright © 2007 Sun Microsystems K.K.    24
SPE Sync
ObjectName=IDM:type=Cluster,service=Synchronization,component=SPE Sync
resType=”<Resource type>”,name=”<Resource Name>”

        Attribute name                                          Description
        ProgressString                                      Progress string
       ErrorStatusString                                       Error string
        LastPollAttempt                                  Last SPE Sync date
        NextPollAttempt                                 Next SPE Sync date
         LastModNum                                Last modification number
         LastModDate                                  Last modification date
       LastKnownServer            Last server name which starts this SPE Sync
         LastStartTime                                       Last start time
       State, StateString                            Status of this SPE sync
                            Copyright © 2007 Sun Microsystems K.K.              25
Scheduler 1 of 2
ObjectName=IDM:type=Scheduler

          Attributes                                            Description
            Cycles                                                   ?
         ErrorCount                                                  ?
        ExpiredCount                                                 ?
     FinishedCycleCounter                                            ?
      FinishedCycleTIme                                              ?
        LaunchedCount                                                ?
         ReadyCount                                                  ?
      ReadyCycleCounter                                              ?
       ReadyCycleTime                                                ?


                            Copyright © 2007 Sun Microsystems K.K.            26
Scheduler 2 of 2
ObjectName=IDM:type=Scheduler

        Attribute name                                         Description
      MostRecentHeartbeat                        Most recent heart beat time
    ScheduledCycleCounter                                            ?
      ScheduledCycleTime                                             ?
     Status StatusDisplay                               Status of scheduler




                            Copyright © 2007 Sun Microsystems K.K.             27
Example: Scheduler
                                              ObjectName=IDM:type=Scheduler




            Copyright © 2007 Sun Microsystems K.K.                            28
Event notification




            Heart beat events are notified if
            you subscribe to Scheduler event


               Copyright © 2007 Sun Microsystems K.K.   29
Configuration
• Identity Manager
• Application Server
• JConsole




                       Copyright © 2007 Sun Microsystems K.K.   30
Identity Manager 1 of 2
                                                                   (1) Settings
                     (2) Servers




  (3) Click your server

                          Copyright © 2007 Sun Microsystems K.K.                  31
Identity Manager 2 of 2




                 (1) JMX

                                (2) Turn off default setting



         (3)Turn on JMX
                 Copyright © 2007 Sun Microsystems K.K.        32
Application Server



                                                     Memorize Port number


                                                              Authentication realm

                                                   Turn off if you want to
                                                   use JConsole


     Admin Service
                     Copyright © 2007 Sun Microsystems K.K.                          33
JConsole 1 of 2
                                            JConsole bundled with JDK 6
JConsole bundled with JDK 5




                                                           Remote process




                        Copyright © 2007 Sun Microsystems K.K.              34
JConsole 2 of 2
          JMX URL
           service:jmx:rmi:///jndi/rmi://<hostname>:<port>
           /management/rmi-jmx-connector


          User name and password
            Default setting of Sun Java System App Server
            is “admin-realm”, which is same user of app
            server administrator (default user name:
            “admin”)




              Copyright © 2007 Sun Microsystems K.K.    35
Demo environment
                       JConsole


     idm1                  idm2
                                                        resource1


                                                        resource2




                                                        Solaris Container
            idmdb
               Copyright © 2007 Sun Microsystems K.K.                  36
Monitoring from command line
• Most customers already have corporate standard
  monitoring tool, but it may not supports JMX
• Most monitoring tools have a capability to invoking
  monitoring command
• Using scripting languages which running on Java
  > JRuby, JavaScript, Groovy, Pnuts, (JavaFX!)... etc
  > Easy to customize




                       Copyright © 2007 Sun Microsystems K.K.   37
Example: JRuby                                               Gathering ActiveSync Status

#!/usr/bin/env jruby
include Java
include_class 'javax.management.ObjectName'
include_class 'javax.management.remote.JMXConnectorFactory'
include_class 'javax.management.remote.JMXServiceURL'
jmxurl   = 'service:jmx:rmi:///jndi/rmi://idm1:8686/jmxrmi'
username, password = 'admin', 'adminadmin'
svcurl = JMXServiceURL.new(jmxurl)
cred = java.lang.String[2].new
cred[0], cred[1] = username, password
env = {'jmx.remote.credentials' => cred}
conn = JMXConnectorFactory.connect(svcurl, env).getMBeanServerConnection
names = conn.query_names(ObjectName.new(
  'IDM:type=Cluster,service=Synchronization,component=ActiveSync,*'), nil)
names.each do |name|
  cname = name.get_canonical_name
  if /name=quot;(.+?)quot;,resType=quot;(.+?)quot;/ =~ cname
    puts quot;Resource Type: #{$2}, Name: #{$1}, ”
      + “Status: #{conn.get_attribute(name, 'StateString')}quot;
  end
end
         Resource Type: FlatFileActiveSync, Name: My FlatFile, Status: down
         Resource Type: LDAP, Name: SPE End-User Directory, Status: down

                              Copyright © 2007 Sun Microsystems K.K.                        38
Information
• Custom JMX clinet using JRuby (Japanese)
  > http://blogs.sun.com/nishigaya/entry/custom_jmx_client_
    using_jruby
  > http://blogs.sun.com/nishigaya/entry/custom_jmx_client_
    using_jruby1




                      Copyright © 2007 Sun Microsystems K.K.   39
JMX
Identity Manager

Takayuki Okazaki
takayuki.okazaki@sun.com
http://blogs.sun.com/okazaki

Mais conteúdo relacionado

Mais procurados

Jdbc session02
Jdbc session02Jdbc session02
Jdbc session02Niit Care
 
Jdbc session01
Jdbc session01Jdbc session01
Jdbc session01Niit Care
 
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeLearn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeVMware Tanzu
 
SOA OSB suite cluster installation
SOA OSB suite cluster installationSOA OSB suite cluster installation
SOA OSB suite cluster installationRakesh Gujjarlapudi
 
Ms Sql Server Black Book
Ms Sql Server Black BookMs Sql Server Black Book
Ms Sql Server Black BookLiquidHub
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nationArun Gupta
 
What's new in Java Message Service 2?
What's new in Java Message Service 2?What's new in Java Message Service 2?
What's new in Java Message Service 2?Sivakumar Thyagarajan
 

Mais procurados (8)

Jdbc session02
Jdbc session02Jdbc session02
Jdbc session02
 
Jdbc session01
Jdbc session01Jdbc session01
Jdbc session01
 
Quality control in a cloudy world
Quality control in a cloudy worldQuality control in a cloudy world
Quality control in a cloudy world
 
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with SteeltoeLearn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
Learn Cloud-Native .NET: Core Configuration Fundamentals with Steeltoe
 
SOA OSB suite cluster installation
SOA OSB suite cluster installationSOA OSB suite cluster installation
SOA OSB suite cluster installation
 
Ms Sql Server Black Book
Ms Sql Server Black BookMs Sql Server Black Book
Ms Sql Server Black Book
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
 
What's new in Java Message Service 2?
What's new in Java Message Service 2?What's new in Java Message Service 2?
What's new in Java Message Service 2?
 

Destaque

JavaOne Tokyo LT : Internationalization
JavaOne Tokyo LT : InternationalizationJavaOne Tokyo LT : Internationalization
JavaOne Tokyo LT : InternationalizationTakayuki Okazaki
 
Lighting Talk at Sun Tech Days 2008, Tokyo
Lighting Talk at Sun Tech Days 2008, TokyoLighting Talk at Sun Tech Days 2008, Tokyo
Lighting Talk at Sun Tech Days 2008, TokyoTakayuki Okazaki
 
Monitoring Sun Java System Identity Manager through JMX
Monitoring Sun Java System Identity Manager through JMXMonitoring Sun Java System Identity Manager through JMX
Monitoring Sun Java System Identity Manager through JMXTakayuki Okazaki
 
JJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkJJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkTakayuki Okazaki
 
Aizu IT Summer Forum, Open Source and Web Technologies
Aizu IT Summer Forum, Open Source and Web TechnologiesAizu IT Summer Forum, Open Source and Web Technologies
Aizu IT Summer Forum, Open Source and Web TechnologiesTakayuki Okazaki
 
JJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkJJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkTakayuki Okazaki
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法Takayuki Okazaki
 
2012 08-23 Mame Night Jenkins
2012 08-23 Mame Night Jenkins2012 08-23 Mame Night Jenkins
2012 08-23 Mame Night JenkinsTakayuki Okazaki
 

Destaque (9)

JavaOne Tokyo LT : Internationalization
JavaOne Tokyo LT : InternationalizationJavaOne Tokyo LT : Internationalization
JavaOne Tokyo LT : Internationalization
 
Lighting Talk at Sun Tech Days 2008, Tokyo
Lighting Talk at Sun Tech Days 2008, TokyoLighting Talk at Sun Tech Days 2008, Tokyo
Lighting Talk at Sun Tech Days 2008, Tokyo
 
Monitoring Sun Java System Identity Manager through JMX
Monitoring Sun Java System Identity Manager through JMXMonitoring Sun Java System Identity Manager through JMX
Monitoring Sun Java System Identity Manager through JMX
 
JJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkJJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning Talk
 
Aizu IT Summer Forum, Open Source and Web Technologies
Aizu IT Summer Forum, Open Source and Web TechnologiesAizu IT Summer Forum, Open Source and Web Technologies
Aizu IT Summer Forum, Open Source and Web Technologies
 
JJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning TalkJJUG JavaOne 2009 報告会 Lightning Talk
JJUG JavaOne 2009 報告会 Lightning Talk
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
 
2012 08-23 Mame Night Jenkins
2012 08-23 Mame Night Jenkins2012 08-23 Mame Night Jenkins
2012 08-23 Mame Night Jenkins
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 

Semelhante a Monitoring Identity Manager by JMX

Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Mesosphere Inc.
 
Replay Solutions CFD
Replay Solutions CFDReplay Solutions CFD
Replay Solutions CFDkilroy440
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Red Hat Developers
 
Eclipse microprofile config and OSGi config admin - E Jiang
Eclipse microprofile config and OSGi config admin - E JiangEclipse microprofile config and OSGi config admin - E Jiang
Eclipse microprofile config and OSGi config admin - E Jiangmfrancis
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012Arun Gupta
 
Dataservices: Processing Big Data the Microservice Way
Dataservices: Processing Big Data the Microservice WayDataservices: Processing Big Data the Microservice Way
Dataservices: Processing Big Data the Microservice WayQAware GmbH
 
How to Test Enterprise Java Applications
How to Test Enterprise Java ApplicationsHow to Test Enterprise Java Applications
How to Test Enterprise Java ApplicationsAlex Soto
 
Netflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureNetflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureSuudhan Rangarajan
 
A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)Nati Shalom
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
 
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...Puppet
 
What's new in DWR version 3
What's new in DWR version 3What's new in DWR version 3
What's new in DWR version 3Joe Walker
 
Episode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSEpisode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSMesosphere Inc.
 
Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2Microsoft TechNet - Belgium and Luxembourg
 
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...Amazon Web Services
 

Semelhante a Monitoring Identity Manager by JMX (20)

Understanding angular meteor
Understanding angular meteorUnderstanding angular meteor
Understanding angular meteor
 
Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)Operating Kubernetes at Scale (Australia Presentation)
Operating Kubernetes at Scale (Australia Presentation)
 
Replay Solutions CFD
Replay Solutions CFDReplay Solutions CFD
Replay Solutions CFD
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
 
Eclipse microprofile config and OSGi config admin - E Jiang
Eclipse microprofile config and OSGi config admin - E JiangEclipse microprofile config and OSGi config admin - E Jiang
Eclipse microprofile config and OSGi config admin - E Jiang
 
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
 
Dataservices: Processing Big Data the Microservice Way
Dataservices: Processing Big Data the Microservice WayDataservices: Processing Big Data the Microservice Way
Dataservices: Processing Big Data the Microservice Way
 
How to Test Enterprise Java Applications
How to Test Enterprise Java ApplicationsHow to Test Enterprise Java Applications
How to Test Enterprise Java Applications
 
Netflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architectureNetflix Play API: Why we built an evolutionary architecture
Netflix Play API: Why we built an evolutionary architecture
 
A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
 
What's new in DWR version 3
What's new in DWR version 3What's new in DWR version 3
What's new in DWR version 3
 
Episode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OSEpisode 4: Operating Kubernetes at Scale with DC/OS
Episode 4: Operating Kubernetes at Scale with DC/OS
 
Nick harris-sic-2011
Nick harris-sic-2011Nick harris-sic-2011
Nick harris-sic-2011
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
 
Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2Take the spaghetti out of windows azure – an insight for it pro techies part 2
Take the spaghetti out of windows azure – an insight for it pro techies part 2
 
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...
Beyond the Basics: Advanced Infrastructure as Code Programming on AWS (DEV327...
 
Srs format
Srs formatSrs format
Srs format
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Monitoring Identity Manager by JMX

  • 1. Monitoring Identity Manager by JMX Takayuki Okazaki Solutions Architect, Software Practice http://blogs.sun.com/okazaki
  • 2. GOAL Understanding JMX monitoring feature which introduced from Identity Manager 7.0 Copyright © 2007 Sun Microsystems K.K. 2
  • 3. NOTICE • This is NOT officially verified document of Identity Manager. All information in this document are based upon personal research. Copyright © 2007 Sun Microsystems K.K. 3
  • 4. Agenda About JMX • Identity Manager and JMX • Configuration instruction • Demo • TIPS • Copyright © 2007 Sun Microsystems K.K. 4
  • 5. About JMX • Standard API for monitoring and managing JVM, services, and applications. > JSR 3: Java Management Extensions (JMX) • Monitoring and Managing from remote client > JSR 160: JMX Remote API • Target use case of JMX > Referring and modifying application configuration > Gathering statistics about the application > Notify error or status change Copyright © 2007 Sun Microsystems K.K. 5
  • 6. Benefit of JMX Lightweight • Secure • Scalable monitoring & management architecture • Easy to engage existing management solutions (like • SNMP, WBEM) Copyright © 2007 Sun Microsystems K.K. 6
  • 7. Scope of JMX Specifications Copyright © 2007 Sun Microsystems K.K. 7
  • 8. What can monitor by JMX? • Java VM > OS and environment, JVM options, Memory and Garbage collection, Threads • Web Container > Performance statistics, Cache, status of a connections, Connection pool, Thread pool • Application > All exposed MBeans(Managed bean) Copyright © 2007 Sun Microsystems K.K. 8
  • 9. Example Memory Thread CPU Class Copyright © 2007 Sun Microsystems K.K. 9
  • 10. More use case • Notify events to JMX clients > Errors and warnings > Status change • Invoking operations > Garbage collection > Test connection > State change • Advanced use case > Self tuning and self management (like GlassFish v2) Copyright © 2007 Sun Microsystems K.K. 10
  • 11. JMX Remote and Security • Authentication > UserId/Password authentication by MBean server • Protecting connection > TLS and SSL Authentication through userid/pwd Copyright © 2007 Sun Microsystems K.K. 11
  • 12. SNMP and JMX • Several MBeans are monitored through SNMP > http://java.sun.com/javase/6/docs/technotes/guides/man agement/snmp.html • JVM related info can be monitored by SNMP > OS and environment, classpath and JMV options, JIT, classloader, threads, GC, memory, memory pool and logging Copyright © 2007 Sun Microsystems K.K. 12
  • 13. JMX tools • JConsole > Bundled with JDK 5 or later • MC4J (http://mc4j.org) > Open source monitoring tool • Sun Java System Management Framework > Bundled with Java ES 5 > Opensourced: http://proctor.dev.java.net • More.. > HP Openview, AdventNet ManagemeEngine Applications Manager, ... Copyright © 2007 Sun Microsystems K.K. 13
  • 14. JConsole • Graphical management tool • You can develop additional plugin for JConsole Copyright © 2007 Sun Microsystems K.K. 14
  • 15. Identity Manager and JMX • Support starts from Identity Manager 7.0 • Status of cluster/server, Scheduler, information about Resources, status of ActiveSync Copyright © 2007 Sun Microsystems K.K. 15
  • 16. Cluster ObjectName=IDM:type=Cluster Attribute name Description ActiveServers List of active IDM servers KnownServers List of known IDM servers NewlyFailedServers Most recent list of failed IDM servers Alive Is polling thread alive? PollingInterval Polling interval (in milli-seconds) Copyright © 2007 Sun Microsystems K.K. 16
  • 17. Example: Cluster ObjectName=IDM:type=Cluster Copyright © 2007 Sun Microsystems K.K. 17
  • 18. Servers ObjectName=IDM:type=Cluster,service=Server,name=”<Server name>” Attribute name Description CreateDate Date of server created Creator Name of user who create this server Deleted Is this object deleted? Heartbeat HeartbeatDate Most recent heart beat time State StateString Status of this server ObjectName=IDM:type=Server Attribute name Description Name Name of the server Status StatusDisplay Status of this server Copyright © 2007 Sun Microsystems K.K. 18
  • 19. Example: Servers ObjectName=IDM:type=Cluster,service=Server,name=”<Server name>” ObjectName=IDM:type=Server All servers are listed Same server to JMX server Copyright © 2007 Sun Microsystems K.K. 19
  • 20. Resources ObjectName=IDM:type=Cluster,service=Resource,resType=”<Resource type>”, name=”<Resource name>” Attribute name Description CreateDate Date of resource creation Creator Creator user name Deleted Is this object deleted? LastModificationDate Last modified date MostRecentActivity Most recent activity MostRecentActivityDate Most recent activity date MostRecentActivityDateMS Test connection to each resource feature availble. Copyright © 2007 Sun Microsystems K.K. 20
  • 21. Example: Resources ObjectName=IDM:type=Cluster,service=Resource,resType=”<Resource type>”,name=”<Resource name>” All resource type/resources are listed Copyright © 2007 Sun Microsystems K.K. 21
  • 22. Connection test (IDM->Resource) Invoke test connection Success case Failure case Copyright © 2007 Sun Microsystems K.K. 22
  • 23. ActiveSync ObjectName=IDM:type=Cluster,service=Synchronization,component=ActiveSync resType=”<Resource type>”,name=”<resource name>” Attribute name Description ProgressString Progress string ErrorStatusString Error string LastPollAttempt Last ActiveSync date NextPollAttempt Next ActiveSync date LastModNum Last modification number LastModDate Last modification date LastKnownServer Last server name which starts this ActiveSync LastStartTime Last start time State, StateString Status of this active sync Copyright © 2007 Sun Microsystems K.K. 23
  • 24. Example: ActiveSync ObjectName=IDM:type=Cluster,service=Synchronization,component=ActiveSync resType=”<Resource type>”,name=”<Resource name>” All ActiveSyncs which is: - currently running - failure or scheduled Copyright © 2007 Sun Microsystems K.K. 24
  • 25. SPE Sync ObjectName=IDM:type=Cluster,service=Synchronization,component=SPE Sync resType=”<Resource type>”,name=”<Resource Name>” Attribute name Description ProgressString Progress string ErrorStatusString Error string LastPollAttempt Last SPE Sync date NextPollAttempt Next SPE Sync date LastModNum Last modification number LastModDate Last modification date LastKnownServer Last server name which starts this SPE Sync LastStartTime Last start time State, StateString Status of this SPE sync Copyright © 2007 Sun Microsystems K.K. 25
  • 26. Scheduler 1 of 2 ObjectName=IDM:type=Scheduler Attributes Description Cycles ? ErrorCount ? ExpiredCount ? FinishedCycleCounter ? FinishedCycleTIme ? LaunchedCount ? ReadyCount ? ReadyCycleCounter ? ReadyCycleTime ? Copyright © 2007 Sun Microsystems K.K. 26
  • 27. Scheduler 2 of 2 ObjectName=IDM:type=Scheduler Attribute name Description MostRecentHeartbeat Most recent heart beat time ScheduledCycleCounter ? ScheduledCycleTime ? Status StatusDisplay Status of scheduler Copyright © 2007 Sun Microsystems K.K. 27
  • 28. Example: Scheduler ObjectName=IDM:type=Scheduler Copyright © 2007 Sun Microsystems K.K. 28
  • 29. Event notification Heart beat events are notified if you subscribe to Scheduler event Copyright © 2007 Sun Microsystems K.K. 29
  • 30. Configuration • Identity Manager • Application Server • JConsole Copyright © 2007 Sun Microsystems K.K. 30
  • 31. Identity Manager 1 of 2 (1) Settings (2) Servers (3) Click your server Copyright © 2007 Sun Microsystems K.K. 31
  • 32. Identity Manager 2 of 2 (1) JMX (2) Turn off default setting (3)Turn on JMX Copyright © 2007 Sun Microsystems K.K. 32
  • 33. Application Server Memorize Port number Authentication realm Turn off if you want to use JConsole Admin Service Copyright © 2007 Sun Microsystems K.K. 33
  • 34. JConsole 1 of 2 JConsole bundled with JDK 6 JConsole bundled with JDK 5 Remote process Copyright © 2007 Sun Microsystems K.K. 34
  • 35. JConsole 2 of 2 JMX URL service:jmx:rmi:///jndi/rmi://<hostname>:<port> /management/rmi-jmx-connector User name and password Default setting of Sun Java System App Server is “admin-realm”, which is same user of app server administrator (default user name: “admin”) Copyright © 2007 Sun Microsystems K.K. 35
  • 36. Demo environment JConsole idm1 idm2 resource1 resource2 Solaris Container idmdb Copyright © 2007 Sun Microsystems K.K. 36
  • 37. Monitoring from command line • Most customers already have corporate standard monitoring tool, but it may not supports JMX • Most monitoring tools have a capability to invoking monitoring command • Using scripting languages which running on Java > JRuby, JavaScript, Groovy, Pnuts, (JavaFX!)... etc > Easy to customize Copyright © 2007 Sun Microsystems K.K. 37
  • 38. Example: JRuby Gathering ActiveSync Status #!/usr/bin/env jruby include Java include_class 'javax.management.ObjectName' include_class 'javax.management.remote.JMXConnectorFactory' include_class 'javax.management.remote.JMXServiceURL' jmxurl = 'service:jmx:rmi:///jndi/rmi://idm1:8686/jmxrmi' username, password = 'admin', 'adminadmin' svcurl = JMXServiceURL.new(jmxurl) cred = java.lang.String[2].new cred[0], cred[1] = username, password env = {'jmx.remote.credentials' => cred} conn = JMXConnectorFactory.connect(svcurl, env).getMBeanServerConnection names = conn.query_names(ObjectName.new( 'IDM:type=Cluster,service=Synchronization,component=ActiveSync,*'), nil) names.each do |name| cname = name.get_canonical_name if /name=quot;(.+?)quot;,resType=quot;(.+?)quot;/ =~ cname puts quot;Resource Type: #{$2}, Name: #{$1}, ” + “Status: #{conn.get_attribute(name, 'StateString')}quot; end end Resource Type: FlatFileActiveSync, Name: My FlatFile, Status: down Resource Type: LDAP, Name: SPE End-User Directory, Status: down Copyright © 2007 Sun Microsystems K.K. 38
  • 39. Information • Custom JMX clinet using JRuby (Japanese) > http://blogs.sun.com/nishigaya/entry/custom_jmx_client_ using_jruby > http://blogs.sun.com/nishigaya/entry/custom_jmx_client_ using_jruby1 Copyright © 2007 Sun Microsystems K.K. 39