3 Replies Latest reply on Dec 18, 2013 11:23 AM by rareddy

    Monitoring TEIID server

    gioppoluca

      Is there a method for meonitoring TEIID server, like time of query, numbers of connections and so no?

      Possibly not from a java environment, but using some API so to be albe to use tools like zabbix and similar?

      Thanks

      Luca

        • 1. Re: Monitoring TEIID server
          rareddy

          Luca,

           

          Yes, all the monitoring metrics you see on the web-console can be retrieved through groovy script, take a look at AdminShell for that. Also, all the communications for metrics can also go over HTTP with simple CLI (JSON) based calls for whole JBoss AS 7, so you can use your favorite language to devise that. Take look at CLI in JBoss AS.

           

          Ramesh..

          1 of 1 people found this helpful
          • 2. Re: Monitoring TEIID server
            gioppoluca

            Just a pinpoint to the correct path?

            • 3. Re: Re: Monitoring TEIID server
              rareddy

              Grooy based Shell - AdminShell - allows scripting, more like java but as powerful - http://sourceforge.net/projects/teiid/files/teiid-8.6.0.Final-adminshell-dist.zip/download

              one you install it, type help and you see bunch of commands. Look in AdminShell - Teiid 8.7 (draft) - Project Documentation Editor for documentation.

               

              As per CLI, this is console based scripting environment provided by JBoss AS7. See documentation at Admin Guide - JBoss AS 7.2 - Project Documentation Editor

               

              You can execute

               

              {jboss-as}/bin/jboss-cli.sh --connect
              

               

              for example, you can get all the translators deployed in Teiid, by executing

               

              /subsystem=teiid:list-translators
              

               

              It will return a json response with all the translators. However this application is still developed in Java. JBoss exposes two ports 9999 which a native port:9999 and http port:9990. So if you use HTTP port you can send REST based requests to do the same operation above

               

              curl --digest -D - http://localhost:9990/management --header "Content-Type: application/json" -d '{"operation":"list-translators", "include-runtime":"true" , "address":["subsystem","teiid"], "json.pretty":1}' -u user:password
              

               

              See more resources of this type here

              The HTTP management API - WildFly 8 - Project Documentation Editor

              HTTP (JSON-like) API

               

              To be honest I have never tried this interface, but does not look that bad. All you need to understand is how to form the requests, for that you need to understand fully how JBoss DMR commands in json look like. If you see the AdminImpl class, I have same using the Java classes, but the challenge for you is use your favorite language form the JSON requests and use a REST client to execute them and read the responses.

               

              HTH

               

              Ramesh..