Ad Widget

Collapse

Monitoring JBoss EAP 6

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Tawfik
    Junior Member
    • Mar 2015
    • 6

    #1

    Monitoring JBoss EAP 6

    Hi, i'm using Zabbix one year now, i'm trying to use it for java server like JBoss 6, and i really dont know how to start it, i already added theses lignes in my java remote server propertises /usr/lib/jvm/java-1.7.0-openjdk-amd64/jre/lib/management/management.properties :

    -Dcom.sun.management.jmxremote=true
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.port=9999
    -Dcom.sun.management.jmxremote.rmi.port=9999

    and i have theses ports opens :
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 796/exim4
    tcp 0 0 192.168.0.12:4447 0.0.0.0:* LISTEN 1609/java
    tcp 0 0 192.168.0.12:9990 0.0.0.0:* LISTEN 1609/java
    tcp 0 0 192.168.0.12:9999 0.0.0.0:* LISTEN 1609/java
    tcp 0 0 192.168.0.12:8080 0.0.0.0:* LISTEN 1609/java

    in zabbix server i have this error :
    java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: non-JRMP server at remote endpoint]

    Any help ?
    Thanks ahead
  • Tawfik
    Junior Member
    • Mar 2015
    • 6

    #2
    [UPDATE OF POST]

    Hello,

    I found a solution to implement JBoss 6 and 4 into Zabbix 3.0.2 without no result. Today i found out Zorka, and im trying to implement it in my zabbix server. Here how i did :
    - I setup a JBoss 6 for test in debian server
    - I downloaded zorka last version adn unzip it into jboss directory, i added in the end of jboss/bin/standalone.conf :
    JAVA_OPTS="$JAVA_OPTS -javaagent:/home/tawfik/jboss/jboss-eap-6.1/zorka/zorka.jar=/home/tawfik/jboss/jboss-eap-6.1/zorka"
    - Starting jboss server with this commande :
    ./standalone.sh -Djboss.bind.address=192.168.0.12 -Djboss.bind.address.management=192.168.0.12
    - I imported the template Template_Zorka_JBoss.xml to my zabbix for test perpuse.
    - Added new host with template with Agent interfaces port 10056

    RESULT : item "Not supported"

    Here is my zorka.properties :

    # Zorka configuration properties file.
    # All configuration settings used by agent itself
    # and agent extension scripts can be stored here.

    # There is a lots of example settings that are commented.
    # Consult documentation and uncomment+adjust needed ones.

    # Set profile(s) suitable to application server (eg. tomcat, jboss5, jboss7).
    # Basic configuration (plain JVM + zabbix) is uncommented with more examples below
    # scripts = jvm.bsh, zabbix.bsh

    # Example: Apache Tomcat configuration with CAS server
    # scripts = jvm.bsh, zabbix.bsh, apache/tomcat.bsh, apps/cas.bsh

    # Example: JBoss 4.2 with MySQL and LDAP
    # scripts = jvm.bsh, zabbix.bsh, jboss/jboss4.bsh, jdbc/mysql.bsh, ldap.bsh

    # Example: JBoss 5.1 with JBoss Portal and PostgreSQL database
    # scripts = jvm.bsh, zabbix.bsh, jboss/jboss5.bsh, jboss/jportal.bsh, jdbc/pgsql.bsh

    # Example: JBoss 6.1 with Spring application and PostgreSQL dataabase
    scripts = jvm.bsh, zabbix.bsh, jboss/jboss6.bsh, spring/spring.bsh, jdbc/pgsql.bsh

    # Example: JBoss 7.1
    # scripts = jvm.bsh, zabbix.bsh, jboss/jboss7.bsh

    # Example: Websphere 8.x with DB2 database (was.user and was.pass are required for PMI)
    # scripts = jvm.bsh, zabbix.bsh, jdbc/db2.bsh, ibm/was.bsh
    # was.user = zorka
    # was.pass = z0RkA_c0nF1d3nt14l

    # Example: Weblogic 12c and Oracle database
    # scripts = jvm.bsh, zabbix.bsh, oracle/wls.bsh, jdbc/oracle.bsh

    # Example: Mule ESB 3.4
    # scripts = jvm.bsh, zabbix.bsh, apps/muleesb.bsh

    # Example: Jetty web server
    # scripts = jvm.bsh, zabbix.bsh, eclipse/jetty.bsh

    # Zabbix agent is enabled by default. Uncomment this to disable zabbix integration.
    # zabbix = no

    # Zabbix Active Agent.
    # zabbix.active = yes

    # Zabbix Server's Address (IP:Port)
    # zabbix.active.server.addr = 192.168.56.10:10051

    # Add IP addresses of your zabbix servers here.
    # Only servers from this list will be allowed to access agent using zabbix protocol.
    zabbix.server.addr = IP

    # Default port Zabbix protocol will listen on.
    zabbix.listen.port = 10056

    # Enter name of your application and host here.
    # Should be unique for every monitored application.
    zorka.hostname = srv12

    # Switch this to setting to enable tracer and uncomment tracer.net or tracer.file to direct tracer data somewhere.
    # tracer = yes

    # Uncomment this and set proper IP address to send data to ZICO collector
    # tracer.net = yes
    # tracer.net.addr = 1.2.3.4
    # tracer.net.port = 8640

    # Uncomment this to save tracer data in local file. Deprecated.
    # tracer.file = yes

    # Uncomment this and set proper address to send data to Zabbix
    # tracer.zabbix = yes
    # tracer.zabbix.addr = 192.168.56.1
    # tracer.zabbix.port = 8000

    # Tuning tracer-zabbix integration
    # tracer.zabbix.send.interval = 15
    # tracer.zabbix.batch.size = 100

    # Interesting tracer tunables

    # Minimum execution time for trace to be sent to collector (in milliseconds)
    # Not that this is global setting that can be overridden for particular subsystems (eg. HTTP)
    # tracer.min.trace.time = 0

    # Minimum time traced method has to execute in order to be recorded by tracer in nanoseconds (0.25ms in this example)
    # tracer.min.method.time = 250000

    # Maximum number of methods recorded per trace; this limit prevents agent
    # from overruning host JVM memory when collecting huge trace;
    # tracer.max.trace.records = 4096

    # Interesting settings for HTTP monitoring

    # Disables HTTP tracing (leaving other traced activities enabled)
    # There is no reason to use this in most cases, at least unless it causes problems;
    # http.trace = no

    # This setting will override tracer.min.trace.time for HTTP requests
    # http.trace.time = 5000

    # URLs that should be excluded (by full URI or by regex)
    # This is useful when
    http.trace.exclude = ~.*.png, ~.*.gif, ~.*.js, ~.*.css, ~.*.jpg, ~.*.jpeg, ~.*favicon.ico

    # Disables HTTP parameters collection by tracer
    # http.params = no

    # HTTP parameters that should be excluded by tracer
    # This might be important for security reasons, (eg. password fields are good candidates for exclusion)
    # http.params.exclude = j_password, password, newPassword, newPasswordRepeat

    # Disables HTTP cookies collection by tracer
    # http.cookies = no

    # Cookies that should be excluded by tracer
    # This might be important for security reasons (eg. session cookies are good candidates)
    # http.cookies.exclude = JSESSIONID, jsessionid

    # Disables HTTP headers collection by tracer
    # http.headers = no

    # This will cause only selected parameters to be collected. Everything else will be dropped.
    # All three components (headers, cookies, parameters) have both .include and .exclude settings.
    # The latter one is useful when only a handful things have to be dropped, the former one -
    # when strict control over collected parameters is needed (eg. due to huge number of recorded data)
    # http.headers.include = cache-control, connection, user-agent

    # Enables slow HTTP request log (can be useful if we don't want to enable tracer but still want to see slow HTTP requests)
    # http.slow = yes
    # http.slow.time = 10000

    # Enable HTTP error log (logs HTTP errors)
    # http.error = yes



    # Interesting EJB settings

    # Disables EJB tracing
    # ejb.trace = no

    # Overrides EJB tracer.min.trace.time for EJB calls. Note that if EJB calls happen inside another trace
    # (eg. HTTP), their data (arguments, class, method etc.) will be visible in parent trace. In such cases
    # EJB traces can be 'promoted' to top level if their execution time exceeds defined threshold or if error occurs.
    # ejb.trace.time = 5000

    # Disables EJB argument processing. EJB arguments are recorded as attributes named ARG0, ARG1, ...
    # ejb.params = no

    # EJB inclusions and exclusions are done by data type. It is useful beacuse sometimes calling toString()
    # methods of certain application classes might cause troubles due to poor implementation.
    # ejb.params.exclude = some.problematic.Clazz, some.other.problematic.Clazz

    # Slow EJB calls and error EJB call logs are configured the same way as their HTTP counterparts.
    # ejb.slow = yes
    # ejb.slow.time = 10000
    # ejb.error = yes


    # Interesting SQL settings

    # Disables SQL tracing (not wise if overall tracer is enabled)
    # sql.trace = no

    # Minimum execution time for SQL trace to be "promoted" as top level trace.
    # sql.trace.time = 1000

    # Slow SQL queries or SQL errors are configured in the same way as tiehr HTTP counterparts.
    # sql.slow = yes
    # sql.slow.time = 10000
    # sql.error = yes


    # Interesting JMS settings

    # Disables JMS tracing (not wise if overall tracer is enabled)
    # jms.trace = no

    # Minimum execution time for JMS trace to be "promoted" as top level trace.
    # jms.trace.time = 1000

    # Slow JMS handling or JMS handling errors are configured in the same way as their HTTP counterparts.
    # jms.slow = yes
    # jms.slow.time = 10000
    # jms.error = yes


    # Interesting SOAP settings

    # Disables SOAP tracing (not wise if overall tracer is enabled)
    # soap.trace = no

    # Minimum execution time for SOAP trace to be "promoted" as top level trace.
    # soap.trace.time = 1000

    # Slow SOAP handling or SOAP handling errors are configured in the same way as their HTTP counterparts.
    # soap.slow = yes
    # soap.slow.time = 10000
    # soap.error = yes



    Best regards

    Comment

    • bozab1mix
      Junior Member
      • May 2016
      • 10

      #3
      I hope the host on zabbix server have the same port as client

      Also, did you check connection between Zabbix and jboss server ?

      Did you tried manually the jmx connection ?

      This might help to test : https://www.zabbix.org/wiki/Docs/howto/zabbix_get_jmx

      Comment

      • Tawfik
        Junior Member
        • Mar 2015
        • 6

        #4
        There is a communication between zorka and jboss and between zorka and zabbix server, but i have not supported in the item.
        i have activated zorka.spy.compute.frames = yes in zorka. but i can't get jboss items

        Best regards

        Comment

        • Tawfik
          Junior Member
          • Mar 2015
          • 6

          #5
          i have this error :

          ZorkaLib MBean server named 'java' is not registered.
          ZorkaLib MBean server named 'jboss' is not registered.

          Comment

          Working...