Navigation

    Best APM Solution for Oracle WebLogic Server & FMW Product Family
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Download

    SOLVED Instructions about Brigde Metrics

    General Support & Troubleshooting
    metric bridge wlsdm
    2
    10
    243
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wlcommunityusers
      wlcommunityusers last edited by

      Hi,

      We tried to create a metric to monitor all the bridges we have, but when trying to add new jmx mbean metrics, we didn’t find any specific metrics that wlsdm considers a valid monitoring to be selected as a metric.
      We need to show the name of all the fights we have, and their counts and limits and their status.

      The problem print is attached.
      2cd55844-2f32-4045-95aa-c086f59b4994-image.png

      Regards.

      Community Users Case Notes (Diary)

      wlsdmsupport 1 Reply Last reply Reply Quote 0
      • wlsdmsupport
        WLSDM Support @wlcommunityusers last edited by

        @wlcommunityusers

        @wlcommunityusers

        Hi,

        You can use below script to create your own Bridge dashboard. Please update regarding values then apply it to your domain.

        Regards…

        File —> monitorBridges.py

        redirect('/dev/null', 'false')
        connect('weblogic', 'WELCOME1', 't3://localhost:7001')
        domainRuntime()
        cd('ServerRuntimes')
        serverRuntimes=ls(returnMap='true')
        for serverRuntime in serverRuntimes:
                stopRedirect()
                print '>>>>>>>>>>> ' + serverRuntime
                redirect('/dev/null', 'false')
                cd('/ServerRuntimes/' + serverRuntime + '/MessagingBridgeRuntimes')
                bridgeRuntimes=ls(returnMap='true')
                for bridgeRuntime in bridgeRuntimes:
                        cd(bridgeRuntime)
                        print serverRuntime+' | '+String.valueOf(cmo.getName())+' | '+String.valueOf(cmo.getState())+' | '+String.valueOf(cmo.getDescription())
                        cd("..")
        
        

        DevOps MBean Script:

        java -cp /Users/admineer/u01/Oracle/Middleware1221/Oracle_Home/wlserver/server/lib/weblogic.jar -Djava.security.egd=file:/dev/./urandom weblogic.WLST -skipWLSModuleScanning monitorBridges.py | grep "|" | awk 'BEGIN{print "SERVERNAME | BRIDGE NAME | STATE | DESCRIPTION "}; {print};' | awk -F"|" '{print $1,$2,$3,$4}' | awk '{if ($3 == "Inactive") { icnt++ } else if ($3 == "Active") { acnt++ }} END { print "Inactive="icnt+0,"\n""Active="acnt+0 }'
        

        Callback Script:

        java -cp /Users/admineer/u01/Oracle/Middleware1221/Oracle_Home/wlserver/server/lib/weblogic.jar -Djava.security.egd=file:/dev/./urandom weblogic.WLST -skipWLSModuleScanning monitorBridges.py | grep "|" | awk 'BEGIN{print "SERVERNAME | BRIDGE NAME | STATE | DESCRIPTION "}; {print};' | awk -F"|" '/Inactive/ {print $1,"|",$2,"|",$3,"|",$4}'
        

        WLSDM Community Support Team

        wlcommunityusers 1 Reply Last reply Reply Quote 0
        • wlsdmsupport
          WLSDM Support @wlcommunityusers last edited by

          @wlcommunityusers

          Hi,

          Your search result is returning string value. Which metric do you want to monitor?

          If you tell the value in WebLogic console, we will find the corresponding JMX MBean.

          Regards.

          WLSDM Community Support Team

          wlcommunityusers 1 Reply Last reply Reply Quote 0
          • wlcommunityusers
            wlcommunityusers @wlsdmsupport last edited by

            @wlsdmsupport

            Hi,

            We make count with a this mbean “MessagingBridgeRuntime".

            Same like this …

            java weblogic.Admin -url ${CONN} GET -pretty -type MessagingBridgeRuntime -mbean ${DOMAIN}:ServerRuntime=${mserver},Name=${bridge},Type=MessagingBridgeRuntime,Location=${mserver} -property Descripti
            on -property Name -property State | egrep -v "deprecated|MBeanName"  | tee ${BT}
            

            only for monitoring any problem with many bridges that we have, but its necessary to us, a metrics for bridge -> JMS Bridge Destinations …

            Regards.

            Community Users Case Notes (Diary)

            wlsdmsupport 1 Reply Last reply Reply Quote 0
            • wlsdmsupport
              WLSDM Support @wlcommunityusers last edited by

              @wlcommunityusers

              Hi,

              What we understand is you would like to monitor the STATE of Bridge definitions, please confirm? This value is STRING that is why you are unable to add as a numeric chart to WLSDM Mbean dashboards.

              But you can create your own Generic Devops MBean to monitor all these BRIDGE definitions.

              1. You can search any of MBean value on below page “WLSDM Menu > Operational Tools & Utils > MBean Search” to see the current values and object types

              1.png

              1. You have another options which WLST web console; it is available on “WLSDM Menu > Operational Tools & Utils > WLST Web Console”.

              3..png

              1. Just use your own script to generate a “Generic DevOps MBean” by transforming the script to create NUMERIC result sets for the ACTIVE states. i.e. “1” value for the ACTIVE states.

              You can check these samples and technical blog posts to create your own DevOps Means objects.
              https://medium.com/wlsdmforweblogic/wlsdm-generic-devops-mbean-index/home

              If you want we can have a quick tech teams meeting to help about creating JMS Bridge Dashboard?

              Hope these helps; otherwise please let us know the result

              Kind Reagards.

              WLSDM Community Support Team

              wlcommunityusers 1 Reply Last reply Reply Quote 0
              • wlcommunityusers
                wlcommunityusers @wlsdmsupport last edited by

                @wlsdmsupport

                Hi,

                We haven’t seen these features, which you’re showing, maybe our copy, it’s free.

                1797f65f-e414-4b89-a8f6-8d0c229664f7-image.png

                Regards.

                Community Users Case Notes (Diary)

                wlsdmsupport 1 Reply Last reply Reply Quote 0
                • wlsdmsupport
                  WLSDM Support @wlcommunityusers last edited by

                  @wlcommunityusers

                  Hi,

                  These suggestions need to be done in WLSDM console; not for WL-OPC console. If any notification occurs for the JMS Bridge then it would be available on WL-OPC console.

                  Kind Regards…

                  WLSDM Community Support Team

                  wlcommunityusers 1 Reply Last reply Reply Quote 0
                  • wlcommunityusers
                    wlcommunityusers @wlsdmsupport last edited by

                    @wlsdmsupport

                    Hi,

                    My apologize about that.
                    Follow attached the print

                    82a54708-7635-40ce-9054-2d050a3a5b4b-image.png

                    And that the answer of WST console

                    Connecting to t3://osbdmn:7000 with userid admWLS …
                    Successfully connected to Admin Server ‘OSB_DMN_Admin’ that belongs to domain ‘OSB_DMN’.

                    Warning: An insecure protocol was used to connect to the
                    server. To ensure on-the-wire security, the SSL port or
                    Admin port should be used instead.
                    serverConfig:/>ls()
                    dr-- AdminConsole
                    dr-- AppDeployments
                    dr-- BridgeDestinations
                    dr-- Clusters
                    dr-- CoherenceClusterSystemResources
                    dr-- CoherenceServers
                    dr-- CustomResources
                    dr-- DeploymentConfiguration
                    dr-- Deployments
                    dr-- EmbeddedLDAP
                    dr-- ErrorHandlings
                    dr-- FileStores
                    dr-- ForeignJNDIProviders
                    dr-- InternalAppDeployments
                    dr-- InternalLibraries
                    dr-- JDBCDataSourceFactories
                    dr-- JDBCStores
                    dr-- JDBCSystemResources
                    dr-- JMSBridgeDestinations
                    dr-- JMSInteropModules
                    dr-- JMSServers
                    dr-- JMSSystemResources
                    dr-- JMX
                    dr-- JPA
                    dr-- JTA
                    dr-- JoltConnectionPools
                    dr-- Libraries
                    dr-- Log
                    dr-- LogFilters
                    dr-- Machines
                    dr-- MailSessions
                    dr-- MessagingBridges
                    dr-- MigratableTargets
                    dr-- RemoteSAFContexts
                    dr-- RestfulManagementServices
                    dr-- SAFAgents
                    dr-- SNMPAgent
                    dr-- SNMPAgentDeployments
                    dr-- Security
                    dr-- SecurityConfiguration
                    dr-- SelfTuning
                    dr-- Servers
                    dr-- ShutdownClasses
                    dr-- SingletonServices
                    dr-- StartupClasses
                    dr-- SystemResources
                    dr-- Targets
                    dr-- VirtualHosts
                    dr-- WLDFSystemResources
                    dr-- WLECConnectionPools
                    dr-- WSReliableDeliveryPolicies
                    dr-- WTCServers
                    dr-- WebAppContainer
                    dr-- WebserviceSecurities
                    dr-- XMLEntityCaches
                    dr-- XMLRegistries

                    -r-- AdminServerName OSB_DMN_Admin
                    -r-- AdministrationMBeanAuditingEnabled false
                    -r-- AdministrationPort 9002
                    -r-- AdministrationPortEnabled false
                    -r-- AdministrationProtocol t3s
                    -r-- ArchiveConfigurationCount 50
                    -r-- ClusterConstraintsEnabled false
                    -r-- ConfigBackupEnabled true
                    -r-- ConfigurationAuditType log
                    -r-- ConfigurationVersion 10.3.6.0
                    -r-- ConsoleContextPath console
                    -r-- ConsoleEnabled true
                    -r-- ConsoleExtensionDirectory console-ext
                    -r-- DomainVersion 10.3.6.0
                    -r-- ExalogicOptimizationsEnabled false
                    -r-- GuardianEnabled false
                    -r-- InternalAppsDeployOnDemandEnabled false
                    -r-- LastModificationTime 0
                    -r-- Name OSB_DMN
                    -r-- Notes null
                    -r-- Parent null
                    -r-- ProductionModeEnabled true
                    -r-- RootDirectory /opt/web/wl/osb11.1.1.9/domains/OSB_DMN
                    -r-- ServerMigrationHistorySize -1
                    -r-- ServiceMigrationHistorySize -1
                    -r-- Type Domain

                    -r-x freezeCurrentValue Void : String(attributeName)
                    -r-x isSet Boolean : String(propertyName)
                    -r-x unSet Void : String(propertyName)

                    serverConfig:/>cd(“MessagingBridgeRuntime”)
                    This Exception occurred at Tue Sep 21 16:06:00 BRT 2021.
                    javax.management.AttributeNotFoundException: com.bea:Name=OSB_DMN,Type=Domain:MessagingBridgeRuntime
                    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:221)
                    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222)
                    at javax.management.remote.rmi.RMIConnectionImpl_1036_WLStub.getAttribute(Unknown Source)
                    at weblogic.management.remote.common.RMIConnectionWrapper$12.run(ClientProviderBase.java:807)
                    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
                    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
                    at weblogic.security.Security.runAs(Security.java:61)
                    at weblogic.management.remote.common.RMIConnectionWrapper.getAttribute(ClientProviderBase.java:805)
                    at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878)
                    at weblogic.management.scripting.BrowseHandler.regularPush(BrowseHandler.java:429)
                    at weblogic.management.scripting.BrowseHandler.cd(BrowseHandler.java:688)
                    at weblogic.management.scripting.WLScriptContext.cd(WLScriptContext.java:196)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                    at java.lang.reflect.Method.invoke(Method.java:597)
                    at org.python.core.PyReflectedFunction.call(Unknown Source)
                    at org.python.core.PyMethod.call(Unknown Source)
                    at org.python.core.PyObject.call(Unknown Source)
                    at org.python.core.PyObject.invoke(Unknown Source)
                    at org.python.pycode._pyx56.cd$5(:173)
                    at org.python.pycode._pyx56.call_function()
                    at org.python.core.PyTableCode.call(Unknown Source)
                    at org.python.core.PyTableCode.call(Unknown Source)
                    at org.python.core.PyFunction.call(Unknown Source)
                    at org.python.pycode._pyx65.f$0(:1)
                    at org.python.pycode._pyx65.call_function()
                    at org.python.core.PyTableCode.call(Unknown Source)
                    at org.python.core.PyCode.call(Unknown Source)
                    at org.python.core.Py.runCode(Py.java:1224)
                    at org.python.core.Py.exec(Py.java:1250)
                    at org.python.util.PythonInterpreter.exec(Unknown Source)
                    at weblogic.management.scripting.utils.WLSTInterpreter.exec(WLSTInterpreter.java:511)
                    at com.wlsdm.F.I.B(NativeWLSTExecuter.java:136)
                    at com.wlsdm.F.I.exec1(NativeWLSTExecuter.java:59)
                    at com.wlsdm.frontend.provider.w.A(WLSTGUICommands.java:63)
                    at com.wlsdm.frontend.provider.w.executeCommand(WLSTGUICommands.java:214)
                    at com.wlsdm.P.H.K(WLST.java:365)
                    at com.wlsdm.P.H.A(WLST.java:106)
                    at com.wlsdm.P.H.doGet(WLST.java:55)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
                    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
                    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
                    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
                    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
                    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
                    at com.wlsdm.P.D.doFilter(RRFilter.java:327)
                    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
                    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
                    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
                    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
                    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
                    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
                    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
                    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
                    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
                    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1493)
                    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
                    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

                    Regards.

                    Community Users Case Notes (Diary)

                    wlsdmsupport 1 Reply Last reply Reply Quote 0
                    • wlsdmsupport
                      WLSDM Support @wlcommunityusers last edited by

                      @wlcommunityusers

                      @wlcommunityusers

                      Hi,

                      You can use below script to create your own Bridge dashboard. Please update regarding values then apply it to your domain.

                      Regards…

                      File —> monitorBridges.py

                      redirect('/dev/null', 'false')
                      connect('weblogic', 'WELCOME1', 't3://localhost:7001')
                      domainRuntime()
                      cd('ServerRuntimes')
                      serverRuntimes=ls(returnMap='true')
                      for serverRuntime in serverRuntimes:
                              stopRedirect()
                              print '>>>>>>>>>>> ' + serverRuntime
                              redirect('/dev/null', 'false')
                              cd('/ServerRuntimes/' + serverRuntime + '/MessagingBridgeRuntimes')
                              bridgeRuntimes=ls(returnMap='true')
                              for bridgeRuntime in bridgeRuntimes:
                                      cd(bridgeRuntime)
                                      print serverRuntime+' | '+String.valueOf(cmo.getName())+' | '+String.valueOf(cmo.getState())+' | '+String.valueOf(cmo.getDescription())
                                      cd("..")
                      
                      

                      DevOps MBean Script:

                      java -cp /Users/admineer/u01/Oracle/Middleware1221/Oracle_Home/wlserver/server/lib/weblogic.jar -Djava.security.egd=file:/dev/./urandom weblogic.WLST -skipWLSModuleScanning monitorBridges.py | grep "|" | awk 'BEGIN{print "SERVERNAME | BRIDGE NAME | STATE | DESCRIPTION "}; {print};' | awk -F"|" '{print $1,$2,$3,$4}' | awk '{if ($3 == "Inactive") { icnt++ } else if ($3 == "Active") { acnt++ }} END { print "Inactive="icnt+0,"\n""Active="acnt+0 }'
                      

                      Callback Script:

                      java -cp /Users/admineer/u01/Oracle/Middleware1221/Oracle_Home/wlserver/server/lib/weblogic.jar -Djava.security.egd=file:/dev/./urandom weblogic.WLST -skipWLSModuleScanning monitorBridges.py | grep "|" | awk 'BEGIN{print "SERVERNAME | BRIDGE NAME | STATE | DESCRIPTION "}; {print};' | awk -F"|" '/Inactive/ {print $1,"|",$2,"|",$3,"|",$4}'
                      

                      WLSDM Community Support Team

                      wlcommunityusers 1 Reply Last reply Reply Quote 0
                      • wlcommunityusers
                        wlcommunityusers @wlsdmsupport last edited by

                        @wlsdmsupport

                        Hi,

                        This collection of bridge status, does it occur in what period? We saw that it has a 30 second timeout, but I didn’t see the collection interval time, or if it’s realtime.

                        Regards.

                        Community Users Case Notes (Diary)

                        wlsdmsupport 1 Reply Last reply Reply Quote 0
                        • wlsdmsupport
                          WLSDM Support @wlcommunityusers last edited by

                          @wlcommunityusers

                          Hi,

                          Default interval is 120 seconds and you can change this value in “system.monitoring.genericmbean.harvest.frequency” property as below.

                          PS: If you change this value, it will effect all “Custom MBeans”.

                          6.png

                          Regards.

                          WLSDM Community Support Team

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post

                          WLSDM: Native WebLogic Monitoring & Diagnostics

                          Copyright © 2021 WLSDM Community & Support Portal | WLSDM.COM | WLSDM Blog