10 Replies Latest reply: Nov 19, 2010 2:53 PM by David Garcia RSS

Monitoring JBoss EAP instances with JON

Keith Istler Newbie

Hello,

I'm trying to setup a JON server to monitor JBoss EAP (I'm assuming this can be done..)

I've got JON setup, I've got the rhq-agent running.

I can see my server - it shows some resources like the agent, apache, postgres etc - but it doesn't show JBoss. I'm assuming that I need to install the plugin.. I've got the jopr-jboss-as-plugin-2.2.0.GA.jar file (from the jon-plugin-pack-eap-2.2.0.GA) though I can't figure out for the life of me where to put it. Or I could be barking up the wrong tree all together.

Can someone point me to a doc or tell me where I need to drop my jar?

Thanks,
-Keith

  • 1. Re: Monitoring JBoss EAP instances with JON
    Charles Crouch Expert

    There is a README.txt in the plugin pack which explains where to put all the jars contained within it.

    Thanks
    Charles

  • 2. Re: Monitoring JBoss EAP instances with JON
    Keith Istler Newbie

    Charles,

    Alright - I did try this before but I think I didn't realize that I either have to add jboss to the inventory manually because I have already detected this server - or it just needs to be added manually - either way I need to add it.

    The plugin does now show up in the installed plugins page for JON.

    I've gone down to the bottom of the inventory tab under the desired server, selected JBoss AS Server from the drop down (I am running jboss eap 4.3)

    Now no matter what combination I use of 127.0.0.1, my internal nat ip address and my local nat dns name (in the configuration), I continue to get the same error message.

    for the credentials - I'm using admin/admin (as I have specified in: C:\jboss-as\server\production\conf\props\jmx-console-users.properties and jmx-console-roles.properties)

    jboss home path: C:\jboss-as
    configuration path: C:\jboss-as\server\production

    I've also tried running "discovery -f" from the agent console, as well as the manual auto-discovery from the JON interface - but JBoss still does not show up..

    Also - I read int he jopr docs (http://www.jopr.org/confluence/display/JOPR2/JBossAS+Server) that your jboss instance needs to be started with:

    ./run.bat -Djboss.bind.address=xxx.xxx.xxx.xxx -Djava.rmi.server.hostname=name.domain.tld

    is this correct? Could this be causing problems?

    Here is my error:


    Unable to connect to the Agent. Cause: javax.ejb.EJBException:java.lang.RuntimeException: Error adding JBossAS Server resource to inventory as a child of the resource with id 500054 - cause: Server specified unknown Resource type: ResourceType[id=0, category=null, name=JBossAS Server, plugin=JBossAS] -> java.lang.RuntimeException:Error adding JBossAS Server resource to inventory as a child of the resource with id 500054 - cause: Server specified unknown Resource type: ResourceType[id=0, category=null, name=JBossAS Server, plugin=JBossAS] -> java.lang.IllegalStateException:Server specified unknown Resource type: ResourceType[id=0, category=null, name=JBossAS Server, plugin=JBossAS]


    Any more ideas?

    Maybe I'm doing something in the wrong order?

    I think i'm closer now.. but confused..

    Thanks,
    -Keith


  • 3. Re: Monitoring JBoss EAP instances with JON
    Keith Istler Newbie

    Hrm... does this plugin require snmp... I did some slimming and may have removed it..

  • 4. Re: Monitoring JBoss EAP instances with JON
    Keith Istler Newbie

    Alright - I tried the full jboss eap setup and that did not work either, I returned to my custom configuration and tried using my computer name "keithwork" instead of an ip address what I thought was my domain name within my offices network.

    This time I got a message stating that jboss was already in the invenstory:


    A JBossAS Server with the specified connection properties was already in inventory.
    [\quote]

    But I don't see it in the list... (How can I add it to the list?)

    The screen I get also states that: "This resource does not currently have any child resources." So I try to deploy my ear using the combo box that allows you to create a new EAR. Upon uploading my ear from the next screen I get the message: "This resource does not currently have any child resources." and generates a stack trace. (I can recreate if this needs to be reported.) I tried deploying as zipped and unzipped.

    I'm looking at this tool to determine if it would be useful to monitor a group of about 30+ individual instances of JBoss. I'm starting to wonder if it may be more trouble than it's really worth.. Is there something else I'm missing here?


  • 5. Re: Monitoring JBoss EAP instances with JON
    Keith Istler Newbie

    Alright - not only did I hose up my last post pretty well but now JBoss EAP magically showed up in the discovery queue. I did go look at it a few times before.

    Can anyone tell me why?
    Does it show up here after you try to add it as a resource?
    Does it show up at some point in time after you run "discovery" on the agent on the local machine?
    Does it show up after it has coffee in the morning?

    For anyone else reading this thread - MAKE SURE YOU SET YOUR JMX CREDENTIALS or everything seems to be busted.

    I found that a lot of guess and check is involved in making JON work properly.

  • 6. Re: Monitoring JBoss EAP instances with JON
    jay shaughnessy Apprentice

    As you've seen, there are basically three steps to getting something fully monitored/managed by JON:

    Discovery
    Import
    Connection

    Many resources can be automatically discovered by the Agent. This is typically done via a process-scan performed at Agent startup, and then intermittently. If the agent is running and you don't want to wait for the next scheduled run you can force a discovery via the 'discovery -f' Agent prompt command (from an interactive Agent or via the JON GUI, as an operation on the Agent resource). Resources discovered should quickly show up in the AutoDiscovery Queue on the GUI, assuming the Agent is communicating with the Server. This can be checked by looking for UP availability for the Agent resource on the Server, or by executing the 'sender status' prompt command on the Agent.

    Once in the ADQ the resources can be selected for Import. When imported they will show up as a platform or server resource in the Resource Hub.

    At this point JON will attempt to connect to the resource using the connection properties set at discovery time. These can be viewed via the Inventory->Connection subtab when viewing the Resource in the GUI.

    It is not guaranteed that the Agent can connect to the Resource. The Agent must still be up. Second sometimes certain configuration must be performed on the resource. For example, JMX accessed resources must be exposingtheir MBeans. Or, authenticated access to the resource will require credentials be set (an update to the connection properties via the GUI).

    Only after a connection is made will the resource be Available (green). And only then will/can a Service level scan be performed to find the child resources. The service level resources will be imported automatically.

    Atthis point you should be good to go and be able to interact fully. For example, for an EAP resource, you should no be able to perform deployments.

    Hope this helps, -Jay

  • 7. Re: Monitoring JBoss EAP instances with JON
    Ian Springer Master

    A few other points...

    - Scheduled server discovery scans run every 15 minutes by default.
    - The "discovery" Agent prompt command will run a server discovery scan and print the results to the console, but will not send the results to the Jopr Server. "discovery -f" is what you want - that will run a server scan followed by a service scan and then send all the results to the Server.
    - There is a new feature in Jopr trunk that was not in 2.2 - the AS plugin can now automatically detect the JNP username and password if they are configured via the standard jmx-console-users.properties mechanism.

  • 8. Re: Monitoring JBoss EAP instances with JON
    Keith Istler Newbie

    Thank you jayshaughnessy and ips! I appreciate the clarification. I apologize for the rant.. I thought I followed the instructions where I could but maybe something was left out or I wasn't patient enough..

    I like the features that are available though.. thanks :)

    I did have my jmx-console-users.properties setup with the username and password and it appears that it was not detected/imported (maybe the agent found it but JON wasn't aware of it?).


    I haven't posted a "lot" on these forums but I have found the JBoss Operations Network Users forum to be fairly responsive - which is very nice.. thanks again.

    -Keith

  • 9. Re: Monitoring JBoss EAP instances with JON
    Ian Springer Master

    No problem!

    I did have my jmx-console-users.properties setup with the username and password and it appears that it was not detected/imported (maybe the agent found it but JON wasn't aware of it?).


    That feature is not in JON 2.2. It is in HEAD of Jopr trunk, which is the downstream open-source project that JON is based on, so it will be in JON 2.3, which is scheduled for release in late Sept.


  • 10. Re: Monitoring JBoss EAP instances with JON
    David Garcia Newbie

    Keith

    You could me share plugins package jon-plugin-pack-eap-2.2.0.GA.

    Thanks