Ad Widget

Collapse

Zorka: advanced java monitoring agent with native zabbix integration

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • oitss
    Member
    • Dec 2013
    • 62

    #16
    Originally posted by Tec_Technician
    Hi!!
    Have anyone confirm if Zorka works on Zabbix last version 3.0.0 ??

    Zorka 1.0.15 on Zabbix 3.0.1 monitor Oracle Weblogic Server without any problem.

    Comment

    • Bruno Carvalho
      Member
      • Oct 2014
      • 32

      #17
      See my article: http://brunocarvalho.net/blog/2016/0...me-com-zabbix/

      Comment

      • anzai
        Junior Member
        • Mar 2016
        • 1

        #18
        Zorka agent

        I installed zorka agent to monitor several "server", but only loads the root directory configuration;

        directory domain:

        host.xml

        <jvms>
        <jvm name="default">
        <heap size="256m" max-size="512m"/>
        <permgen size="256m" max-size="256m"/>
        <jvm-options>
        <option value="-server"/>
        <option value="-javaagent:/opt/zorka/zorka.jar=/opt/zorka"/>
        </jvm-options>
        </jvm>
        </jvms>


        <server name="appxxx" group="appcluster" auto-start="true">
        <system-properties>
        <property name="org.apache.coyote.http11.Http11Protocol.COMP RESSION" value="on"/>
        <property name="org.apache.coyote.http11.Http11Protocol.COMP RESSION_MIME_TYPES" value="text/javascript,text/css,text/html"/>
        <property name="zorka.home.dir" value="/opt/zorka/appxxx" boot-time="true"/>
        </system-properties>
        <socket-bindings socket-binding-group="full-ha-sockets" port-offset="0"/>
        </server>

        <server name="appxx1" group="appcluster" auto-start="true">
        <system-properties>
        <property name="org.apache.coyote.http11.Http11Protocol.COMP RESSION" value="on"/>
        <property name="org.apache.coyote.http11.Http11Protocol.COMP RESSION_MIME_TYPES" value="text/javascript,text/css,text/html"/>
        <property name="zorka.home.dir" value="/opt/zorka/appxx1" boot-time="true"/>
        </system-properties>
        <socket-bindings socket-binding-group="full-ha-sockets" port-offset="0"/>
        </server>


        jbosshome/bin/domain.conf


        if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
        JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.j itlogic.zorka.core.spy"
        fi

        ZORKA="/opt/zorka"
        JAVA_OPTS="$JAVA_OPTS -javaagent:$ZORKA/zorka.jar=$ZORKA"


        Obs:

        In each directory server there is a zorka.properties with different listening port
        In /opt/zorka/appxxx

        scripts = jvm.bsh, zabbix.bsh, jboss/jboss7.bsh
        zabbix.server.addr = 192.168.XX.XX,127.0.0.1
        zabbix.listen.port = 10065
        zorka.hostname = eaphom1-appxxx
        zorka.spy.compute.frames = yes
        http.trace.exclude = ~.*.png, ~.*.gif, ~.*.js, ~.*.css, ~.*.jpg, ~.*.jpeg, ~.*favicon.ico
        http.slow = yes
        http.slow.time = 10000
        http.error = yes
        ejb.slow = yes
        ejb.slow.time = 10000
        ejb.error = yes
        sql.slow = yes
        sql.slow.time = 10000
        sql.error = yes
        jms.slow = yes
        jms.slow.time = 10000
        jms.error = yes
        soap.slow = yes
        soap.slow.time = 10000
        soap.error = yes


        In /opt/zorka/appxx1

        Comment

        • Tawfik
          Junior Member
          • Mar 2015
          • 6

          #19
          Hello,

          I was struggling a week to find 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



          Thanks ahead,
          Best regards

          Comment

          Working...