Icon

Comments have been closed on this page. Please use AppMon & UEM Open Q & A forum for questions about this plugin.

Looking for the the Plugin page?

Go here

 

 

 

 

 

 

  1. Anonymous (login to see details)

    I'm having trouble getting some of the Action variables to work, specifically {AGENT} and {APPSRV}. I've set this up for many of the built-in alerts, and I keep getting these two blank. When should these variables contain a value?

    1. Anonymous (login to see details)

      I was able to get these values to work if I used a custom incident. The OOTB incidents don't have all the values available. I'm running into a new issue now. Why isn't current value or threshold available as an Action variable? The MSG doesn't always include this information. It just says the threshold has been exceeded.

  2. Anonymous (login to see details)

    temp.jpg

    I install the 5.5.0 GE plugin on the dt5.0 3772. when it begin to capture data the GE failed. could you please give some suggestion. thanks.

    1. Anonymous (login to see details)

      Hi Lei,

      This looks like triggered  action was using older version of the GE plugin. Stacktrace shown in the attached jpg file is referring to the “ge” java package while GE 5.5.0 is using “com.dynatrace.diagnostics.plugin.extendedexecutor” package. Could you please check that the GE 5.5.0 plugin is configured in the action rule which was triggered when the NullPointerException was thrown?

      Eugene.

  3. Anonymous (login to see details)

    Very nice!

  4. Anonymous (login to see details)

     Hi,

    I'm looking for the hostname of the agent, without the port. Upon an incident, I would like to SSH to ${AGENT_HOST} and issue a linux command, but the port number makes this impossible.

    AGENT_HOST=liferay-a-02:14747
    AGENT_HOST_1=liferay-a-02:14747
    ALL_AGENT_HOSTS=liferay-a-02:16540
    SERVER_NAME=liferay-a-02:14747
    SERVER_NAME_1=liferay-a-02:14747
    ALL_SERVER_NAMES=liferay-a-02:16540

    Is it possible to do such a thing?

    If I'm reading this post right, I may be asking for something that can't be done.

    1. Anonymous (login to see details)

      Hi Alexandre,

      Issue that you are describing here is related to this post. dynaTrace engine is not providing source of the incident to the generic execution plugin. However, plugin was able to extract AGENT_HOST/SERVER_NAME from the incident's message. What we can do in addition here is to remove port number from the source of the incident and provide pure AGENT_HOST/SERVER_NAME. I'll put this request in our pipe to fix plugin. This is fairly easy fix. I'll update wiki page with the fixed code.

      Eugene.

    2. Anonymous (login to see details)

      Hi Alexandre,

      Please deploy Generic Execution plugin v 5.5.2 which removes port from the agent, monitor, collector, and server hosts. Please let me know if you have any issues.

      Eugene

  5. Anonymous (login to see details)

    I am calling a webservice but we do use any proxies and it seems to be a mandatory field ?

  6. Anonymous (login to see details)

    Hi Zohaib,

    If I understood your question correctly, WS Proxy Host, WS Proxy Port, WS Proxy Authentication User, and WS Proxy Authentication Password are all optional parameters. Plugin should work without these parameters. Please provide me with plugin's FINER log if it is otherwise. 

    Eugene.

  7. Anonymous (login to see details)

     

    This is going back to Igor Simoes question from May 31 2013.  Is there a way to Pares the Results and return them as Measureabe items.  My case is a little different in that all I want returned is the numerical single output from a command I execute on a system.

     

    For example I would like to be able to return in a useable fashion the count of 500 errors in a Web Log,  Right now I can see the value returned in the Detailed Message section

    Count:15

    But I am unable to do anything with it.  If I could capture that value into a Measure This would solve many problems I am having.  I am not a programmer, although I have tried to modify the Generic Execution Plugin, but have had no success.  I know this is possible as the Process COmmand Plugin returns a single number. 

     

    Please let me know how this can be done...

     

    Thank you

     

    Don Meuth

    1. Anonymous (login to see details)

      Hi Don,

      It is possible to add to the plugin ability to create a measure based on the returned value of the command, if this is what you are asking. We also can add measure name parameter to the plugin that you can use this measure in the alerts, e-mails in more meaningful way.

      Eugene.

      1. Anonymous (login to see details)

        That would be perfect.  This change could be used in many ways.  In fact, I can probably rework most of my Nagios scripts to work with this plugin and it would make dynaTrace the single centerpiece of our Monitoring strategy.

        If I can capture a single value returned from the command (for example a count of Queue Depth from MQ, or  from our Day/CQ System a count of requests per second) that would be exactly what I am looking for. 

         

        1. Anonymous (login to see details)

          Hi Don,

          Sounds good. When do you need this change to be implemented? This will help to plan my load better.

          Eugene.

          1. Anonymous (login to see details)

            I think you know the answer to that question (smile), but whenever you could implement it would be fine.

            1. Anonymous (login to see details)

              I knew it! (smile) I'll upload new version of the plugin Mon-Tue next week. This is the earliest time I can implement your request.

              1. Anonymous (login to see details)

                When We get it running, I'll update with several of the uses we've found for it.

                 

                Oh and 

                 

                THANK YOU VERY MUCH!!!!!

                1. Anonymous (login to see details)

                  Great. I'll update you when change is implemented.

                2. Anonymous (login to see details)

                  Hi Don,

                  The GEP version 5.5.5 is ready. Plugin's jar file is here. The GEP v. 5.5.5 has new parameter "RC Measure". Please use this parameter to give meaningful name for the return values (e.g. Queue Depth, Number of Errors in..., etc.). Plugin will create splitting value using "RC Measure" parameter and set return value from the executed command to this splitting value (see attached screenshot for details). You can setup threshold on the based measure, i.e. on the returnCode measure, and use action plugins to send notifications. You also can draw charts based on splitting values.

                  Please let me know if you encounter any issues with using GEP version 5.5.5.

                  Eugene.

                  1. Anonymous (login to see details)

                    I have it working... See below for my problem...

                    On a hunch, I checked out the new GEP plugin and in the development TAB I re-built the plugin.  when I tested it it worked!!!!

                    I re-deployed my rebuilt plugin (No changes) and it works....

                     

                    Thank you this is really going to help me out...

                     

                    Don Meuth

                     

                     

                    I downloaded the new GEP, and updated the Plugin. on our test server, during the update it stated it was updating GEP 5.5.3 with 5.5.5 and I completed the update.  However, when I tried to add a Monitor, it isn't in the list of Active Monitors.  I checked in the and it isn't in the list of Installed Plugins.  I clicked Install Plugin, then chose the new GEP 5.5.5 jar file.  a pop-up window with 

                    Are you sure you want to install the Plugin

                    'com.dynatrace.diagnostics.plugin.extended.GenericExecutionPlugin' with version 5.5.5 from

                    'C:\Users\dmeuth\Desktop\Downloads\com.dynatrace.diagnostics.plugin.extended.GenericExecutionPlugin_5.5.5.jar?


                    I clicked OK

                    It installs and is Active in the list showing Version 5.5.5

                    I clicked OK

                    I showed it was saving the Configuration, but when I go to add the GEP Monitor in Tasks and Monitors, it isn't in the list.  I went back to the list of installed Plugins and it isn't there.  

                    I tried updating our Production server, and the plugin shows in the list 

                    as version 5.5.5 and as active, but it doesn't appear in the Tasks/Monitors list when I try to add it on Production.  I went back to the Installed Plugins list and it is still there and marked as active, but when I show the details  I looks OK, except I looked at the license and it says "An error occurred when opening the license'

                    Any ideas?

                     

                    Thank you for all your work.

                    1. Anonymous (login to see details)

                      Hi Don,

                      Very good. Keep me updated if you have any issues. You don't need to rebuild plugin. Direct deployment of the jar file should work. If you'd like, please check server's log file and send it to me if you find any exceptions related to the plugin.

                      Eugene.

                       

                      1. Anonymous (login to see details)

                        It is working very well.  not sure why I had an issue, but I've already converted 3 nagios scripts for checking a system we have called Vendavo, it checks the DB for scheduled tasks run intervals. Works like a charm

                         

                        Thank you very much...

                        1. Anonymous (login to see details)

                          Hi Don,

                          Thanks for updates. When you have a moment, we can look into issue you observed. Send me e-mail if/when you'd like to look into this issue that I can schedule time.

                          Eugene.

                          1. Anonymous (login to see details)

                            We had to upgrade from 5.5.0.5692 to 5.6.0.5713.  Most everything went smoothly, but the Generic Execution Plugin has once again disappeared from the Plugins list, I tried to re-install it, and I get an error while it is trying to install.  First I get

                            A Plugin with the same ID and version is already installed.  Replace the Plugin 'com.dynatrqace.diagnostice.plugin.extended.GenericExecutionPlugin' with version 5.5.5?  When I click OK to continure the install, I get An error occurred while trying to install the Plugin.

                             

                            Somehow the Plugin is installed, but no in the list, and is in a state where it cannot be deleted or overwritten.

                             

                            The Plugin is running very well on the 5.5 Production system,  but we'll be upgrading it next week.

                            1. Anonymous (login to see details)

                              Hi Don,

                              Could you please send me dynaTrace server log file and plugin's log file. Could you also re-start dynaTrace server and dynaTrace Collector. If you still have issue, please let me know when I can setup webex to look into your issue. I'm on training today but I will be available tomorrow.

                              Eugene.

                              1. Anonymous (login to see details)

                                I actually had a feeling that restarting the dynaTrace server might fix it,, I've seen it before.  After restarting the server I was able to install the GEP that you sent me, not rebuilt like on our Production 5.5 server.

                                 

                                Thank you

                                1. Anonymous (login to see details)

                                  Thanks for updates, Don. Keep me posted if you see any issues.

                                  Eugene.

        2. Anonymous (login to see details)

          Hi Don,

          In some cases, you may consider looking into specialized plugins which monitor specific infrastructures. Such plugins capture multiple infrastructure's metrics out of the box. For example, IBM MQ Queue Channel plugin captures 20+ metrics for the IBM MQ queues.

          Eugene.

  8. Anonymous (login to see details)

    We are using the plugin to call a .sh file after an incident. We want to use the external variables. Do we need to reference them in the command line, or can we reference them within the .sh file we call?

    1. Anonymous (login to see details)

      Hi Shaun,

      You should reference environmental variables directly inside of the .sh script. Please make sure that they are setup before calling the script.

      Eugene.

      1. Anonymous (login to see details)

        I don't mean environment variables. I'm talking about the predefined variables mentioned in the description.

        Action: maintains 105 predefined variables which have the following syntax ${variable-name} (with dollar-sign and braces). The complete list of maintained variables is located here.

        1. Anonymous (login to see details)

          Hi Shaun,

          You need to pass the predefined variables as a .sh parameters when invoking script.

          Eugene.

          1. Anonymous (login to see details)

            When we pass it as a parameter, the spaces are messing it up. It doesn't see the whole variable as one parameter. It cuts it off after the first space.

            1. Anonymous (login to see details)

              Hi Shaun,

              Are you using up to date version of the plugin?

              Eugene.

              1. Anonymous (login to see details)

                1. Anonymous (login to see details)

                  Hi Shaun,

                  Please upgrade it to 5.5.4 and let me know if you still have issues.

                  Eugene. 

                  1. Anonymous (login to see details)

                    Using the new version worked great.

  9. Anonymous (login to see details)

    Can you tell us what the new functionality/capabilities are in the new 5.5.6 Plugin?  I also noticed that it is about twice the size of the previous versions.

     

    Thank you for all you have done to make this plugin what it is...

    1. Anonymous (login to see details)

      Hi Don,

      Changes in the GE Plugin v5.5.6 are related to the changes in the SOAP message where we have removed optional parameters which have no values. We also improved interoperability between Axis, Axis2,... and .NET web services.

      Size of the plugin's jar file increased because we have embedded JAX-WS v. 2.2.x jars there to avoid differences in JAX-WS versions provided in JVM 1.7 (dT 5.6) and JVM 1.6 (dT 5.5, dT 5.0,...) distributions.

      Eugene.

  10. Anonymous (login to see details)

     

    Hi
    We've downloaded and installed the plug in. We can get Scheculed monitors and run now actions happening but are flumoxed on getting an incident to executre a GE plugin task. We have the latest version - any tips for trouble shooting?
    Log files to check etc?

    1. Anonymous (login to see details)

      Hi Jason,

      Could you please clarify what are you trying to achieve? I'm unclear by your following statement: "on getting an incident to executre a GE Plugin task". GE Plugin can be setup in one of the following three modes: Action, Monitor, and Task. Which one of the modes are you trying to setup this plugin with?

      In terms of troubleshooting: the best place to look into is plugin's log. It is located in the <dynaTrace-home>/log/server directory for the Action mode, and in the <dynaTrace-home>/log/collector/<collector-name> directory for the Monitor and Task modes.

      Let me know if you have any further questions.

      Eugene.

      1. Anonymous (login to see details)

        Hi
        Apologies - very new to the product. I am attempting to use the Generic Execution Plugin as a rule action in an Incident Rule (in this case disk utilization). I cannot get this run (other rule actions are working)
        I have used the the Generic Execution Plugin in Monitors and Tasks and both work, just in relation to an action to an Incident

        1. Anonymous (login to see details)

          Hi Jason,

          Thank you for providing details about your issue. I still need more information. Here are some questions:

          • Are you setting up an incident based on the "Disk Storage Utilization" measure?
          • What exactly is not working?
          • Is incident getting triggered?
          • What actions do you have setup for this incident?
          • Are actions performed?

          As I mentioned in my prior post, GE Plugin log is the best place to check for the issues. Please setup GE Plugin log level  to FINER and send it to me if incident is getting triggered but action is not executed.

          Please let me know if you have any further questions.

          Eugene.

  11. Anonymous (login to see details)

    Hi,

    Iam trying to configure the plugin for our company. I managed to invoke a web-service which doesn't have any authentication but I have a webservice which needs a username/password to access. How can I configure this ?

    Regards,

    Binny

    1. Anonymous (login to see details)

      Hi Binny,

      Web services proxy authentication is the only authentication which is implemented now. You can see it by checking the "Use Web Service Proxy?" box.

      Please let me know if you have any further questions.

      Eugene.

      1. Anonymous (login to see details)

        Hi

        I am working with Mathew Binny on this. Since we do not use a web services proxy we cannot use this neat plugin as of now. Any plans to extend with basic authentication ?

        Regards
        Rolf Gunnar

      2. Anonymous (login to see details)

        Hi Eugene,

        I would also like this authentication implemented.  Is there work in progress for it already or should we plan it into our project?

        thanks,

        Alex.

        1. Anonymous (login to see details)

          The Basic Authentication for web services calls is available in the plugin version 5.5.18+.

          Eugene.

  12. Anonymous (login to see details)

     

    Hi,

    I need to configure GEP to run some unix commands on a server and provide me as output the number of open files. And to log into this server i need to pass username and key. How should i configure this and should i be using it as monitor or task?

    Thanks and Regards,

    Somdev

    1. Anonymous (login to see details)

      Hi Somdev,

      Please setup GEP as a monitor. It will be running on a dT Collector box. Setup GEP "Method" parameter to SSH because as I understand Unix box is a remote server. For SSH communication you need to provide user id and password/public key. Set "Authentication Method" parameter to PublicKey and provide path to a public key certificate on the collector box. Enter Unix command in the "Command" parameter of the GEP. Also enter name of the "RC Measure" dynamic measure that GEP will provide you with. This name could be "# of open files". Make sure that your command returns number of open files. Setup appropriate schedule for your monitor. Now your instance of the GEP is configured.

      GEP will provide you with the dynamic measure which is number of open files in your case. So, you need to use GEP as a Monitor and not as a Task. Please let me know if you have any further questions.

      Eugene.

       

       

  13. Anonymous (login to see details)

    Hello Eugene,

    thanks for the plugin. I'm trying to add a measure for the number of established connections on a Solaris box.

    I've added GEP and configured a monitor to run the netstat command to get the number of connections. This seems to work fine, when I look at the "Schedule Details" in the System Profile for the GEP monitor I've defined I see the number of connections under "Detailed message".

    But I can't figure out how to make a measure out of this value. I've configured "EstablishedConnections" as RC Measure but when I try to put this in a chart there is no measure with that name.

    Is there anything else I need to do?

    Thanks for your help

    Regards

    Klaus

    1. Anonymous (login to see details)

      The GEP does not exactly return the values from your script, what it does if process the return code (i.e. exit value)  so in you script to get the number of connections (up to 256)  you need to use

       

      for example I am setting a RETURN VALUE and the exiting the script

      NUMCONNECTIONS=212

      exit $NUMCONNECTIONS

       

      DynaTrace will see the value returned, returncode, for charting and setting incidents as 212.

       

      I hope that helps.

       

    2. Anonymous (login to see details)

      Hi Klaus,

      Here what you need to do (some of steps you have done already):

      1. Create a shell script which captures number of established connections and returns this number in the return value. See example of the script here. This example shows number of TCP connections.
      2. Configure the GE Plugin as shown on the attached screenshot. Command and RC Measure are highlighted.
      3. Create dashboard and add dynamic measure to the chart as shown on the Measure Picker screenshot here
      4. Chart the "tcp connections" measure as shown here.

      Please note that return values from the shell scripts are mod(256). We are removing this limitation as well as adding ability to return any number of values from the script and associate them with the dynamic measures. Updated version of the plugin will be available in a week.

      Please let me know if you have further questions.

      Eugene.

  14. Anonymous (login to see details)

    Thanks Eugene, that is about the best news I've heard in a long time.....

    1. Anonymous (login to see details)

      (smile) I'll keep you updated.

      Eugene.

       

      1. Anonymous (login to see details)

        Has the new version of the GEP Plugin, (Multiple Values returned, configureable) been completed...

         

        Thank you

         

        Don Meuth

        1. Anonymous (login to see details)

          Hi Don,

          I'm sorry, I was switched to a higher priority project. New version of the plugin will  come in 3 weeks now. I apologize for the delay.

          Eugene.

          1. Anonymous (login to see details)

            No Problem, I appreciate all you've don, and I do understand priority shifting.. happens all the time.

          2. Anonymous (login to see details)

            Any update on the status of the new plugin....

            I've got someone in our performance group who wants to be able to graph multiple statistics from a single script.

             

            Thank you

             

          3. Anonymous (login to see details)

            Any Updates on the status of the new Plugin?  

             

            I figure I can combine about 2/3's of my plugins, a lot less activity and more data, that will be wonderful

            1. Anonymous (login to see details)

              Hi Don,

               

              I haven't started yet but I'm getting there. I'll update wiki page very soon.

              Regards,
              Eugene.

            2. Anonymous (login to see details)

              Hi Don,

              The updated version of the GE plugin v 5.5.8 is here. It can process multiple returned values. Please set the "Returned Measures" parameter with semicolon separated list of returned measures and make script return output record which starts with "***ReturnedMeasures:" and followed by the semicolon separated values in the same order that measures names are listed in the "Returned Measures" parameter.

              Please let me know if you have any issues or would like to change anything. Please note that this is beta release of the plugin. I appreciate your feedback.

              Eugene.

               

              1. Anonymous (login to see details)

                Just one question, is it backwardly compatible with the previous one? For the current scripts I am running..

                 

                This is really Great!!!  I can return multiple values by doing an 

                echo "***ReturnedMeasures:VALUE1;VALUE2;VALUE3, etc....."


                Can't get a lot easier than that.  I'll download it today and give it a try...


              2. Anonymous (login to see details)

                Just one question, is it backwardly compatible with the previous one? For the current scripts I am running..

                 

                This is really Great!!!  I can return multiple values by doing an 

                echo "***ReturnedMeasures:VALUE1;VALUE2;VALUE3, etc....."


                Can't get a lot easier than that.  I'll download it today and give it a try...


                1. Anonymous (login to see details)

                  Hi Don,

                   

                  Yes, the 5.5.8 version of the plugin is backward compatible with all previous plugin's versions.

                  Please let me know if there are any issues. I appreciate your feedback.

                  Eugene.

                  1. Anonymous (login to see details)

                    The script is completely backward compatible with the old one, that is VERY good news

                     

                    Question on setting it up for multiple values

                    on the Measures Page , I am testing with 4 variables VAR1, VAR2, VAR3, VAR4

                    I think, from what you said I have tried a couple of things

                    I tried to append ReturnedMeasures to make it ReturnedMeasures:VAR1;VAR2;VAR3;VAR4

                    I tried to replace the ReturnedMeasures Measure name with VAR1;VAR2;VAR3;VAR4

                    I know I am just doing it wrong

                    in my code I am doing an echo "***ReturnedMeasures:120;520;12;217"

                     

                    Please help, all help is appreciated.  If I get this test to work it will same me dozens of scripts and be able to return a much wider variety of data.

                    Thank you



                    1. Anonymous (login to see details)

                      Hi Don,

                      Thank you for checking plugin. I've just executed your case on the remote Linux server and it worked fine. Please find plugin's configuration screenshot here. An example of the bash script is here, and plugin's detailed screen is here.

                      Please let me know if you still have issues

                      Eugene

                      1. Anonymous (login to see details)

                        So far so good.... It is working very well in my tests.  I have tried it with 4, 5 and 6 variables and it works fine, I really like how you can split, pick individual variables and how all the old stuff still works....

                        This is really a great enhancement and will allow me to simplify my scripts and combine them to reduce what has to be run.

                         

                        Thank you

                         

                        1. Anonymous (login to see details)

                          Hi Don,

                          Thank you for updates. This is good news. I'll push this version to GA over the weekend.

                          Eugene.

                           

                           

              3. Anonymous (login to see details)

                Hi Eugene. Great addition! I can't make it work for me though. The environment is: collector running on a Windows machine, executing PowerShell script. The returnCode and executionSuccess are both fine, but the new ReturnedMeasures does not appear. I looked at the relevant Java code fragments, and they seem OK. Among the things I tried, just guessing here: (a) adding a newline character after the "***ReturnedMeasures:76" (guessing that maybe the script expects a UNIX line terminator - on Windows I get CR-LF, so with the newline it's LF-CR-LF); (b) one and two values returning and watching for, semicolon-separated; (c) inserting a space in front of the value; (d) returning a double instead of an integer (76.0); (e) writing to output as first line and second line. One thing I noticed and trying to play with too is that in the output there are 4 additional lines that don't seem to appear in the sample output that Don captured - "*** Output stream ***" as the very first line, then my output, then "*** End of Output stream ***", then "*** Error stream ***", and then "*** End of Error stream". Could the problem be in that the ReturnedMeasures line is not the first one?

                Thanks.

                1. Anonymous (login to see details)

                  Update: restarting dynaTrace server helped! Weird!

                  1. Anonymous (login to see details)

                    Hi Victor,

                    Sounds good. Output lines "*** Output stream ***", "*** End of Output stream ***", "*** Error stream ***",  and "*** End of Error stream" are present when command executed locally. These lines are in the output historically. In Don's case I believe that he executed command remotely.

                    Please keep me updated if you encounter issues.

                     Eugene.

                    1. Anonymous (login to see details)

                      Sure. I'm running a 2-value monitor in production now - will run it for a week with chart output, and then will implement an incident alert based upon it, provided that the monitor is stable. I think that the important results of 5.5.8 are twofold: firstly, it reduces the number of monitors required to gather the same amount of information, secondly it splits the measured values into properly separated units. To illustrate the first point - some monitors we run are used for deeper introspection into system performance - we invoke PowerShell scripts from DT, the scripts in turn retrieve some application-specific stats from databases, perform comparisons, etc., and so with one cohesive monitor we can execute multiple queries and produce some meaningful massaged results, all within one-shot monitor invocation, so in one process instance; in other words, it's not only performance enhancement, but also a tool for more sophisticated and easier processing. To the second point - instead of trying to squeeze several values into a Boolean (executionSuccess) and one-byte integer (returnCode), we now can produce, in the mentioned 2-value case, value separation (the two values we're interested in), application-specific success criterion (through regex-matched executionSuccess), and result code of the PowerShell itself (either zero for success or 1 in case PS throws an exception) - in addition to the fact that doubles instead of bytes have much greater representational space, which is also important as with pre-5.5.8 monitor the return code would get truncated modulo 256. So, it's great all around. In fact, I was planning to begin development (perhaps based on the GEP, if that were possible) of our own plugin - TODAY - with this sort of capabilities, but this GEP update came just in time. Super! Thanks a lot for this work. Regards, Victor.

                      1. Anonymous (login to see details)

                        Hi

                        You have managed to get GEP working with Powershell?

                        We have problems run Powershell scripts with GEP. Even the most simples "Hello Wordl" scripts do not work. Script does not fail with any error; they just run forever and do not return and we have to stop those. If we try to run same in collector machine command prompt we don't have any issues.

                        Step by step

                        1. log in to collector machine and open command prompt
                        2. run: powershell -command "&{Write-Host Hello}"
                        3. works OK
                        4. Open system profile and edit tasks
                        5. copy  powershell -command "&{Write-Host Hello}" into command field in GEP properties
                        6. Click run and wait
                        7. Stop process after one minute

                        Any ideas how investigate and debug this further?

                        -marko

                         

                         

                        1. Anonymous (login to see details)

                          Hi Marko. Your command executed OK in my environment - I can see the command output in the dynatrace client. The fact that the script does not return on your machine, given the script's simplicity, likely means that it's waiting on user input, for instance to confirm that the script is permitted to run on the given machine, security-wise. I'd check and try the following:

                          1) Credentials under which the collector service runs - versus those that you login with in your manual test; for instance, I login to the machine with admin privileges, but collector runs under local service account - it's possible that your collector could be running under a more restricted account, in which case the script may be asking for a confirmation to run - inside the unattended Windows session - so nobody would answer, and so it would effectively get hung.

                          2) PowerShell execution policy on the collector's machine - using Get-ExecutionPolicy and Set-ExecutionPolicy you can figure out and set it to a more permissive value.

                          3) The collector and plugins can be tweaked to a verbose logging (by manual editing of collector configuration file) - this way you can see how each invocation gets executed - this can help in case there are problems with invocation rather than with the script itself.

                          4) Attach to the hung process with a debugger, say SysInternals Process Explorer or WinDbg, break into the debugger, and see if threads' state can reveal anything, like waiting on a ReadFile system call or something - this can give you a hint, or confirm other suspicions.

                          5) In case the machine is part of the domain, and given potential account discrepancy between your login and dynatrace collector service, check if there are any group policies in place that would prevent scripts from execution.

                          Regards, Victor.

                          1. Anonymous (login to see details)

                            Hi

                            We have now basically tested and excluded account and execution policy related issues by running collector high privileged account and setting execution policies basically allow everything.

                            Can drop link to some documentation how set collector to debug mode; we browse around configuration but did not manage to figure out correct setting.

                            -marko

                            1. Anonymous (login to see details)

                              Assuming your Windows and DT collector are both 64-bit, look for collector.config.xml in "C:\Program Files\dynaTrace\dynaTrace 5.6.0\collector\conf", change "loglevel" attributes from "INFO" to "FINEST", restart the collector and execute your test, then look for logs in "C:\Program Files\dynaTrace\dynaTrace 5.6.0\log\collector\dynaTrace Collector" - you may need to shut down the collector to make sure it flushes the most recent log entries (just a guess, maybe it's not necessary). Now, a disclaimer: I'm not affiliated with DT, so these are ad-hoc instructions, which, if executed, whether properly or not, on a production system, can impact performance, so use your judgement. I noticed that DT has a self-recovery from incorrect settings - the collector cfg file gets consumed, digested and rewritten, permitting only syntactically correct entries. For instance, if you misspell "FINEST" somewhere (there are a few places in the config file, some global, some per each of the provisioned plugins), the collector will revert this to the default "INFO". Anyhow, in short, if you're lucky, you may see some exceptions or error messages in the log related to your invocation of the plugin. Victor.

              4. Anonymous (login to see details)

                Is there a way to alert on an incident for multiple returned values? Example:

                returnedMeasures (Returned Measures,Test1): 171.0
                returnedMeasures (Returned Measures,Test2): 21.0
                returnedMeasures (Returned Measures,Test3): 0.0
                returnedMeasures (Returned Measures,Test4): 0.0
                returnedMeasures (Returned Measures,Test5): 0.0

                Alert if Test1 is greater than 171

                Alert if Test3 is greater than 1 etc.

                How do you split that in the incident? Thanks.

                1. Anonymous (login to see details)

                  Hi Matthew,

                  The Extended Mail Action plugin has this feature starting from rel. 0.9.9.18, however, the GE plugin doesn't. This would be a custom request to add this feature to the GE plugin.

                  Eugene.

                   

  15. Anonymous (login to see details)

    I am trying to use GEP 5.5.7 to execute a WS, but I keep getting an error notification when I execute it. The message is, "Error calling setup()", which seems to be internal to GEP, not an error on the remote side. I have tried several different parameters, but have no idea what is causing this.

    Any ideas?

    1. Anonymous (login to see details)

      Hi Derick,

      Could you please set plugin log level to FINER and send me log file? Also please provide configuration settings for the plugin.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

        I have run the GEP a few more times, and still get the error, "Calling setup() failed". The log level has been set to FINER, yet the log file remains empty.

        As far as the configuration settings go, I have checked the "Run WS?" option, entered the path to the wsdl (http://client_website.co.za/client/bus/HPSM/v1_1/ps/IncidentManagement?wsdl) and provided the action (CreateIncidentRequest). In the parameter list, I have tried all manner of combinations, and have also tried leaving it blank, but the error stays the same and seems to occur before the WS call is made. I have also tried it with and without the WS prefix option. I am using dynaTrace 5.6.5924. While testing, I have been using the GEP as a Task.

        Thanks,

        Derick

        BTW: I am trying to use the GEP as part of the alerting process, so I want to send WS calls to HP Service Manager to create and update incidents.

        1. Anonymous (login to see details)

          Hi Derick,

           

          I have rebuilt GE Plugin with additional debugging for exact dynaTrace version that you have. Could you please download jar file from here, re-deploy it and execute your test? Please send me plugin's FINER log file.

          Eugene.

          1. Anonymous (login to see details)

            Did this get resolved?  

            I'm having very similar issues.  Strangely enough its to do with the WS calls to HP Service desk but I think the root of the problem is host name resolution in the WS code of setup.

            thanks,

            Alex.

  16. Anonymous (login to see details)

    Hi Eugene,

    Thanks for the last reply regarding GEP issues.

    I was using GEP 5.5.0 for running some bash commands and it was executing fine but i was never able to get the output value in measures.I would request you to kindly help me out with this case.

    Also i migrated to GEP 5.5.7 and tried to test the same but i was getting authentication issue and i have seen that in 5.5.0 i can give user value but in 5.5.7 i don't see user field. I am using publickey authentication method to run the script.

    Thanks,

    Somdev

    1. Anonymous (login to see details)

      Hi Somdev,

      Dynamic measures are supported right now only for the return code values of the executed command. Please see this post for details on how to setup and use return code dynamic measure. Support for dynamic measures which are based on output values (different from the return code values) will be available sometime next week.

      Starting with version 5.5.6 of the GE Plugin, configuration parameters are only visible if they needed. So, if your method is "Local", i.e. GE Plugin is executing command locally (default value) you do not need user/password/public key fields, so, they are not displayed. However, when you choose method "SSH" user and password fields become visible and you can set them up. Please try it and let me know if you have any issues.

      Eugene.

  17. Anonymous (login to see details)

    Hi Eugene,

    We are using SSH method in GEP 5.5.7 with PublicKey as the Authentication method.But it does not show the user field.

    FYI- With this configuration authentication process fails.

    Regards,

    Somdev

    1. Anonymous (login to see details)

      Hi Somdev,

      Thank you for pointing our attention on this issue. There was a typo in the plugin.xml file I fixed it and uploaded new jar file on the wiki page. The GE Plugin version is unchanged: it is 5.5.7. Please re-deploy it and let me know if you have any issues.

       Eugene.

  18. Anonymous (login to see details)

    Hi Eugene,

     

     After i redeploy GEP 5.5.7 i was getting same error message: "Authentication Failed". In log file i have noticed that plugin picking wrong host value during the execution. I suppose that it should take host value from setting panel where i mention the host value not from the "Hosts" panel.

    Thanks,

    Somdev

    1. Anonymous (login to see details)

      Hi Somdev,

      Your assumption could be incorrect. Depending on plugin configuration it could take host value from the Hosts panel or from the Host configuration parameter. To answer on your question I need to see plugin's FINER log file. Please gather it and send it to me at Eugene.turetsky@Compuware.com.  Also provide screenshot of the plugin configuration parameters. I will help you to make authentication with public key working.

      Eugene.

  19. Anonymous (login to see details)

    Hi Eugene,

    This plugin was worked since last month then we didn't used it for 3 weeks.

    Now we resume to use this plugin again, we found this plugin not work anymore (included we didn't found plugin log)

    How could I check this plugin still work ?

    1. Anonymous (login to see details)

      Hi Tanapon,

      First, set plugin log level to FINER. Then run your test. Check plugin status code. If it was not successful, find plugin's log file and attach it to this wiki page. Plugin's log file is located in the following directory:

      • If the GE Plugin is an action, plugin log file is located in the <dt-home>/log/server directory.
      •  If the GE Plugin is a monitor or task then plugin log is located in the <dt-home>/log/collector/<collector-name> directory. Default collector name is "dynaTrace Collector".

      Eugene. 

       

      1. Anonymous (login to see details)

        Now, we already set log level to FINER and create incident which use generic execute plugin but nothing work.

        No plugin log has been collected on dynaTrace server log.

        In your log part provided just show only top 3 stuff contains by server, correlation and audit log.

         

        1. Anonymous (login to see details)

          Hi Tanapon,

          Please let me know if plugin is setup as action, monitor, or task? Let's setup webex to look into your issue. I'm in the EST timezone. Please provide time when I can look into your installation. Please send me e-mail directly at eugene.turetsky@compuware.com

           Eugene.

  20. Anonymous (login to see details)

    Hey Eugene,

    I'm running into an issue with the 5.5 plugin in that I am receiving a NaN result from my script execution as shown below.  

    I suspect that this is a result of the command being executed that counts the number of files within a given directory:

    cd /somedirectory/crx.default.
    VALUE=`ls -ltr *.tar | fgrep index | wc -l`
    echo $VALUE
    exit $VALUE

    The $VALUE variable is getting returned correctly as a 2 but within dynaTrace it is being recognized as NaN.  Any thoughts?  I suspect that this is simply an issue with the commands being executed.

    Any suggestions are appreciated.

    Thanks,

    Josh Raymond

    1. Anonymous (login to see details)

      Hi Josh,

      I've just executed similar script remotely with GEP 5.5.7. Plugin is working correctly, see chart below:

      Here are configuration parameters of the plugin:

      Here is script:

      VALUE=`ls -ltr *.* | wc -l`

      echo $VALUE

      exit $VALUE

      I've just uploaded version 5.5.7.1. You may use it. It has better diagnostics compare to the previous versions.

      Please provide me with the configuration parameters screen and plugin's FINER log.

       Eugene

       

  21. Anonymous (login to see details)

    Thanks for the quick response Eugene!  It appears as though it just took a couple of runs for the NaN to disappear as I am receiving the return value correctly:

    Thanks again!

  22. Anonymous (login to see details)

    Nice-to-have would be a filter on the Action for Incident Agents/Groups/Applications similar to the extended email action plugin

    Rick B

  23. Anonymous (login to see details)


    Planning to try this to get tibco jms stats using this plugin.. anyone has tried this before or any idea how to do it..

    I am thinking to install tibemsadmin on collector and the execute show stat queue < queuename >

    other option that I can think of it write different plugin for EMS monitoring

    1. Anonymous (login to see details)

      The way the Generic Execution Plugin works, basically is to alloy you to run commands on a remote server and return a value

       

      If you can execute a command line command to get this information, then you could write a script to execute the command and convert the value returned by the command, to an exit code.  if the status is basically a non-numeric response for example Up, Down, Starting, Stopping

      in your script you could assign a value to each...

      not sure the OS you are using so using pseudo code

      if STATUSVariable equals UP set RETURNVALUE = 1

      if STATUSVariable equals DOWN set RETURNVALUE = 0

      if STATUSVariable equals Starting set RETURNVALUE = 3

      if STATUSVariable equals Stopping set RETURNVALUE = 4

      exit RETURNVALUE

      Now in dynatTrace you will see a 0,1,2,3 returned and can handle it however you wish


  24. Anonymous (login to see details)

    Hi, i have tried this plugin with Dynatrace v6.0 and it works fine with one measure.

    But in case my script writes several measures:

    echo "***ReturnedMeasures:$MEMORIA;$CPU"

    and in the Monitor configuration I try to get that "Returned Measures" with value "MEMORIA;DMGRCPU" (Measures created in my Dynatrace profile) I see that these two measures MEMORIA and DMGRCPU get the same value, an average between the two numbers of my script.

    This is the last execution results:

    DMGRCPU: null
    DMGRCPU (Returned Measures,DMGRCPU): 5.0
    DMGRCPU (Returned Measures,MEMORIA ): 10.0
    MEMORIA : null
    MEMORIA (Returned Measures,DMGRCPU): 5.0
    MEMORIA (Returned Measures,MEMORIA ): 10.0
    executionSuccess: 0.0
    returnCode: 34.0
    returnedMeasures: null
    returnedMeasures (Returned Measures,DMGRCPU): 5.0
    returnedMeasures (Returned Measures,MEMORIA ): 10.0

    The plugin seems to mix both of the measures and for each measure returns a value of 7.5. Am I configuring something wrong? Is it compatible with v6.0?

    Regards

     

    1. Anonymous (login to see details)

      Hi Sergio,

      You do not need to create MEMORIA and DMGRCPU measures in your system profile. List of semicolon separated values in the Returned Measures parameter is enough for the plugin (see example here). Defined in the Returned Measures parameter measures are dynamic measures. Please see measure picker screen here. The chart screenshot depicts RCMEMORIA and RCDMGRCPU measures. Their values are 5 and 10 respectively during selected timeframe. These values are accurate.

      Eugene.

  25. Anonymous (login to see details)

    Hi Team,

    Question : The variable "${SEVERITY} ${STATE} ${DURATION}" didn't work. 

    Environment : dynaTrace 6.0.0.7000, Generic Execution Plugin 5.5.8 in windows 2008.

    I added a task to run a batch and pass three variables "${SEVERITY} ${STATE} ${DURATION}".

    my batch : 

    @echo on
    set outfile1=c:\tmp\callPGM4.log.txt

    echo date_time=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,8% >> %outfile1%
    echo Booking Occur >> %outfile1%
    echo %1 %2 %3 >> %outfile1%
    echo "============" >> %outfile1%

     

    the output of the result, the variable did't display the value :

    date_time=20141107_15:07:27
    Booking Occur
    ${SEVERITY} ${STATE} ${DURATION}
    "============"

     

     

    Does anyone can help me please?

    Thanks and Regards,

    Max Tseng

    1. Anonymous (login to see details)

      Hi Max,

      The ${SEVERITY}, ${STATE}, and ${DURATION} predefined variables are populated by the plugin only when it is configured as an action. Based on your post, the Generic Execution plugin is configured as a task, hence, none of the above variables are populated.

      Please let me know if you have any further questions.

      Eugene.

  26. Anonymous (login to see details)

    Hi,

    Iam trying to configure the plugin for one of my costumer. I managed to invoke a web-service which doesn't have any authentication but I have a webservice which needs a username/password to access. How can I configure this ?

    Any plan to add basic auth. to webservice ? it will really helps me to send alerts to HP ITSM tool.

    Regards,

    Savas

    1. Anonymous (login to see details)

      Hi Savas,

      Unfortunately, current version of the GE plugin does not support basic authentication for web services. I know that we have another customer who asked about this enhancement. Right now there is no work scheduled to add basic authentication to the GE plugin.

      Eugene.

    2. Anonymous (login to see details)

      The Basic Authentication for web services calls is available in the plugin version 5.5.18+.

      Eugene.

  27. Anonymous (login to see details)

    Eugene,

    I might not have enough info to get the plugin working for my client. The requirement is SMS Alert notifications and I'm using the Generig Execution Plugin to fire off a web service message when an incident is triggered.

    I have configured the plugin to the best of my ability (given the information I have) but I get the "2014-12-04 13:14:28 SEVERE [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] listParameters method: Check wsdl. Complex type is null, or sequence is null, or elements list is null, or elements list is empty" message in its log file.

    Can I provide you with the WSDL and plugin configuration? Would you be willing to have a look at these and advise me on what I might be doing wrong?

     

    Please let me know

    Thanks

    Francois

    1. Anonymous (login to see details)

      Hi Francois,

      Sure, please send me your WSDL file, plugin configuration (you can export your system profile if you'd like), and plugin's log file. My e-mail address is eugene.turetsky@dynatrace.com .

      Eugene.

  28. Anonymous (login to see details)

    Hi Eugene,

     

    A couple of arguments do not populate when writing to a log file using the out of the box incidents, but work fine with custom incidents. These arguments are: 

     

    {APPLICATION}

    {VIOLATED_MEASURE_NAME}

    {VIOLATED_MEASURE_DESCRIPTION}

    {VIOLATED_MEASURE_VALUE}

    {VIOLATED_MEASURE_UNIT}

    {VIOLATED_MEASURE_SPLITTINGS}

    {VIOLATED_MEASURE_TRESHOLD_UPPER_SEVERE}

    {VIOLATED_MEASURE_TRESHOLD_LOWER_SEVERE}

    {VIOLATED_MEASURE_TRESHOLD_UPPER_WARNING}

    {VIOLATED_MEASURE_TRESHOLD_LOWER_WARNING}

    {AGENT_GROUP_NAME}

    {COLLECTOR_NAME}

    {COLLECTOR_HOST}

     

    Any input as to why this might be?

    1. Anonymous (login to see details)

      Hi Kayan,

      As of now, the Dynatrace incidents can be one of the following two types: measure based incidents and event based incidents. The out of the box incidents are event based incidents. For the event based incidents there are no values populated by the Dynatrace engine for the list of parameters that you have provided in your post.

      Please let me know if you have any further questions.

      Eugene.

      1. Anonymous (login to see details)

        I am running a GEP plugin to collect multiple datapoints (CPU and HEAP) for apps on a tomcat server, When an incident is triggered I see the information I want in the Incident message, but don't know how to pass specific data to a GEP Action that I want to execute.  Each of out tomcat servers has 3 instances running the return Measure names are TCAT1CPU TCAT2 CPU TCAT3CPU.  I am trying to pass the Measure name into a script for further processing.

         

        This is what I see:

        Generic Execution Monitor/returnedMeasures : returnedMeasures [Returned Measures->TCAT2CPU] (Tomcat 3 Individual CPU and MEMORY@stltcat03.sial.com) Tomcat 3 Individual CPU and MEMORY upper bound exceeded"

        What I'd like to pass is the returned Measure Name TCAT2CPU.

        Is there a way to do this?

         

        Thank you

         

        1. Anonymous (login to see details)

          Hi Don,

          The ${AGENT_NAME} or ${AGENT_NAME_1} runtime variables should have value of the Dynatrace agent name where incident occurred. To make it easier to find which runtime variable contains content that you are looking for, please temporarily setup the Extended Mail Action plugin for this incident rule and cut and paste the following body header  https://community.compuwareapm.com/community/download/attachments/120128619/BodyHeaderExample.html?api=v2 into the Body Header parameter of the Extended Mail Action plugin. The notification e-mail will contain list of all 150+ supported predefined variables and their values. After you choose variables that you'd like to use in the GEP, you can remove the Extended Mail Action plugin from the actions list.

          Please send me this notification e-mail if you will not be able to find variable that will suite your needs. My e-mail address is eugene.turetsky@dynatrace.com 

          Eugene.

  29. Anonymous (login to see details)

    Hi,

    I want to trigger an incident action to execute a batch (.bat) to call a Tivoli Enterprise Console(TEC) event program (postemsg.exe in windows) and pass some variables.

    I didn't know how to debug it. I just found the batch had executed, but the Tivoli Enterprise Console(TEC) event program (postemsg.exe in windows) didn't execute.

    I can execute the some command in DOS mode. This same "Tivoli Enterprise Console(TEC) event program (postemsg.exe in windows)" works normally in DOS mode. 

    Question:
    1. How to debug it ? or How to get more detail information ?
    2. How to check the result of "capture ouput" ? or What does the "Capture Output" setting mean ?

    Best Regards,

    Max Tseng

  30. Anonymous (login to see details)

    Hi, 

    I found below in the log, What does it mean ? 

    1) 

    2014-12-22 16:36:27 SEVERE [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] Previous message was repeated 2 times.
    2014-12-22 16:36:27 SEVERE [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] Execute method: exception is 'java.lang.IndexOutOfBoundsException exception occurred. Message = 'Index: 4, Size: 4'; Stacktrace is '''

    2)

    2014-12-22 15:41:51 INFO [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] Execute method: method is 'LOCAL', GEReturnObject rc is 0, output is '
    *** Output stream ***

    *** End of Output stream ***
    *** Error stream ***
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.

    *** End of Error stream ***
    '
    2014-12-22 15:41:51 INFO [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] execute method: Output string from the command '[c:\tmp\CallPGM5.bat, Severe, Host Performance/CPU Total Time : CPU Total Time_#TEST01 <all-applications> (Host-Agent@max-tseng-pc) upper bound exceeded, #TEST01, max-tseng-pc, 2014-12-22_15:41:20]'
    is '
    *** Output stream ***

    *** End of Output stream ***
    *** Error stream ***
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.
    The process cannot access the file because it is being used by another process.

    *** End of Error stream ***
    '

     

    1. Anonymous (login to see details)

      I guess this means that the batch faile - callpgm5.bat that you are executing is having some issues while executing. The error message "the process cannot access the file ..." indicates that you are trying to execute something that is currently blocked by another process. I would logon to that machine where this plugin is executed (thats the Collector you selected) and try to manually run this batch file using the same user account that the collector service is configured to use. Then you can verify if this batch file has general issues or not. I would also look into the windows event log for more error details on that problem. It clearly seems to be related with a problem while executing this batch file

    2. Anonymous (login to see details)

      Hi Max,

      The c:\tmp\CallPGM5.bat script, which you are trying to execute from the GE plugin, is failing. It returns the following error messages:

      *** Error stream ***
      The process cannot access the file because it is being used by another process.
      The process cannot access the file because it is being used by another process.
      ... etc.

      *** End of Error stream ***

      The "The process cannot access the file because it is being used by another process." error message most likely means that resource which  the c:\tmp\CallPGM5.bat script is trying to access is locked by another process.

      The c:\tmp\CallPGM5.bat script was executed on the Dynatrace server box with the following parameters:

      • Parameter 1: Severe,
      • Parameter 2: Host Performance/CPU Total Time : CPU Total Time_#TEST01 <all-applications> (Host-Agent@max-tseng-pc) upper bound exceeded,
      • Parameter 3: #TEST01,
      • Parameter 4: max-tseng-pc,
      • Parameter 5: 2014-12-22_15:41:20.

      The c:\tmp\CallPGM5.bat script was executed on the Dynatrace server box using the Dynatrace server process owner credentials. So, please troubleshoot your scripts manually on the Dynatrace server box using the same user id which owns the Dynatrace server process.

      In terms of the issue from your first paragraph: please set plugin's log level to FINER, reproduce the error and send me plugin's log file together with the Dynatrace server log. You can send me support archive instead. This is preferable.

      If you still have issues, I will setup webex with you to resolve your problem. So, send me e-mail at eugene.turetsky@dynatrace.com with your availability for the webex session. 

      Eugene.

  31. Anonymous (login to see details)

    I'm having problems getting a valid ReturnCode or ResultMeasure from a batch script. I'm running 6.1 DT with a 5.5.8 plug-in. My ultimate goal is to return the number of TCP Connections for a Windows machine like Eugene has described above with bash ( I've already verified that portion of the script). Taking out as many variables as possible, I'm running local on a collector and trying with test scripts.

    For my attempt doing this with ReturnCode: 

    Here's my batch test 1, here's my settings test 1, and here's the details test 1.

    For my attempt with ResultMeasures:

    Here's my batch test 2, here's my settings test 2, and here's the details test 2.

    I'm not extremely versed in batch scripts, but I think these should work based on reading over this page. Could anyone offer up some suggestions on how I should proceed in getting either a ReturnCode or ResultMeasure correctly reporting back to DT?

  32. Anonymous (login to see details)

    With the current version of the GEP, you do not need to use returnCode for the results, 

    returnCode is very restrictive in that it can only return exit codes 0-255

     

    the latest GEP allows you to return multiple values.  in Linux this is the method for passing variables back to dynaTrace

    echo "***ReturnedMeasures:$STLENDECA01;$STLENDECA13;$STLENDECA14;$STLENDECAQLB;$STLENDECA05;$STLENDECA06;$STLENDECA07;$STLENDECA08;$STLENDECAPLB;$DFWENDECA05;$DFWENDECA06"

     

    you will have to add an equivalent set of variable names, they don't have to be the same, but you will need the same number of variables in the Returned Measures field.

    Returned Measures                 STLENDECA01;STLENDECA13;STLENDECA14;STLENDECAQLB;STLENDECA05;STLENDECA06;STLENDECA07;STLENDECA08;STLENDECAPLB;DFWENDECA05;DFWENDECA06

    Sorry I don't have a Windows batch equivalent example

  33. Anonymous (login to see details)

    Thanks for the help Don, 

    I'll go the route with utilizing ResultMeasures. Hopefully someone can chime in on if  I have acceptable syntax in the batch for my test 2 as that uses ResultMeasures. 

    Jason

    1. Anonymous (login to see details)

      Hi Jason,

      Please remove double quotes from the echo command in the script, i.e. use the following command in the batch test 2:

      echo ***ReturnedMeasures:120;520

      Plugin's output is shown on the following screenshot.

      Eugene.

  34. Anonymous (login to see details)

    Thank you Eugene,

    I am now able to get the measure data back into Dynatrace. Here is my finalized batch for retrieving the TCP Connections of a Windows machine in case anyone else would like to utilize it. I'm sure there's more elegant solutions, but this one is working well for us. (D:\NetApps is where we store our Dynatrace installers and files)

    Jason

  35. Anonymous (login to see details)

    Hi there

    I have a CURL command on Websense (executing on Linux) that returns three values:

     

    Command:

    curl http://${HOST}:8083/health.load 

     

    Output:

    *** Output stream ***
    Load=8506
    Conns=8178
    Mbps=65.3256

    *** End of Output stream ***
    *** Error stream ***
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed

    0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
    0 34 0 34 0 0 12039 0 --:--:-- --:--:-- --:--:-- 34000

    *** End of Error stream ***

     

    What do I need to add to the RC Measure fiedls to get this saved in the PW?

    Thanks!

    Anton

    1. Anonymous (login to see details)

      Hi Anton,

      You need to do two things:

      1. Set the "Returned Measures" parameter with semicolon separated list of returned measures
      2. Make script return output record which starts with "***ReturnedMeasures:" and followed by the semicolon separated values in the same order that measures names are listed in the "Returned Measures" parameter.

      Please let me know if you have any further questions or concerns.

      Eugene.

  36. Anonymous (login to see details)

    Eugene,

    Is it possible to set thresholds on each of the returned measures?  They are dynamic, so not sure.

    Thanks.

    1. Anonymous (login to see details)

      Hi Scott,

      It is possible but not as straightforward as setting up thresholds for regular measures. We have added this feature of supporting individual thresholds for dynamic measures to the Extended Mail Action plugin at the end of last year. Please see its version 0.9.9.18 from 12/28/2014. I need to add this feature to the GEP if you'd like to use it here. Please let me know.

      Eugene.

      1. Anonymous (login to see details)

        Oh okay.  Just read through that now... that should work.  I think that would be nice to have.

        Though, Is it possible to create a measure in the measures tab named the same as dynamic measure in the returned measures field?  That would probably be best.  That way it can be managed within the monitor.

      2. Anonymous (login to see details)

        Eugene,

        I took a look at the code on github and made some changes to support custom measures names and using the measures names from the Returned Measures list.  

        For example, if your Returned Measures setting is CPU;Disk;Memory;Errors and you create a measure named CPU, it will map the value to the CPU measure. You can also set thresholds on this measure as well.  If you do not have a measure created by the same name it will create a dynamic measure instead.

        How is the best way to get you these changes for your review?

        1. Anonymous (login to see details)

          Hi Scott,

          I've read your yesterday's post this morning but was busy to post an answer. There is a nice solution to set up thresholds through base measures when you know upfront which measure names you will be using and their number is limited. The Monitor Metric Group Plugins can help us to accomplish what you are asking for.

          Surely, I can review your changes. Please send zipped source files to eugene.turetsky@dynatrace.com.

          Eugene.

      3. Anonymous (login to see details)

        Voting this up! I've implemented a few GEP-based monitors (using PowerShell, with SQL Server queries, Windows event log monitoring, etc.), and without capability of alerting on dynamic measures the business logic of deciding on whether to alert or not has to be inside the PS script rather than a property of the incident definition, but this logic can be dependent on a specific target machine, so needs to be customized per machine on the machine itself|

        1. Anonymous (login to see details)

          Hi Victor,

          New version of the plugin does support this feature. Please see New In Plugin version 5.5.9 notes at the top of this page.

          Eugene.

          1. Anonymous (login to see details)

            Thanks, Eugene, that worked (plugin development tab -> monitor metric group -> add measure -> use in incident alert). Regards, Victor

  37. Anonymous (login to see details)

    I can't seem to find the latest version of the plugin can you point me to where I could find it?

    1. Anonymous (login to see details)

      Hi Kyle,

      I've just added this link to the plugin's jar file in the Description section. Thank you for reporting this issue.

      Eugene. 

  38. Anonymous (login to see details)

    Hey Eugene,

    On occasion (can't seem to replicate) we get this error:

    2015-03-16 10:17:02 SEVERE [GenericExecutor@Redis Performance Monitor_1] Execute method: exception is 'java.io.IOException exception occurred. Message = 'Sorry, this connection is closed.'; Stacktrace is '''

    The simple work around is changing the collector the task is ran from.  Any ideas why this would be occurring?  Any way to have it auto-fix itself?  Since the task is failing in an exception, we're not able to alert on any of the measures.

    1. Anonymous (login to see details)

      Hi Scott,

      Could you please provide more details about the issue: is GEP configured to execute command on a remote server using SSH Method or it executes command locally? Is GEP configured as a monitor, task, or action? What version of the DT server GEP is running on?

      GEP should handle this scenario automatically and re-set connection on a next scheduled execution of the plugin. No work around should be necessary. If you are executing command remotely using GEP then if your remote server goes down, GEP will re-establish connection by executing setup method on a next scheduled run or when next incident is triggered. Let's look into it. Please send me requested above information.

      Eugene.

       

       

      1. Anonymous (login to see details)

        It is currently setup as a Monitor executing every 30 seconds. The monitor runs SSH command to connect to 3 different hosts and runs a script.

        The GEP version is 5.5.9 and the server is 6.1.0.8054.

        1. Anonymous (login to see details)

          Hi Scott,

          Please try version 5.5.10 of the plugin which fixes issue that you have observed. Please let me know if you have any further issues or concerns.

          Eugene

  39. Anonymous (login to see details)

    Hi,

    I downloaded the GEP 5.5.9 and try to execute REST Web service in localhost

    "http://localhost:8080/RESRfulWS5/rest/UserInfoService/post"

    If I tried manually run the web service from browser its working fine and shows the correct output.

    If I run the User defined monitor,it has to trigger the Web service automatically.

    While running the monitors manually,it shows fails with Error as Calling setup() failed..

    Please let me know how to proceed further

     

    Thanks in advance.

    Soorya Prabha Mohan

    1. Anonymous (login to see details)

      Hi Soorya,

      The GE plugin can execute or OS command or SOAP Web service. In your case, you can execute command which invokes REST Web service. The easiest and well accepted way of doing it is to use cURL command to invoke REST Web service.

      Let me know if you have further questions.

      Eugene.

       

      1. Anonymous (login to see details)

        Hi Eugene,

        Thanks for your reply. Will try it using SOAP.

        One more Issue

        We just try to execute the bat file which contains command

        echo 'abc' > file1.txt

        file1.txt is initially empty.

        When i tried to run bat file manually,it works fine and 'abc' is written in file1.txt

        Once I tried to execute using GEP,it shows success.

        But nothing has been written in file1.txt.

         

        1. Anonymous (login to see details)

          Hi Soorya,

          I've just executed this batch file and have the file1.txt file created and updated based on the Monitor schedule (i.e. every minute in my example). As you can see from file1.txt the batch command was executed every minute and file1.txt has new record added to it every minute. For your reference configuration screen for the monitor is located here. Please make sure you know directory where output file1.txt is located.

          Let me know if you have any further questions.

          Eugene.

           

  40. Anonymous (login to see details)

    Hi Eugene,

    I tried with SOAP Web Service.

    "http://localhost:8080/SOAPfulWS5/rest/UserInfoService/post"

    If I tried manually run the web service from browser its working fine and shows the correct output.

    WSDL Link:http://localhost:8080/SOAPfulWS5/services/JSONService?wsdl

    If I run the User defined monitor,it has to trigger the Web service automatically.

    While running the monitors manually,it shows fails with same  Error as Calling setup() failed..

    Please let me know how to proceed further.

    I don't have the credentials to attach the Snapshots.Otherwise I would have provided you additional details

     

    Soorya

     

    1. Anonymous (login to see details)

      Hi Soorya,

      In order to help you I do need plugin's log file and plugin configuration screenshot. Please set plugin log level to FINER before executing your test. Send me plugin's log and a screenshot to eugene.turetsky@dynatrace.com

      Eugene.

       

  41. Anonymous (login to see details)

    Hi Eugene,

    I am trying to use the GEP to execute a pearl script and return few values (double datatype) to chart. I am able to execute the pearl script, and see results, and they appear in the dynaTrace logs as well.

    But, i could not plot a chart / find the values in the ReturnedMeasures in the monitor.

     

    Thanks in advance,

    Rajesh

    1. Anonymous (login to see details)

      Hi Rajesh,

      Could you please look into the following post to make sure that the GE plugin is configured properly in order for script to return multiple measures. If you are not using Metric Group Monitor plugin to identify your measures (the GE plugin version 5.5.9+) then returned by the plugin measures are dynamic measure. Hence, you need to use base measures plus splitting values in order to draw dynamic measures. Please see this post for details. 

      If you still have issues, please send me your availability for the webex at eugene.turetsky@dynatrace.com.

      Eugene. 

      1. Anonymous (login to see details)

        Hi Eugene,

        I see the ReturnedMeasures values in the dynaTrace logs (at FINER mode), but i am not able to plot them as a chart. I am at CST, available for webEx at your convenient time.

        Regards,

        Rajesh

        1. Anonymous (login to see details)

          Hi Rajesh,

          I'll send directly to you webex invite for the meeting.

          Eugene.

  42. Anonymous (login to see details)

    I am running a python script checking to see if  a service is running on linuc and I am passing it arguments.  The first IP is address second argument is service.  When the service name has a space in it the return code form the Generic plugin will not return the same exitcode as it does when I run the same script via command line.

     

    Any thoughts

    1. Anonymous (login to see details)

      Hi David,

      Most likely command that is executed through the Generic Execution plugin is interpreted differently than it is interpreted by the Linux Python interpreter. Could you please provide the following details:

      • are you executing your script remotely or locally?
      • screenshot of the plugin configuration parameters screen.
      • is plugin configured as an action, or as a monitor, or as a task?

      Please feel free to send me this information directly at eugene.turetsky@dynatrace.com.

      Eugene.

       

  43. Anonymous (login to see details)

    Hello,

    We are trying to push SOAP WSDL through Generic Execution Plugin.

    the question may be basic, I would like to know that how can we send the credentials to use WebService?

    Regards,

    Jawahar

  44. Anonymous (login to see details)

    Hi Jawaharlal,

    Please see this post on a similar question. Web services proxy authentication is the only authentication which is implemented now in the plugin.

    Eugene.

  45. Anonymous (login to see details)

    Hi guys.

    I have installed the Plugin and have configured a new "Action" within an existing "Incident Rule" to execute a Script on a Remote Server via ssh and IT WORKS PERFECTLY.

    Thank you very much to Florian Ortner for this amazing contribution.

    Regards. 

    1. Anonymous (login to see details)

      The kudos go to Eugene Turetsky. He is the guy who implemented this. Florian was the one who originally created this page - he is the head of product management. But as I said - the big kudos go to Eugene!!

  46. Anonymous (login to see details)

    Hi Andreas, thanks for clarifying.

    My warmest congratulations to Eugene Turetsky then, He has done an incredible job.

    Regards.

     

     

  47. Anonymous (login to see details)

    Hi, I used the plugin to get data from a soap webservice.

     

    If I look in the log file, the webservice is succesfully called and returns a value:

    2015-05-28 11:36:32 FINER [GenericExecutor@WS_0] execute method: Web service returned '5224644608'

    2015-05-28 11:36:32 INFO [GenericExecutor@WS_0] execute method: execute the setMatchRuleSuccessMeasure method

    2015-05-28 11:36:32 FINER [GenericExecutor@WS_0] Entering setMatchRuleSuccessMeasure method

    2015-05-28 11:36:32 INFO [GenericExecutor@WS_0] execute method: returning success when isCapture is 'false'

     

    How do I get this value in a measure? I can't seem to figure it out.

    I keep getting:

    executionSuccess: null

    returnCode: null

    returnedMeasures: null

     

    Thanx,

    B

    1. Anonymous (login to see details)

      Hi Bjorn,

      Could you please send me full plugin log to eugene.turetsky@dynatrace.com?

      Eugene.

  48. Anonymous (login to see details)

    When tying the GEP to an incident trigger, is it possible to specify the host you would like to run the script on without using ssh, similar to how it is configured for a monitor?

  49. Anonymous (login to see details)

    Hi Kyle,

    Answer is NO. Action plugins do not have hosts.

    Eugene.

    1. Anonymous (login to see details)

      ...but you could code that into a local script, which executes the SSH and everything right?  Or use the AGENT_HOST variable there?

      1. Anonymous (login to see details)

        So the better question I guess is when it says local is that executing on the dynatrace server? I thought plugin ran on collectors

        1. Anonymous (login to see details)

          Action Plugins are installed on the Server. Why? Becuase actions are triggered when an incident fires. Incidents are evaluate on the Server. Therefore all the actions are also executed IN the server process. Monitors on the other hand are scheduled tasks an execute on collectors

          1. Anonymous (login to see details)

            Thanks for the clarification Andi, now comes the fun process of workarounds. The script that we are trying to run currently sit on a collector box and due to Security concerns the client does not want to put in a SSH Account access to their production servers. This allowed us to run the script from a monitor fine as we could run on that host and use the collector credentials but it seems as tying it to an incident will not work directly with the GEP. I'll do some brainstorming and post my findings in a reply to this post

  50. Anonymous (login to see details)

    are all versions backward compatible? if i upgrade from 5.5.6 to 5.5.14, do i need to worry about any pre-existing gep monitors breaking?

    1. Anonymous (login to see details)

      Hi Paul,

      Sorry for the late response. All GEP versions are backward compatible. There are additional parameters introduced in newer versions of the plugin. They are:

      • GEP is configured for the command execution:
        • Timeout: default is 60 seconds. If your monitors, tasks, and actions are running way faster than 60 seconds you should leave it as is. Otherwise, please increase this value to a desirable timeout when installing plugin in the Installed Plugins panel of the Configure Plugins screen.
        • Returned Measures: default is empty list of measures. Default value has no affect on the plugin execution.
      • GEP is configured for the web service execution:
        • isDotNET: default is 'false'. If you are executing .NET web services, please set it to 'true'. If you have only .NET web services invoked by the GEP then set this parameter to 'true' when installing plugin in the Installed Plugins panel of the Configure Plugins screen.  
        • WS Use Prefix: default is false. The GE plugin version 5.5.6 always acted as if the “WS Use Prefix” is 'true'. So, please, set it to 'true' when installing plugin in the Installed Plugins panel of the Configure Plugins screen.

      Please let me know if you have any further questions.

      Eugene. 

  51. Anonymous (login to see details)

    Hi, 

    I'm at a customer and we've installed the GEP to fire a Python script based on incidents occurring. We are able to fire the Python script as a task (we can see the successful results in the GenericExecutionPlugin.task.log file and the incident management tool)

    However, when we run the same script as an action we don't see anything written to the log file - in fact nothing is written to the log-file (logging setting set to FINER).

    I noticed in the server.log file there was the following WARNING message: 

    2015-07-02 15:43:52 WARNING [Scheduler] Required extensions for Task[com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] have not arrived in time. Execution discarded.

    It is my assumption that the action component of the GEP hasn't installed fully and is therefore not working. Is this the case? If so, how can we solve this? We have tried multiple versions of the .jar with the same result.

    The platform is Linux Ubuntu and the Dynatrace 6.0.7000 (soon to be upgrading to 6.2)

    Any help will be greatly appreciated.

    Nick

    1. Anonymous (login to see details)

      Hi Nick,

      The warning message is not related to action plugins. It just tells that your task executes longer than its schedule and hence schedule requires extension. I'd suggest getting on the webex to resolve a problem. Please contact me directly at eugene.turetsky@dynatrace.com.

      Eugene.

  52. Anonymous (login to see details)

    Hi,

    I'm also getting

    (Calling setup() failed)

    Exception: java.lang.RuntimeException: listParameters method: Check wsdl. Complex type is null, or sequence is null, or elements list is null, or elements list is empty

    for the NetCool/Impact Web Service (wsdl)

    Operation: login

    Parameters:

    String_1=username

    String_2=password

    Is there anything plainly obvious about my configuration that would cause this to happen?

    Thanks,

    Rick B

    1. Anonymous (login to see details)

      Hi Rick,

      Could you please perform the following steps:

      1. Set plugin log level to FINER, reproduce the issue and gather plugin's FINER log file;
      2. Capture screenshot of the plugin configuration screen;

      Please provide these files as well as exact version of the GE plugin which you are using. You can post this information here or send me e-mail directly at eugene.turetsky@dynatrace.com.

      Eugene.

    2. Anonymous (login to see details)

      Hi Rick,

      Before providing information that I requested in my previous post, could you please fix the WSDL file which is referenced in your original post here? It contains syntax errors. Please provide a valid WSDL file along with the requested earlier information.

      Eugene.

    3. Anonymous (login to see details)

      Hi Rick,

      I am checking to make sure that you are all set with your question. Were you able to fix the WSDL file? If yes, please send it to me at eugene.turetsky@dynatrace.com or re-post it here. 

      Eugene.

      1. Anonymous (login to see details)

        Sorry about that, I'm on a gig this week.  I'll get back to you Monday (smile)

        Thanks,

        Rick B

        1. Anonymous (login to see details)

          Hi Rick,

          I'm just checking if you are all set with this issue. Please let me know.

          Eugene.

  53. Anonymous (login to see details)

    We downloaded GEP to trigger custom script when incident start. We are not seeing any log or action after incident fired. DT are running on Linux. Advance thanks for your help.

    1. Anonymous (login to see details)

      Hi Mohaideen,

      Go to the plugins at Server Settings -> Plugins and edit the properties of the GEP and change the log level to finer. This will give you more information about what is happening

      HTH,

      Kyle

    2. Anonymous (login to see details)

      Hi Mohaideen,

      In addition to Kyle's post, please note that the GEP action plugin is executed on the Dynatrace server box. Hence, its log file is located in the <dt-home>/log/server directory on the Dynatrace server box. Please let me know if you still have issues. I'll setup webex session to help you.  

      Eugene.

      1. Anonymous (login to see details)

        Thanks for your reply. I changed log to FINER still i am not seeing any log in server.log file. to test we added email notification along with GEP. We received email notification but GEP didn't execute. Can we have a quick webex. Thanks your help.

        1. Anonymous (login to see details)

          We are seeing log now, it saying host not found i am going to work with internal team first. I will update you ASAP i test with my team.

          1. Anonymous (login to see details)

            Hi Mohaideen,

            Sounds good. Keep me updated. If you need webex, please send me e-mail with your availability directly to me at eugene.turetsky@dynatrace.com

            Eugene.

  54. Anonymous (login to see details)

    I'm trying to use the plugin to check the status of Websphere Message Broker. The command I'm trying to execute on the server is 'mqsilist'. The plugin is not returning any of the text that I see when I run the command locally on that server. I'm attaching the log and what I would expect to see.

    com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.monitor.0.0.txt

    Expected output.txt

    1. Anonymous (login to see details)

      Hi Shaun,

      The log file shows that return code from your command '/opt/IBM/mqsi/7.0/bin/mqsilist' is "...rc is 255" what is -1 (i.e. unsigned 8-bit gives 255). So, I'm guessing that your command has failed. There are multiple reasons why it could fail. The most common issue is that the environment for this command is not setup properly. Please fix it if this is the case. Also, make sure that user you are using in the plugin to execute this command is a proper user.

      Let me know if you have further questions.

      Eugene.

       

      1. Anonymous (login to see details)

        I'm using the same user in both attachments, so that isn't the problem. What do you mean by the environment isn't setup properly? Do you mean the Dynatrace environment or the WMB one? Is there anything else I can do to show why it is failing?

        1. Anonymous (login to see details)

          Hi Shaun,

          It is important that you are using the same user in the plugin and when you directly logged in to the remote box. Please note that when you explicitly logged in to the remote box, the /etc/profile, .profile, .bash_profile, etc. shell scripts are automatically executed during login process and set environment for a given user. This is missing when the command is executed through the GE plugin. I suggest that you check your startup session profile scripts to find environment that they are setting up. Besides other things, you could be missing setting up the WMB environment before executing your script.

          Also, please check if you can enable any verbose/error output from the IBM script that you are trying to execute. As of now, it seems that it is not writing any error message in the stderr which is unfortunate. Only its return code indicates of a failure.

          Let me know if you have any further questions.

          Eugene.

          1. Anonymous (login to see details)

            I've got an update on this. I needed to run the 'mqsiprofile' command first, which set the environment for the 'mqsilist' command. Here is the command I ran, 'source /opt/ibm/mqsi/7.0/bin/mqsiprofile; mqsilist' or '. /opt/ibm/mqsi/7.0/bin/mqsiprofile; mqsilist'.

            1. Anonymous (login to see details)

              Thank you for updates, Shaun. This matches to what we have suggested.

              Eugene.

  55. Anonymous (login to see details)

    Is there a way to pass the captured output into the text of the incident that gets triggered? I have a GEP monitor that checks for a value from 0-150 and fails if its not a match. I see the monitor has the value, but the incident only shows a '0' because the match failed. The data is already there; is there some variable or something i can add to the incident so it grabs that captured output?

    1. Anonymous (login to see details)

      Hi Paul,

      Yes, you can do that. Please send me screenshot(s) of the GE plugin configuration screen that you are using for monitoring at eugene.turetsky@dynatrace.com. I'll look into it and reply you with next steps.

      Eugene.

  56. Anonymous (login to see details)

    Sorry for such a simple question but I am having some issues getting data back from a simple script. This is my first time trying this plugin.

    Are there any known issues if running script on aix and using ksh instead of something like bash?  I am running something very similar to the bash examples earlier but not getting any love. Running v5.5.19 of plugin on DT 6.1 server(windows).  Running off a collector on AIX v7.1.  

    tried to attach monitor definition but no permission to add image

    have cwcount in 'Returned Measures" and 'RC Measure' fields.

    Monitor runs successfully but only retrieved measure is 'executionSuccess:0.0' 

     

    Any ideas?


    Script:

    #!/bin/ksh

     

    #cwcount.sh

    #this script is run by a Patrol custom KM to count the

    #number of CLOSE_WAIT connections

     

    #netstat -an | grep CLOSE_WAIT | grep 6065 | wc -l

    cwcount=`netstat -an | grep CLOSE_WAIT | wc -l`

    echo "***ReturnedMeasures:cwcount"

    exit $cwcount

     

    Collector log

     

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering getConnection method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering execute method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering getNonActionVarsSubstituter method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] getNonActionVarsSubstituter method: non-action substituter map is '[HOST=aixth2.cinf.net, START_TIME=2015-08-25T14:20:46.801Z]

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: Substitution of Non-Action variables for remote command: Final command : Prepared command to execute: './patrol/scripts/cwcountdt.sh'

     

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Execute method: method is 'SSH', GEReturnObject rc is 127, output is ''

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: Output string from the command './patrol/scripts/cwcountdt.sh'

     is ''

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering setReturnedMeasures method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] setReturnedMeasures method: array of records from the output is []

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: record #0 is ''

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: record string is null

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering setReturnedMeasuresNoMeasuresPrefix method, record is 'null'

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: execute the setMatchRuleSuccessMeasure method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering setMatchRuleSuccessMeasure method, output is ''

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] setMatchRuleSuccessMeasure method: matchFound is 'false'

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] setMatchRuleSuccessMeasure method: matchFound after applying successDefinition is 'false'

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] setMatchRuleSuccessMeasure method: set value for the 'executionSuccess' measure with matchFound = 'false'

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: execute the setReturnCodeMeasure method

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] Entering setReturnCodeMeasure method, GEReturnObject is 'GEReturnObject [output=, rc=127]'

    2015-08-25 14:20:46 FINER [GenericExecutor@Aixth2-CWCount_2] execute method: returning success when isCapture is 'true'

     

    1. Anonymous (login to see details)

      Hi John,

      There are no known or reported issues with the plugin. It should work in your environment. Please send me screenshot of the plugin configuration screen or full FINER log file. From your script I see that it has a typo at the end: just above the exit $cwcount line it should have a value of the $cwcount variable in the echo command, not its name.

      Please feel free to send requested information to eugene.turetsky@dynatrace.com.

      Eugene.

  57. Anonymous (login to see details)

    Eugene,

     Trying to email the info...getting kick back on the address you gave.  saying no longer a valid email?  Is the another?

    1. Anonymous (login to see details)

      Hi John,

      The e-mail address I have provided in my previous post is correct. If you still have issues sending me e-mail, please use this one: eugene.turetsky@compuware.com This e-mail is still valid.

      Eugene.

  58. Anonymous (login to see details)

    We are going to run a script a remote Windows server when an incident happened. I know SSH method in GE is just for Unix/Linux. Can I install a collector on the Windows server and setup method as local?

     

    Thanks

    YC

    1. Anonymous (login to see details)

      Hi YC,

      Dynatrace action plugins which are triggered by incidents are executed on the Dynatrace server. You are correct, remote execution of scripts using the GE plugin is available only for UNIX/Linux platforms. This is a limitation.

      Dynatrace collectors are executing monitor plugins and task plugins but not action plugins. There is no direct way to trigger monitor or task when incident was triggered. You can setup a monitor or a task which will check periodically based on its schedule if incident has happened and if it did, monitor/task will execute script on the collector. Please note that depending on monitor's or task's schedule there will be a delay in processing.

      Please let me know if you have any further questions.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

         

        Thank you for the answer. 

         

        I have other two questions:

         

        1. What's the delimiter should be use for  All_Agent_Name ? I meant between agent names.
        2. What's the usage of VIOLATION_MESSAGE_1,2,3 when difference agents triggered same incident ? Shall I use 1,2,3 for difference violation message for differnce source?

        Thanks again

        YC 

        1. Anonymous (login to see details)

          Hi YC,

          Below please find answers on your questions:

          1. Plugin is using ";" (semicolon) as a delimiter in the ${ALL_AGENT_NAMES} variable.
          2. When you have multiple incidents which have different agents as their source, each incident will be triggered separately by the Dynatrace engine. Each incident can use ${VIOLATION_MESSAGE_1},  ${VIOLATION_MESSAGE_2}, ${VIOLATION_MESSAGE_3}, ... based on set of violations this incident has. The "-" (dash) character is used for ${VIOLATION_MESSAGE_1},  ${VIOLATION_MESSAGE_2}, ${VIOLATION_MESSAGE_3}, ...  variables when violations do not exist. 

          Please let me know if you have any further questions.

          Eugene.



  59. Anonymous (login to see details)

    Hi Eugene

    Would it be possible to also maintain the OS of the affected Host as a variable?  We need to log a call based on the OS to CA and would like to distinguish the category based on this.  Kinda like the filtering we are doing in the Extended Email plugin.

    Thanks

    Anton

     

    1. Anonymous (login to see details)

      Hi Anton,

      As of right now incident object does not have information about OS of the affected Host. I'm checking with the Lab if they have this request already. If not, you should file an RFE to have OS name of the incident source Host provided by the Dynatrace engine. Please wait for my updates here when I receive reply from the Lab.

      If you have an urgent need in having the OS name of the incident Host available as an variable, I can add it to the plugin now but you need to provide list of agents and their OS'es. This would be a temporary workaround until Lab will implement your request. Please let me know it is doable to have list of agents and their OS names available.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene

        Thanks, I will log the RFE.  I can get a list of HostNames and OS as this is now available in the Agent Overview Dashboard (Yeah!).  So I can just export it and save it somewhere.  The workaround will be fantastic.

        Thanks!

        Anton

        1. Anonymous (login to see details)

          Hi Anton,

          I have gotten response from the Lab that this feature is not available and hence, yes, please log the RFE. I also have good news for you that I have nice solution which does not require manual intervention, so, no need to create a map between agents' hosts and their OSes. I'll create a plugin which will do it automatically as well as synchronize data when new hosts will be added to the monitored infrastructure. 

          How soon do you need this enhancement?

          Eugene.

          1. Anonymous (login to see details)

            Hi Eugene

            Thanks!  This will make a huge difference.  We have an interim solution, we are logging the calls to a non-OS specific call category.  So as soon as you can do this we will just change it.

            Anton

            1. Anonymous (login to see details)

              Hi Anton,

              Sounds good. I'll add this request to my pipe. I'll update you when it is ready.

              Eugene.

  60. Anonymous (login to see details)

    This question is regarding the returnedMeasures and Alerting.

    It is a little different as I have it working just fine, in the monitor I am Monitoring several communications adapters for their status, which is working very well.  THe problem I have is that the alert is rather generic...

    The returnedMeasure variable names are SAPUS1, SAPCN1, SAPAUS1,...

    For example

    Fwd: :Severe;started; MQ Check Adapter Status - webpwbi2;webpwbi2;WC6 MQ Adapter Status;0.0;Mon Sep 21 07:51:30 CDT 2015;-

    What I'd like is the Variable name (e.g. SAPCN1) displayed in the alert message.  Is there an extended email parameter that contains that information?  On the Incidents page I see the Returned Measure name in the alert line. so I know it is there somewhere.

     

     

     


    1. Anonymous (login to see details)

      Hi Don,

      I'm sorry for the late reply. I need some clarification of your question. Could you please send me more details at eugene.turetsky@dynatrace.com

      Eugene.

  61. Anonymous (login to see details)

    Actually I figured it out, what I looking for was the VIOLATEDS_MEASURE_NAME  contains the ReturnedMEASURE name that triggered the alert.

     

    1. Anonymous (login to see details)

      Hi Don,

      Thank you for updates. I'm glad that you are all set with your question. 

      Eugene.

  62. Anonymous (login to see details)

    Hi,

    We are trying to integrate DT with the Zabbix monitoring tool, which has an agent comand to send traps to Zabbix Server. We are having problems with arguments, that does not pass the variable value. DT is passing the argument ${STATE} as string and not the STATE value.

    Command field: /usr/local/zabbix/bin/zabbix_sender -z ZABBIXSERVER -p 10051 -s TEST_SERVER -k teste_zabbix_sender_fer -o ${STATE}

    DT is executing the command, but on the Zabbix server we only receive the variable name "${STATE}" and not its value.

    What is wrong?

    1. Anonymous (login to see details)

      Hi Luis,

      Is GE plugin configured as an action or as a monitor? The ${STATE} runtime variable will be only populated when the GE plugin is configured as an action.

      Eugene.

  63. Anonymous (login to see details)

    As an Action, inside of an Incident Rule.....We testing with ${HOST}, ${MSG}... and same behaviour.

    Tks.

    1. Anonymous (login to see details)

      Hi Luis,

      Plugin does not support the ${HOST} and ${MSG} variables. That is why they are not populated. The ${STATE} variable, however, is supported. For the list of supported by the plugin runtime variables please see usage section here.

      Could you also set the GE plugin logging to FINER, trigger the incident and send me its log file at eugene.turetsky@dynatrace.com?

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene!

        We detected in DT preferences that there were some alerts related to dependencies of the GE plugin. Deleting this dependencies and restarting the DT server solved the problem.

        This propably happened because we first installed an older version of the GE plugin, than uninstalled and after installed the latest version.

        It works very well, clean and direct with Zabbix!

        Tks!

  64. Anonymous (login to see details)

    Hi there,

    I want t use the plugin to check the Inodes on some Linux servers. So this plugin should check via a Monitor on definded hosts the command: 

    df -i | awk '/var/ {print $5;} /cache/ {print $5;}'

    the output if I do it on the server is the percentage of used Inodes. And therefor I want to make an incidentrule, when this is e.g. higher than 75%

    I tried on a System, made a monitor an used Generic Execution Monitor. For Command i used the previous command and it won't work.

    Either I get back some missunderstandings of my command:

    Detailed message: 

    *** stream ***
    df: `|': No such file or directory
    df: `awk': No such file or directory
    df: `\'/var/ {print $5;} /cache/ {print $5;}\'': No such file or directory
    df: no file systems processed

    *** End of stream ***
    *** stream ***

    *** End of stream ***

    or

    Received measurements:

    executionSuccess: 1.0
    returnCode: 1.0

     

    Where is my mistake?

     

    Thx in advance for your help

     

    br

    Rene

    1. Anonymous (login to see details)

      Hi Rene,

      Issue is that your command is using special characters. The easiest thing is to put this command inside of a shell script and invoke shell script from the plugin.

      Eugene.

  65. Anonymous (login to see details)

    I tried with ssh instead of local... gave him the one server I want to test, and my user password..

    Whats amusing.. the password is in cleartext in the log of the plugin on the collector (smile)

    1. Anonymous (login to see details)

      Hi Rene,

      If FINER level of logging is enabled, then password among with other information is kept in the Dynatrace Collector or Dynatrace Server log in case customer cannot type it correctly and hence cannot execute command or web service. Please note that FINER level of logging is highly discouraged in production systems. Access to the Collector/Server log should be set accordingly based on company security polices. We definitely can encrypt password in the logs if this will be necessary.

      Eugene.

  66. Anonymous (login to see details)

    Hi Eugene, and where do I have to store the sh script? on the collector? cause I want to use that on all my Systems (we encountered Full inodes in the past so I want to monitor and alarm on them)

     

    Thx

    Rene

    1. Anonymous (login to see details)

      Hi Rene,

      You can store script on the remote server of your choice if you are using SSH method invocation in the plugin. If you are using LOCAL method invocation in the plugin, script should be saved on the Collector locally.

      Eugene.

  67. Anonymous (login to see details)

    Hi Eugene,

     

    okay I put the command in a shell script on the collector (for all my systems I had to copy and evtl maintain the script to all collectors), gave the full path and startet this with local.. then I get the local percentage of used inodes.

    But the thing is that in the monitor I  gave him some hosts (all my webservers). SO where is my missunderstanding that it doesn't do that on all these hosts..

    I want to chart and alert on the returned measures..

     

    Thanks so much for your help

    1. Anonymous (login to see details)

      Hi Rene,

      When the 'Method' parameter is set to 'Local' plugin is ignoring hosts entered in the 'Hosts'  area of the plugin. For hosts to be used, you need to choose the 'SSH' method.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

         

        I tried with ssh, used an admin user and then it's only executable on the host which is in the field "host"?

        I got in the log password authentication failed..

        So a solution in my case should look like:

        Write a script for each cluster which does the check on all servers, and checks the values and then start this script via the generic execution plugin on the collector?

         

        thx

         

        1. Anonymous (login to see details)

          Hi Rene,

          When SSH method is used for multiple hosts from the 'Hosts' list, user specified in the plugin parameters should have valid ID and password to access every server from the 'Hosts' list.

          Please let me know if you still have issues. I'll setup webex to work with you.

          Eugene.

          1. Anonymous (login to see details)

            Hi Eugene,

             

            would be great, cause in my test I got Password authentication failed even if i tried with an admin account and it worked from the console (logged on on the collector with the collectors user and tried..).

             

            br

            René

  68. Anonymous (login to see details)

    Hi Eugene,

    We have a wdsl web services which is work well for GE 5.5.6 and failed in 5.5.19.  The error message is showing as below,


    Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 461; The element type "all-applications" must be terminated by the matching end-tag "</all-applications>".

     

    We use the field :

    MESSAGE, VIOLATION_MESSAGE_1, VIOLATED_MEASURE_TRESHOLD_UPPER_SEVERE and VIOLATED_MEASURE_DESCRIPTION. 

    Is the angle brackets cause the problem? It was worked in 5.5.6. 

     

     

    Our wdsl is as below,

     

    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.xxx.com/esm/ENSAlerting" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.xxx.com/esm/ENSAlerting" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.xxx.com/esm/ENSAlerting">
    <s:element name="HelloWorld">
    <s:complexType />
    </s:element>
    <s:element name="HelloWorldResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="SendAlertToDomain">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="alert" type="tns:AlertInfo" />
    <s:element minOccurs="0" maxOccurs="1" name="domain" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:complexType name="AlertInfo">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="CorName" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="UnicenterNode" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="HostName" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="GroupNumbers" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Platform" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Agent" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Component" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Instance" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Repository" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="ManagementLevel" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="BpvList" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="Hour" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="Weekday" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="NotifyFlag" type="s:boolean" />
    <s:element minOccurs="1" maxOccurs="1" name="CreatedTime" type="s:dateTime" />
    <s:element minOccurs="0" maxOccurs="1" name="EnsMessage" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="EomUUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="StoredProcedure" type="s:string" />
    </s:sequence>
    </s:complexType>
    <s:element name="SendAlertToDomainResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="SendAlertToDomainResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="HelloWorldSoapIn">
    <wsdl:part name="parameters" element="tns:HelloWorld" />
    </wsdl:message>
    <wsdl:message name="HelloWorldSoapOut">
    <wsdl:part name="parameters" element="tns:HelloWorldResponse" />
    </wsdl:message>
    <wsdl:message name="SendAlertToDomainSoapIn">
    <wsdl:part name="parameters" element="tns:SendAlertToDomain" />
    </wsdl:message>
    <wsdl:message name="SendAlertToDomainSoapOut">
    <wsdl:part name="parameters" element="tns:SendAlertToDomainResponse" />
    </wsdl:message>
    <wsdl:portType name="ENSAlertingSoap">
    <wsdl:operation name="HelloWorld">
    <wsdl:input message="tns:HelloWorldSoapIn" />
    <wsdl:output message="tns:HelloWorldSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SendAlertToDomain">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Send an Alert to a specific domain = [PROD, PREPRO, QA, TEST, ITEST, ATEST, DEV, DEBUG]</wsdl:documentation>
    <wsdl:input message="tns:SendAlertToDomainSoapIn" />
    <wsdl:output message="tns:SendAlertToDomainSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="ENSAlertingSoap" type="tns:ENSAlertingSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="HelloWorld">
    <soap:operation soapAction="http://www.xxx.com/esm/ENSAlerting/HelloWorld" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SendAlertToDomain">
    <soap:operation soapAction="http://www.xxx.com/esm/ENSAlerting/SendAlertToDomain" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="ENSAlertingSoap12" type="tns:ENSAlertingSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="HelloWorld">
    <soap12:operation soapAction="http://www.xxx.com/esm/ENSAlerting/HelloWorld" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SendAlertToDomain">
    <soap12:operation soapAction="http://www.xxx.com/esm/ENSAlerting/SendAlertToDomain" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="ENSAlerting">
    <wsdl:port name="ENSAlertingSoap" binding="tns:ENSAlertingSoap">
    <soap:address location="http://ensalertingws/ensalerting.asmx" />
    </wsdl:port>
    <wsdl:port name="ENSAlertingSoap12" binding="tns:ENSAlertingSoap12">
    <soap12:address location="http://ensalertingws/ensalerting.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>


    Thanks

    YC


    1. Anonymous (login to see details)

      Hi YC,

      Yes, the '<all-applications>' text most likely was interpreted as an open tag in the SOAP message. To be certain, I do need plugin's FINER log file and full stacktrace. There are no changes in this area of the code between 5.5.6 and 5.5.19 versions of the plugin.

      What could happen that incident rule is configured differently now than it was when version 5.5.6 of the plugin was used. Please make sure to put a check mark for all applications that you are interested in in the incident's rule measure instead of selecting 'calculate for all applications' option. Please see this screenshot for details. This will replace the '<all-applications>' text on the list of application names which should not cause a parsing issue.

      Eugene.

      1. Anonymous (login to see details)

        For mesaure defination, we use some measure align with applications, but for most measure , we create them for agents. The selection of application will be disabled in this case.

         

        Thanks

        YC

  69. Anonymous (login to see details)

    Hi Eugene,


    We have another question.  We try to use GE5.5.19 to run a local script. That script need  ssh login to other servers in its's content. My problem is the ssh login in the script only effective when we run dynatrace server as a specific user. It doesn't function when dynatrace server run as local service.  

    The question is if we have alternative to execute ssh login when dynatrace server running as local service.

     

    I know GE has default option for ssh. However, we encountered other problem when multiple incidents occured on same server.

     

    Thanks

    YC 

    1. Anonymous (login to see details)

      Hey YC,

       

      You'd need to fix permission issues to access and execute both the script and the ssh client with the Local Service account user

  70. Anonymous (login to see details)

    Hi YC,

    If you execute script from the GE plugin locally using "Local" method, it will inherit user id of the Dynatrace Server process (I am assuming you are using GE plugin as an action). You can setup the Dynatrace server service to run as a user which allows you to execute SSH script from your script. Please let me know if it is not sufficient for you.

    If SSH communication between Dynatrace server and another server is enabled, you should be able to use SSH method of communication directly from the GE plugin without using an intermediate local script. If you have issues with it, please provide me with more details about the issue. Please feel free to send me details directly at eugene.turetsky@dynatrace.com.

    Eugene.

  71. Anonymous (login to see details)

    Hi,

    I have the generic execution monitor up and running, it returns the measures just fine, however in the case of an error my script prints some interesting info to the error stream:


    *** Output stream ***
    ***ReturnedMeasures: 1

    *** End of Output stream ***
    *** Error stream ***
    Time Now: Tue Oct 27 06:45:46 2015
    WNE_TEST_RAS_FTP.txt: Mon Oct 26 15:39:00 2015 (Diff: 54406 secs)

    *** End of Error stream ***

     

    Is it possible to capture the error stream or the whole detailed message and send it via email (Incident) ??

    Regards

    Matt

    1. Anonymous (login to see details)

      Hi Matt,

      Yes, it is possible to gather error output from the executed command and send it via notification e-mail. The Generic Execution plugin can be enhanced to accomplish it.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

        I have no idea with java development. Do you have some tips where I should start.... as I assume by "can be enhanced" means that I should enhance it !

         

        Matt

        1. Anonymous (login to see details)

          Hi Matt,

          I can enhance plugin with this feature. How urgent is your request? I am booked for next two weeks.

          Eugene.

          1. Anonymous (login to see details)

            Hi Eugene,

            I have just found a colleague who will take a look at it this week. If we have problems I will contact you. Otherwise we will submit the changes hopefully next week

            Thanks

            Matt

             

            1. Anonymous (login to see details)

              Hi Matt,

              Sounds good. Keep me posted if you need help.

              Eugene.

            2. Anonymous (login to see details)

              Hi Matt,

              Please use the GE plugin v. 5.5.20 which has ability to pass content of the stderr stream to the notification e-mail. See release notes for v. 5.5.20 for more details. Let me know if you have any issues.

              Eugene.

              1. Anonymous (login to see details)

                Hi Eugene,

                I want to capture the output stream (any output). Will this do that as well?

                Thanks,

                Keerti

                1. Anonymous (login to see details)

                  Hi Keerti,

                  No, the feature you are referring to will not work directly because plugin is analyzing the stderr stream. However, if you redirect the stdout output to the stderr stream then plugin may work for you.

                  Eugene.

                  1. Anonymous (login to see details)

                    Eugene,

                    This doesn't seem to be working for us.  Would you provide any very simple example of a Windows batch file with stderr output which works for this feature?

                    Thanks!

                    Beth

                    1. Anonymous (login to see details)

                      Hi Beth,

                      I'm sorry for the late reply. I've just realized that I missed your post. To make sure I understand your question correctly, an example of the script below is what you are asking?

                      REM script which pumps data into stderr
                      @echo off
                      echo Hi there! 1>&2

                      Please let me know.

                      Eugene.

      2. Anonymous (login to see details)

        Hi Eugene,

        We are executing SQL queries and the output is being shown in "Detailed message" field. We would like to send the detailed message in an email alert. I tried all the 105 parameters in Extended email plugin and none of them returned the output shown in "Detailed message". Can you please provide us a solution or suggest some way to achieve this? Thanks a lot.

        Regards,

        Keerti

        1. Anonymous (login to see details)

          Hi Keerti,

          Your request is a duplicate of Matt's request posted few days ago here. It is in my queue. I am planning to implement it soon. 

          Eugene.

          1. Anonymous (login to see details)

            Sure Eugene, thanks a lot! 

          2. Anonymous (login to see details)

            Hi Eugene,

            Since the enhancement for Matt is only capturing the error stream (but not the output stream); it doesn't serve my purpose. I am running a few SQL queries and I want to email the output of those queries. Will it be possible for you to plan an enhancement for sending emails of the captured output content?

            Keerti

            1. Anonymous (login to see details)

              Hi Keerti,

              I'm assuming that you've read this post. However, if it is not sufficient, we can build a custom plugin for you that will serve your purpose. We cannot use the stdout stream for your needs because it has been used by the plugin already to gather different information. A custom plugin that you are looking for can be developed as a part of ES work. Please contact your Dynatrace account manager for details.

              Eugene.

              1. Anonymous (login to see details)

                Hi Eugene,

                Yes, I have read that post. Thank you for the clarification. I will ask my Dynatrace account manager what we can do about it.

                Thanks,

                Keerti

  72. Anonymous (login to see details)

    Hi,

    Is it somehow possible to use this plugin also for infrastructure allerts, it is not visible in the list.

    But it is visible within the action list for Incidents.

    Unfortunately I'm not allowed to add screenshots

     

    thx,

    Gerald

     

    1. Anonymous (login to see details)

      Hi Gerald,

      Yes, it is possible to use the Generic Execution plugin for the infrastructure alerts. However there is a known bug in the product which prevents from doing it. It affects other action plugins together with the GE plugin. The JIRA request JLT-133662 was opened last month to fix it. I will update you when fix will become available.

      Eugene.

      1. Anonymous (login to see details)

        Sounds great thank you Eugene!

        1. Anonymous (login to see details)

          Hi Gerald,

          Issue with the Infrastructure Alerts was fixed. Please apply the current public update 6.2.3 to the DT 6.2. Please also deploy the latest version of the Generic Execution plugin 5.5.21 and higher.

          Let me know if you have any issues.

          Eugene.

  73. Anonymous (login to see details)

    Hi Eugene,

    Thank you for the "Trigger incident" feature. It has been very useful. I have made an observation regarding it.  It doesn't trigger emails if the stderr content contains "<" symbol.  It is working for all other conditions. Can you please fix the issue so that the plugin can trigger emails even if the stderr content contains "<" symbol?

     

             

    Regards,

    Keerti

    1. Anonymous (login to see details)

      Hi Keerti,

      Thank you very much for reporting this issue. It is already fixed in a new release 5.5.21 which is coming tonight or tomorrow. I'm still waiting to hear from few customers who are testing this release before I publish it.

      Eugene.

      1. Anonymous (login to see details)

        Thanks Eugene! I noticed that if the output of the stderr is too big; the email is not showing the entire output. It is showing part of the output followed by ...

        Also, even if the plugin prints out every sentence in a new line (as per the script which I ran); the stderr output is being printed in the email in a single line. Can you please make changes in the extended email plugin such that the ${MESSAGE} parameter prints out whole outputs and in multiple lines as per the GE plugin's stderr output?

        Entire output of the plugin:

        Below is a screenshot of the email's ${MESSAGE} parameter: 

        Thank you,

        Keerti

        1. Anonymous (login to see details)

          HI Keerti,

          Below are answers on your questions:

          • "I noticed that if the output of the stderr is too big; the email is not showing the entire output. It is showing part of the output followed by ..." Please check the 'outputBufferSize' parameter. Its value manages size of the command output. 
          • "... the stderr output is being printed in the email in a single line" Formatting of the content of the ${MESSAGE} variable depends on the content type of the body of the notification e-mail. Please set content type of the body of the notification e-mail appropriately in the configuration of the Extend Mail Action plugin. The 'HTML Mail Format' parameter manages it.

          Eugene.

          1. Anonymous (login to see details)

            Hi Eugene,

            The "outputBufferSize" parameter was set to 15000 in the GE plugin. And the character count of the output is only 1000 characters. That is why the plugin is capturing the entire output in the details. But it is the email content that is getting cropped. So, the setting/code has to be changed in the Extended Email Plugin and not in the GE Plugin. Can you please change it accordingly?

            Thanks,

            Keerti

            1. Anonymous (login to see details)

              Hi Keerti,

              The Extended Mail Action plugin does not change content of the ${MESSAGE} variable. Content of the ${MESSAGE} variable is  taken by the plugin as is from the Dynatrace engine. As a result your assumptions are not correct and hence no changes in the Extended Mail Action plugin code are needed or will be helpful to you.

              Eugene.

              1. Anonymous (login to see details)

                Hi Eugene,

                The ${MESSAGE} parameter is printing out a maximum of 499 characters in an email. I checked all emails that got cropped and the character count for ${MESSAGE} in each email came up to 494-499 characters. Whereas the GE Plugin is showing the entire output. Any insight into what the problem might be will be very helpful.

                 Thanks,

                Keerti

                1. Anonymous (login to see details)

                  Hi Keerti,

                  In my opinion problem is that you are trying to use common purpose plugins in a way that they are not designed to be used. For example, we have no customer who ever complained that 500 bytes message length is not enough for him to send in the notification e-mail. This is an indication of a potential misuse of the Extended Mail Action plugin. 

                  I'd like to re-iterate my suggestion to you in the 10 day old post here: we can provide you with a custom plugin which will do the job you are looking for through the enablement services team.

                  Eugene.

  74. Anonymous (login to see details)

    Hi we're doing some testing using the plugin to run a ruby script that tests connectivity between various hosts. We tried running just "ruby -v" and it works when we manually run the command on the host but when we run it through the plugin it returns the following errors:

     

    execute method: exception was thrown when executing command 'ruby -v'. Stack trace is 'java.io.IO...
    Detailed error message:    execute method: exception was thrown when executing command 'ruby -v'. Stack trace is 'java.io.IOException exception occurred. Message = 'Cannot run program "ruby": CreateProcess error=2, The system cannot find the file specified'; Stacktrace is '''


    Is there something in the way the plugin works that is preventing this from working or something else we can try? 

    Thanks!

    1. Anonymous (login to see details)

      Hi James,

      I'm assuming that you are running the "ruby -v" command using the SSH method in the GE plugin. Please make sure that the environment for the user which you configured in the plugin is setup properly before executing the "ruby -v" command. Please see this post for environment setup. You also may use direct path to the ruby executable in the command, i.e. "<direct-path-to-ruby>/ruby -v". Please see attached two screenshots as an example: configuration-screenshot and detailed-screenshot after command execution.

      Please let me know if you have any further questions. 

      Eugene.

  75. Anonymous (login to see details)

    Hi,

     

    I've tried using the plugin to call webservices. After configuring my WSDL URL, Operation, Host, etc, I tried running the Monitor but after trying 4 different WSDL's, I still can't get a single operation to work. I'm either getting namespace issues, groovy class cast exceptions, or weird Binding exceptions.

     

    The WSDLs come from various public places, but I've copied them locally, started mocking the provider with SOAPUI and made sure it worked locally and that the Collector could reach it (I wanted to test out the plugin before developing my own WS).

     

    Any idea what's going on with these exceptions?

     

    1) 2015-12-02 15:53:49 SEVERE [GenericExecutor@TestThisWS_0] execute method: exception is 'javax.xml.ws.WebServiceException exception occurred. Message = 'Can not create Dispatch<SOAPMessage> with http://www.w3.org/2004/08/wsdl/http Binding. Must be: http://schemas.xmlsoap.org/wsdl/soap/http or http://www.w3.org/2003/05/soap/bindings/HTTP/ Binding.'; Stacktrace is '''

    2) 2015-12-02 15:45:10 SEVERE [GenericExecutor@Test my WS_0] setup method: java.lang.Exception exception occurred. Message = 'com.predic8.soamodel.TypeRefAccessException: Could not find the referenced type 'SirenRequest' in namespace 'http://serviceobject.service.callisto.newsys.altares.fr'.'; Stacktrace is ''

    3) 2015-12-02 15:35:05 SEVERE [GenericExecutor@Test WS_0] setup method: java.lang.Exception exception occurred. Message = 'org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'SimpleType[qname={http://www.webserviceX.NET/}Currency,restriction=Restriction[base={http://www.w3.org/2001/XMLSchema}string,facets=[com.predic8.schema.restriction.facet.EnumerationFacet@1e515b3, com.predic8.schema.restriction.facet.EnumerationFacet@66f39bbd, com.predic8.schema.restriction.facet.EnumerationFacet@375ca19, com.predic8.schema.restriction.facet.EnumerationFacet@2a273115, com.predic8.schema.restriction.facet.EnumerationFacet@73076f51, com.predic8.schema.restriction.facet.EnumerationFacet@6d1d69d6, com.predic8.schema.restriction.facet.EnumerationFacet@260f9891, com.predic8.schema.restriction.facet.EnumerationFacet@49e96b1c, com.predic8.schema.restriction.facet.EnumerationFacet@7b77212c, com.predic8.schema.restriction.facet.EnumerationFacet@4a230f07, com.predic8.schema.restriction.facet.EnumerationFacet@43afba97, com.predic8.schema.restriction.facet.EnumerationFacet@46033238, com.predic8.schema.restriction.facet.EnumerationFacet@7bd61e70, com.predic8.schema.restriction.facet.EnumerationFacet@26688a94, com.predic8.schema.restriction.facet.EnumerationFacet@19620e3f, com.predic8.schema.restriction.facet.EnumerationFacet@7495571d, com.predic8.schema.restriction.facet.EnumerationFacet@788a6cb6, com.predic8.schema.restriction.facet.EnumerationFacet@47e75e8d, com.predic8.schema.restriction.facet.EnumerationFacet@26f09fdc, com.predic8.schema.restriction.facet.EnumerationFacet@7f8f387c, com.predic8.schema.restriction.facet.EnumerationFacet@13c59651, com.predic8.schema.restriction.facet.EnumerationFacet@110fa9fb, com.predic8.schema.restriction.facet.EnumerationFacet@1b60a67d, com.predic8.schema.restriction.facet.EnumerationFacet@66526695, com.predic8.schema.restriction.facet.EnumerationFacet@2bccf4ae, com.predic8.schema.restriction.facet.EnumerationFacet@1cd3e1f9, com.predic8.schema.restriction.facet.EnumerationFacet@1a98b138, com.predic8.schema.restriction.facet.EnumerationFacet@1e9ae12c, com.predic8.schema.restriction.facet.EnumerationFacet@4a351f66, com.predic8.schema.restriction.facet.EnumerationFacet@65a08799, com.predic8.schema.restriction.facet.EnumerationFacet@e2681ef, com.predic8.schema.restriction.facet.EnumerationFacet@21c792b, com.predic8.schema.restriction.facet.EnumerationFacet@1b56f722, com.predic8.schema.restriction.facet.EnumerationFacet@6a7ae733, com.predic8.schema.restriction.facet.EnumerationFacet@2ae0fbe2, com.predic8.schema.restriction.facet.EnumerationFacet@18b8c86c, com.predic8.schema.restriction.facet.EnumerationFacet@b6e3722, com.predic8.schema.restriction.facet.EnumerationFacet@70e59f0a, com.predic8.schema.restriction.facet.EnumerationFacet@732c836d, com.predic8.schema.restriction.facet.EnumerationFacet@6f68a42d, com.predic8.schema.restriction.facet.EnumerationFacet@3ef2bf7f, com.predic8.schema.restriction.facet.EnumerationFacet@32fa4b22, com.predic8.schema.restriction.facet.EnumerationFacet@4e5abf53, com.predic8.schema.restriction.facet.EnumerationFacet@27c70a55, com.predic8.schema.restriction.facet.EnumerationFacet@7c7766d9, com.predic8.schema.restriction.facet.EnumerationFacet@3017066, com.predic8.schema.restriction.facet.EnumerationFacet@537a3a14, com.predic8.schema.restriction.facet.EnumerationFacet@7d7b21dc, com.predic8.schema.restriction.facet.EnumerationFacet@1eec32e0, com.predic8.schema.restriction.facet.EnumerationFacet@25001ffc, com.predic8.schema.restriction.facet.EnumerationFacet@2b33ec5e, com.predic8.schema.restriction.facet.EnumerationFacet@5de3257a, com.predic8.schema.restriction.facet.EnumerationFacet@6bb19cbd, com.predic8.schema.restriction.facet.EnumerationFacet@59a97387, com.predic8.schema.restriction.facet.EnumerationFacet@3dfd20e, com.predic8.schema.restriction.facet.EnumerationFacet@5b57971e, com.predic8.schema.restriction.facet.EnumerationFacet@5382616b, com.predic8.schema.restriction.facet.EnumerationFacet@14c9e2a2, com.predic8.schema.restriction.facet.EnumerationFacet@523e0457, com.predic8.schema.restriction.facet.EnumerationFacet@658f15ef, com.predic8.schema.restriction.facet.EnumerationFacet@14e93200, com.predic8.schema.restriction.facet.EnumerationFacet@59d1a8b9, com.predic8.schema.restriction.facet.EnumerationFacet@539c37c0, com.predic8.schema.restriction.facet.EnumerationFacet@35104922, com.predic8.schema.restriction.facet.EnumerationFacet@40317265, com.predic8.schema.restriction.facet.EnumerationFacet@6e4d65cf, com.predic8.schema.restriction.facet.EnumerationFacet@1b57319c, com.predic8.schema.restriction.facet.EnumerationFacet@797a06c9, com.predic8.schema.restriction.facet.EnumerationFacet@3a53b46d, com.predic8.schema.restriction.facet.EnumerationFacet@4d6a7e05, com.predic8.schema.restriction.facet.EnumerationFacet@a77a1f8, com.predic8.schema.restriction.facet.EnumerationFacet@342aa626, com.predic8.schema.restriction.facet.EnumerationFacet@5c02238b, com.predic8.schema.restriction.facet.EnumerationFacet@106ba9de, com.predic8.schema.restriction.facet.EnumerationFacet@c5d363e, com.predic8.schema.restriction.facet.EnumerationFacet@3b9426c9, com.predic8.schema.restriction.facet.EnumerationFacet@7b7e74ad, com.predic8.schema.restriction.facet.EnumerationFacet@2b1e4932, com.predic8.schema.restriction.facet.EnumerationFacet@515787bb, com.predic8.schema.restriction.facet.EnumerationFacet@49902fb5, com.predic8.schema.restriction.facet.EnumerationFacet@192c39ce, com.predic8.schema.restriction.facet.EnumerationFacet@2687104b, com.predic8.schema.restriction.facet.EnumerationFacet@6d3ebfaf, com.predic8.schema.restriction.facet.EnumerationFacet@329ab231, com.predic8.schema.restriction.facet.EnumerationFacet@4a28c8eb, com.predic8.schema.restriction.facet.EnumerationFacet@3b9ee256, com.predic8.schema.restriction.facet.EnumerationFacet@3c1d9aae, com.predic8.schema.restriction.facet.EnumerationFacet@3b963457, com.predic8.schema.restriction.facet.EnumerationFacet@2465a51, com.predic8.schema.restriction.facet.EnumerationFacet@58d37d01, com.predic8.schema.restriction.facet.EnumerationFacet@24b3fa36, com.predic8.schema.restriction.facet.EnumerationFacet@23f0020d, com.predic8.schema.restriction.facet.EnumerationFacet@6216b5e9, com.predic8.schema.restriction.facet.EnumerationFacet@4101064e, com.predic8.schema.restriction.facet.EnumerationFacet@2a450c39, com.predic8.schema.restriction.facet.EnumerationFacet@1b2587dd, com.predic8.schema.restriction.facet.EnumerationFacet@3cfacc17, com.predic8.schema.restriction.facet.EnumerationFacet@756d1947, com.predic8.schema.restriction.facet.EnumerationFacet@4d96c08b, com.predic8.schema.restriction.facet.EnumerationFacet@643b0d78, com.predic8.schema.restriction.facet.EnumerationFacet@60f174b0, com.predic8.schema.restriction.facet.EnumerationFacet@c240089, com.predic8.schema.restriction.facet.EnumerationFacet@f9f2899, com.predic8.schema.restriction.facet.EnumerationFacet@1a225cd2, com.predic8.schema.restriction.facet.EnumerationFacet@45fbec65, com.predic8.schema.restriction.facet.EnumerationFacet@1e5cfec8, com.predic8.schema.restriction.facet.EnumerationFacet@6b5b0c0a, com.predic8.schema.restriction.facet.EnumerationFacet@26739b96, com.predic8.schema.restriction.facet.EnumerationFacet@6feba892, com.predic8.schema.restriction.facet.EnumerationFacet@588842a5, com.predic8.schema.restriction.facet.EnumerationFacet@59cf8c0b, com.predic8.schema.restriction.facet.EnumerationFacet@48f3543d, com.predic8.schema.restriction.facet.EnumerationFacet@5f1f9635, com.predic8.schema.restriction.facet.EnumerationFacet@12bea25d, com.predic8.schema.restriction.facet.EnumerationFacet@21959148, com.predic8.schema.restriction.facet.EnumerationFacet@62751f31, com.predic8.schema.restriction.facet.EnumerationFacet@7752fc76, com.predic8.schema.restriction.facet.EnumerationFacet@693ce42d, com.predic8.schema.restriction.facet.EnumerationFacet@1ca87c55, com.predic8.schema.restriction.facet.EnumerationFacet@797abf25, com.predic8.schema.restriction.facet.EnumerationFacet@699b5471, com.predic8.schema.restriction.facet.EnumerationFacet@54c4fce1, com.predic8.schema.restriction.facet.EnumerationFacet@50b64341, com.predic8.schema.restriction.facet.EnumerationFacet@6df989cc, com.predic8.schema.restriction.facet.EnumerationFacet@19c5e87c, com.predic8.schema.restriction.facet.EnumerationFacet@1022321c, com.predic8.schema.restriction.facet.EnumerationFacet@3507d48a, com.predic8.schema.restriction.facet.EnumerationFacet@1512cb39, com.predic8.schema.restriction.facet.EnumerationFacet@4dc15fe, com.predic8.schema.restriction.facet.EnumerationFacet@d27d930, com.predic8.schema.restriction.facet.EnumerationFacet@3323e50f, com.predic8.schema.restriction.facet.EnumerationFacet@79935603, com.predic8.schema.restriction.facet.EnumerationFacet@37f41d50, com.predic8.schema.restriction.facet.EnumerationFacet@7bb08be2, com.predic8.schema.restriction.facet.EnumerationFacet@3afe1df, com.predic8.schema.restriction.facet.EnumerationFacet@1015f95d, com.predic8.schema.restriction.facet.EnumerationFacet@12a650eb, com.predic8.schema.restriction.facet.EnumerationFacet@650a7ddd, com.predic8.schema.restriction.facet.EnumerationFacet@13cd6bfe, com.predic8.schema.restriction.facet.EnumerationFacet@136cfada, com.predic8.schema.restriction.facet.EnumerationFacet@57c9082c, com.predic8.schema.restriction.facet.EnumerationFacet@4f37adba, com.predic8.schema.restriction.facet.EnumerationFacet@506eb6f7, com.predic8.schema.restriction.facet.EnumerationFacet@14ae3b62, com.predic8.schema.restriction.facet.EnumerationFacet@3abca989, com.predic8.schema.restriction.facet.EnumerationFacet@381e7f7f, com.predic8.schema.restriction.facet.EnumerationFacet@5a4487a1, com.predic8.schema.restriction.facet.EnumerationFacet@49248953, com.predic8.schema.restriction.facet.EnumerationFacet@7db3cda8, com.predic8.schema.restriction.facet.EnumerationFacet@27831111, com.predic8.schema.restriction.facet.EnumerationFacet@dd5875b]]]' with class 'com.predic8.schema.SimpleType' to class 'com.predic8.schema.ComplexType''; Stacktrace is 'java.lang.Exception: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'SimpleType[qname={http://www.webserviceX.NET/}Currency,restriction=Restriction[base={http://www.w3.org/2001/XMLSchema}string,facets=[com.predic8.schema.restriction.facet.EnumerationFacet@1e515b3, com.predic8.schema.restriction.facet.EnumerationFacet@66f39bbd, com.predic8.schema.restriction.facet.EnumerationFacet@375ca19, com.predic8.schema.restriction.facet.EnumerationFacet@2a273115, com.predic8.schema.restriction.facet.EnumerationFacet@73076f51, com.predic8.schema.restriction.facet.EnumerationFacet@6d1d69d6, com.predic8.schema.restriction.facet.EnumerationFacet@260f9891, com.predic8.schema.restriction.facet.EnumerationFacet@49e96b1c, com.predic8.schema.restriction.facet.EnumerationFacet@7b77212c, com.predic8.schema.restriction.facet.EnumerationFacet@4a230f07, com.predic8.schema.restriction.facet.EnumerationFacet@43afba97, com.predic8.schema.restriction.facet.EnumerationFacet@46033238, com.predic8.schema.restriction.facet.EnumerationFacet@7bd61e70, com.predic8.schema.restriction.facet.EnumerationFacet@26688a94, com.predic8.schema.restriction.facet.EnumerationFacet@19620e3f, com.predic8.schema.restriction.facet.EnumerationFacet@7495571d, com.predic8.schema.restriction.facet.EnumerationFacet@788a6cb6, com.predic8.schema.restriction.facet.EnumerationFacet@47e75e8d, com.predic8.schema.restriction.facet.EnumerationFacet@26f09fdc, com.predic8.schema.restriction.facet.EnumerationFacet@7f8f387c, com.predic8.schema.restriction.facet.EnumerationFacet@13c59651, com.predic8.schema.restriction.facet.EnumerationFacet@110fa9fb, com.predic8.schema.restriction.facet.EnumerationFacet@1b60a67d, com.predic8.schema.restriction.facet.EnumerationFacet@66526695, com.predic8.schema.restriction.facet.EnumerationFacet@2bccf4ae, com.predic8.schema.restriction.facet.EnumerationFacet@1cd3e1f9, com.predic8.schema.restriction.facet.EnumerationFacet@1a98b138, com.predic8.schema.restriction.facet.EnumerationFacet@1e9ae12c, com.predic8.schema.restriction.facet.EnumerationFacet@4a351f66, com.predic8.schema.restriction.facet.EnumerationFacet@65a08799, com.predic8.schema.restriction.facet.EnumerationFacet@e2681ef, com.predic8.schema.restriction.facet.EnumerationFacet@21c792b, com.predic8.schema.restriction.facet.EnumerationFacet@1b56f722, com.predic8.schema.restriction.facet.EnumerationFacet@6a7ae733, com.predic8.schema.restriction.facet.EnumerationFacet@2ae0fbe2, com.predic8.schema.restriction.facet.EnumerationFacet@18b8c86c, com.predic8.schema.restriction.facet.EnumerationFacet@b6e3722, com.predic8.schema.restriction.facet.EnumerationFacet@70e59f0a, com.predic8.schema.restriction.facet.EnumerationFacet@732c836d, com.predic8.schema.restriction.facet.EnumerationFacet@6f68a42d, com.predic8.schema.restriction.facet.EnumerationFacet@3ef2bf7f, com.predic8.schema.restriction.facet.EnumerationFacet@32fa4b22, com.predic8.schema.restriction.facet.EnumerationFacet@4e5abf53, com.predic8.schema.restriction.facet.EnumerationFacet@27c70a55, com.predic8.schema.restriction.facet.EnumerationFacet@7c7766d9, com.predic8.schema.restriction.facet.EnumerationFacet@3017066, com.predic8.schema.restriction.facet.EnumerationFacet@537a3a14, com.predic8.schema.restriction.facet.EnumerationFacet@7d7b21dc, com.predic8.schema.restriction.facet.EnumerationFacet@1eec32e0, com.predic8.schema.restriction.facet.EnumerationFacet@25001ffc, com.predic8.schema.restriction.facet.EnumerationFacet@2b33ec5e, com.predic8.schema.restriction.facet.EnumerationFacet@5de3257a, com.predic8.schema.restriction.facet.EnumerationFacet@6bb19cbd, com.predic8.schema.restriction.facet.EnumerationFacet@59a97387, com.predic8.schema.restriction.facet.EnumerationFacet@3dfd20e, com.predic8.schema.restriction.facet.EnumerationFacet@5b57971e, com.predic8.schema.restriction.facet.EnumerationFacet@5382616b, com.predic8.schema.restriction.facet.EnumerationFacet@14c9e2a2, com.predic8.schema.restriction.facet.EnumerationFacet@523e0457, com.predic8.schema.restriction.facet.EnumerationFacet@658f15ef, com.predic8.schema.restriction.facet.EnumerationFacet@14e93200, com.predic8.schema.restriction.facet.EnumerationFacet@59d1a8b9, com.predic8.schema.restriction.facet.EnumerationFacet@539c37c0, com.predic8.schema.restriction.facet.EnumerationFacet@35104922, com.predic8.schema.restriction.facet.EnumerationFacet@40317265, com.predic8.schema.restriction.facet.EnumerationFacet@6e4d65cf, com.predic8.schema.restriction.facet.EnumerationFacet@1b57319c, com.predic8.schema.restriction.facet.EnumerationFacet@797a06c9, com.predic8.schema.restriction.facet.EnumerationFacet@3a53b46d, com.predic8.schema.restriction.facet.EnumerationFacet@4d6a7e05, com.predic8.schema.restriction.facet.EnumerationFacet@a77a1f8, com.predic8.schema.restriction.facet.EnumerationFacet@342aa626, com.predic8.schema.restriction.facet.EnumerationFacet@5c02238b, com.predic8.schema.restriction.facet.EnumerationFacet@106ba9de, com.predic8.schema.restriction.facet.EnumerationFacet@c5d363e, com.predic8.schema.restriction.facet.EnumerationFacet@3b9426c9, com.predic8.schema.restriction.facet.EnumerationFacet@7b7e74ad, com.predic8.schema.restriction.facet.EnumerationFacet@2b1e4932, com.predic8.schema.restriction.facet.EnumerationFacet@515787bb, com.predic8.schema.restriction.facet.EnumerationFacet@49902fb5, com.predic8.schema.restriction.facet.EnumerationFacet@192c39ce, com.predic8.schema.restriction.facet.EnumerationFacet@2687104b, com.predic8.schema.restriction.facet.EnumerationFacet@6d3ebfaf, com.predic8.schema.restriction.facet.EnumerationFacet@329ab231, com.predic8.schema.restriction.facet.EnumerationFacet@4a28c8eb, com.predic8.schema.restriction.facet.EnumerationFacet@3b9ee256, com.predic8.schema.restriction.facet.EnumerationFacet@3c1d9aae, com.predic8.schema.restriction.facet.EnumerationFacet@3b963457, com.predic8.schema.restriction.facet.EnumerationFacet@2465a51, com.predic8.schema.restriction.facet.EnumerationFacet@58d37d01, com.predic8.schema.restriction.facet.EnumerationFacet@24b3fa36, com.predic8.schema.restriction.facet.EnumerationFacet@23f0020d, com.predic8.schema.restriction.facet.EnumerationFacet@6216b5e9, com.predic8.schema.restriction.facet.EnumerationFacet@4101064e, com.predic8.schema.restriction.facet.EnumerationFacet@2a450c39, com.predic8.schema.restriction.facet.EnumerationFacet@1b2587dd, com.predic8.schema.restriction.facet.EnumerationFacet@3cfacc17, com.predic8.schema.restriction.facet.EnumerationFacet@756d1947, com.predic8.schema.restriction.facet.EnumerationFacet@4d96c08b, com.predic8.schema.restriction.facet.EnumerationFacet@643b0d78, com.predic8.schema.restriction.facet.EnumerationFacet@60f174b0, com.predic8.schema.restriction.facet.EnumerationFacet@c240089, com.predic8.schema.restriction.facet.EnumerationFacet@f9f2899, com.predic8.schema.restriction.facet.EnumerationFacet@1a225cd2, com.predic8.schema.restriction.facet.EnumerationFacet@45fbec65, com.predic8.schema.restriction.facet.EnumerationFacet@1e5cfec8, com.predic8.schema.restriction.facet.EnumerationFacet@6b5b0c0a, com.predic8.schema.restriction.facet.EnumerationFacet@26739b96, com.predic8.schema.restriction.facet.EnumerationFacet@6feba892, com.predic8.schema.restriction.facet.EnumerationFacet@588842a5, com.predic8.schema.restriction.facet.EnumerationFacet@59cf8c0b, com.predic8.schema.restriction.facet.EnumerationFacet@48f3543d, com.predic8.schema.restriction.facet.EnumerationFacet@5f1f9635, com.predic8.schema.restriction.facet.EnumerationFacet@12bea25d, com.predic8.schema.restriction.facet.EnumerationFacet@21959148, com.predic8.schema.restriction.facet.EnumerationFacet@62751f31, com.predic8.schema.restriction.facet.EnumerationFacet@7752fc76, com.predic8.schema.restriction.facet.EnumerationFacet@693ce42d, com.predic8.schema.restriction.facet.EnumerationFacet@1ca87c55, com.predic8.schema.restriction.facet.EnumerationFacet@797abf25, com.predic8.schema.restriction.facet.EnumerationFacet@699b5471, com.predic8.schema.restriction.facet.EnumerationFacet@54c4fce1, com.predic8.schema.restriction.facet.EnumerationFacet@50b64341, com.predic8.schema.restriction.facet.EnumerationFacet@6df989cc, com.predic8.schema.restriction.facet.EnumerationFacet@19c5e87c, com.predic8.schema.restriction.facet.EnumerationFacet@1022321c, com.predic8.schema.restriction.facet.EnumerationFacet@3507d48a, com.predic8.schema.restriction.facet.EnumerationFacet@1512cb39, com.predic8.schema.restriction.facet.EnumerationFacet@4dc15fe, com.predic8.schema.restriction.facet.EnumerationFacet@d27d930, com.predic8.schema.restriction.facet.EnumerationFacet@3323e50f, com.predic8.schema.restriction.facet.EnumerationFacet@79935603, com.predic8.schema.restriction.facet.EnumerationFacet@37f41d50, com.predic8.schema.restriction.facet.EnumerationFacet@7bb08be2, com.predic8.schema.restriction.facet.EnumerationFacet@3afe1df, com.predic8.schema.restriction.facet.EnumerationFacet@1015f95d, com.predic8.schema.restriction.facet.EnumerationFacet@12a650eb, com.predic8.schema.restriction.facet.EnumerationFacet@650a7ddd, com.predic8.schema.restriction.facet.EnumerationFacet@13cd6bfe, com.predic8.schema.restriction.facet.EnumerationFacet@136cfada, com.predic8.schema.restriction.facet.EnumerationFacet@57c9082c, com.predic8.schema.restriction.facet.EnumerationFacet@4f37adba, com.predic8.schema.restriction.facet.EnumerationFacet@506eb6f7, com.predic8.schema.restriction.facet.EnumerationFacet@14ae3b62, com.predic8.schema.restriction.facet.EnumerationFacet@3abca989, com.predic8.schema.restriction.facet.EnumerationFacet@381e7f7f, com.predic8.schema.restriction.facet.EnumerationFacet@5a4487a1, com.predic8.schema.restriction.facet.EnumerationFacet@49248953, com.predic8.schema.restriction.facet.EnumerationFacet@7db3cda8, com.predic8.schema.restriction.facet.EnumerationFacet@27831111, com.predic8.schema.restriction.facet.EnumerationFacet@dd5875b]]]' with class 'com.predic8.schema.SimpleType' to class 'com.predic8.schema.ComplexType'

    at com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutor.setup(GenericExecutor.java:245)
    at com.dynatrace.diagnostics.plugin.extendedexecutor.GEMonitor.setup(GEMonitor.java:10)
    at com.dynatrace.diagnostics.sdk.UserPluginManager.executePlugin(SourceFile:456)
    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:51)
    at com.dynatrace.diagnostics.sdk.MonitorPluginExecutor.execute(SourceFile:26)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:189)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.a(SourceFile:412)
    at com.dynatrace.diagnostics.scheduling.impl.ServerJobCenterRegistry.execute(SourceFile:336)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.a(SourceFile:101)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.work(SourceFile:92)
    at com.dynatrace.diagnostics.scheduling.impl.SchedulerJob.executeJobInfo(SourceFile:241)
    at com.dynatrace.diagnostics.scheduling.impl.QuartzJob.execute(SourceFile:45)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at com.dynatrace.diagnostics.scheduling.impl.QuartzThreadPool$WorkerThread.run(SourceFile:788)
    Caused by: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'SimpleType[qname={http://www.webserviceX.NET/}Currency,restriction=Restriction[base={http://www.w3.org/2001/XMLSchema}string,facets=[com.predic8.schema.restriction.facet.EnumerationFacet@1e515b3, com.predic8.schema.restriction.facet.EnumerationFacet@66f39bbd, com.predic8.schema.restriction.facet.EnumerationFacet@375ca19, com.predic8.schema.restriction.facet.EnumerationFacet@2a273115, com.predic8.schema.restriction.facet.EnumerationFacet@73076f51, com.predic8.schema.restriction.facet.EnumerationFacet@6d1d69d6, com.predic8.schema.restriction.facet.EnumerationFacet@260f9891, com.predic8.schema.restriction.facet.EnumerationFacet@49e96b1c, com.predic8.schema.restriction.facet.EnumerationFacet@7b77212c, com.predic8.schema.restriction.facet.EnumerationFacet@4a230f07, com.predic8.schema.restriction.facet.EnumerationFacet@43afba97, com.predic8.schema.restriction.facet.EnumerationFacet@46033238, com.predic8.schema.restriction.facet.EnumerationFacet@7bd61e70, com.predic8.schema.restriction.facet.EnumerationFacet@26688a94, com.predic8.schema.restriction.facet.EnumerationFacet@19620e3f, com.predic8.schema.restriction.facet.EnumerationFacet@7495571d, com.predic8.schema.restriction.facet.EnumerationFacet@788a6cb6, com.predic8.schema.restriction.facet.EnumerationFacet@47e75e8d, com.predic8.schema.restriction.facet.EnumerationFacet@26f09fdc, com.predic8.schema.restriction.facet.EnumerationFacet@7f8f387c, com.predic8.schema.restriction.facet.EnumerationFacet@13c59651, com.predic8.schema.restriction.facet.EnumerationFacet@110fa9fb, com.predic8.schema.restriction.facet.EnumerationFacet@1b60a67d, com.predic8.schema.restriction.facet.EnumerationFacet@66526695, com.predic8.schema.restriction.facet.EnumerationFacet@2bccf4ae, com.predic8.schema.restriction.facet.EnumerationFacet@1cd3e1f9, com.predic8.schema.restriction.facet.EnumerationFacet@1a98b138, com.predic8.schema.restriction.facet.EnumerationFacet@1e9ae12c, com.predic8.schema.restriction.facet.EnumerationFacet@4a351f66, com.predic8.schema.restriction.facet.EnumerationFacet@65a08799, com.predic8.schema.restriction.facet.EnumerationFacet@e2681ef, com.predic8.schema.restriction.facet.EnumerationFacet@21c792b, com.predic8.schema.restriction.facet.EnumerationFacet@1b56f722, com.predic8.schema.restriction.facet.EnumerationFacet@6a7ae733, com.predic8.schema.restriction.facet.EnumerationFacet@2ae0fbe2, com.predic8.schema.restriction.facet.EnumerationFacet@18b8c86c, com.predic8.schema.restriction.facet.EnumerationFacet@b6e3722, com.predic8.schema.restriction.facet.EnumerationFacet@70e59f0a, com.predic8.schema.restriction.facet.EnumerationFacet@732c836d, com.predic8.schema.restriction.facet.EnumerationFacet@6f68a42d, com.predic8.schema.restriction.facet.EnumerationFacet@3ef2bf7f, com.predic8.schema.restriction.facet.EnumerationFacet@32fa4b22, com.predic8.schema.restriction.facet.EnumerationFacet@4e5abf53, com.predic8.schema.restriction.facet.EnumerationFacet@27c70a55, com.predic8.schema.restriction.facet.EnumerationFacet@7c7766d9, com.predic8.schema.restriction.facet.EnumerationFacet@3017066, com.predic8.schema.restriction.facet.EnumerationFacet@537a3a14, com.predic8.schema.restriction.facet.EnumerationFacet@7d7b21dc, com.predic8.schema.restriction.facet.EnumerationFacet@1eec32e0, com.predic8.schema.restriction.facet.EnumerationFacet@25001ffc, com.predic8.schema.restriction.facet.EnumerationFacet@2b33ec5e, com.predic8.schema.restriction.facet.EnumerationFacet@5de3257a, com.predic8.schema.restriction.facet.EnumerationFacet@6bb19cbd, com.predic8.schema.restriction.facet.EnumerationFacet@59a97387, com.predic8.schema.restriction.facet.EnumerationFacet@3dfd20e, com.predic8.schema.restriction.facet.EnumerationFacet@5b57971e, com.predic8.schema.restriction.facet.EnumerationFacet@5382616b, com.predic8.schema.restriction.facet.EnumerationFacet@14c9e2a2, com.predic8.schema.restriction.facet.EnumerationFacet@523e0457, com.predic8.schema.restriction.facet.EnumerationFacet@658f15ef, com.predic8.schema.restriction.facet.EnumerationFacet@14e93200, com.predic8.schema.restriction.facet.EnumerationFacet@59d1a8b9, com.predic8.schema.restriction.facet.EnumerationFacet@539c37c0, com.predic8.schema.restriction.facet.EnumerationFacet@35104922, com.predic8.schema.restriction.facet.EnumerationFacet@40317265, com.predic8.schema.restriction.facet.EnumerationFacet@6e4d65cf, com.predic8.schema.restriction.facet.EnumerationFacet@1b57319c, com.predic8.schema.restriction.facet.EnumerationFacet@797a06c9, com.predic8.schema.restriction.facet.EnumerationFacet@3a53b46d, com.predic8.schema.restriction.facet.EnumerationFacet@4d6a7e05, com.predic8.schema.restriction.facet.EnumerationFacet@a77a1f8, com.predic8.schema.restriction.facet.EnumerationFacet@342aa626, com.predic8.schema.restriction.facet.EnumerationFacet@5c02238b, com.predic8.schema.restriction.facet.EnumerationFacet@106ba9de, com.predic8.schema.restriction.facet.EnumerationFacet@c5d363e, com.predic8.schema.restriction.facet.EnumerationFacet@3b9426c9, com.predic8.schema.restriction.facet.EnumerationFacet@7b7e74ad, com.predic8.schema.restriction.facet.EnumerationFacet@2b1e4932, com.pred'

    1. Anonymous (login to see details)

      Hi Dorian,

      Could you please provide the following information for the WS SOAP call that you'd like to make with the GE plugin:

      1. Version of the GE plugin;
      2. Set to FINER log level of the plugin. Execute your test and gather the FINER log level of the plugin.
      3. The WSDL file of the web service.
      4. Web service software implementation stack. Is it .NET based web service?
      5. Screenshot of the plugin parameters screen.

      Please feel free to send plugin's log file and the WSDL file to eugene.turetsky@dynatrace.com.

      Eugene.

  76. Anonymous (login to see details)

    Hi Eugene,

    Prior to running all these tests, I installed version 5.5.21 of the plugin, since I had already noticed that our version of the plugin was outdated.

    I'll do 2-5 and post again asap. In the meantime I've written a simple generic webservice client which works fine with the aforementioned WS providers. This custom implementation also has the advantage of allowing me to use multiple returned values. Therefore, I'm not sure whether I should invest much more time in the "generic WS client" part of the plugin.

     

    Best Regards and many thanks for your feedback.
    Dorian

    1. Anonymous (login to see details)

      Hi Dorian,

      I've just briefly checked the first link http://www.webservicex.net/geoipservice.asmx?WSDL from your post: plugin v. 5.5.22, 5.5.20 and older works fine with this web service. Please see the following screenshot:

      There was a compatibility issue in the v. 5.5.21 of the plugin with older plugin releases. I've just fixed it in v. 5.5.22. I haven't checked other links from your post due to my schedule but will check them when I have more time.

      Just for clarification: plugin can handle multiple returned values for SOAP web services starting from version 5.5.14 (May, 2015). Please make sure you know that.

      Again, you are welcome to post your questions here.

      Eugene.

  77. Anonymous (login to see details)

    Hi Eugene,

    While trying to use the script feature of the plugin (instead of the webservice client feature), I got stuck with the following problem : for some reason my measurements don't show up in the "returned measurement" box, like they do in your screenshot, even though you can clearly see the Returned Measures in the standard output. Do you have any idea as to why the plugin doesn't interpret those values?

    See below my config and execution output / details :

    http://postimg.org/image/j86k5in9x/

     

    http://postimg.org/image/496x4jvcn/

     

     

    1. Anonymous (login to see details)

      Hi Dorian,

      Could you please enable pligin's FINER log level, execute your test and send me gathered FINER log file?

      I also attached below example of the 'echo' command execution which shows how you can pass multiple measures from the executed command to the plugin. Please see the following plugin's configuration screenshot for the 'echo' command:

      and here are results of the command execution:

      Again, please send me plugin's FINER log file.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

         

        I've used your command line and have exactly the same problem with it : there are no returned Measures. I've then set the Plugin Logging Level to "FINER" and re-run the Monitor. Here's the output :

         

        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering execute method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getNonActionVarsSubstituter method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getDateAsString method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getDateAsString method: timeString is '2015-12-15T10:53:51.488Z'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getNonActionVarsSubstituter method: non-action substituter map is '[HOST=c501085, START_TIME=2015-12-15T10:53:51.488Z]
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: Substitution of Non-Action variables for local command: Prepared tokenized command to execute: '[cmd.exe, /c, echo, ***ReturnedMeasures:1;2;3;4;5;6;7]'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Execute method: method is 'LOCAL', GEReturnObject rc is 0, output is '
        *** stream ***
        *** End of stream ***
        *** stream ***
        ***ReturnedMeasures:1;2;3;4;5;6;7
        *** End of stream ***'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: STDOUT from the command '[cmd.exe, /c, echo, ***ReturnedMeasures:1;2;3;4;5;6;7]'
        is '***ReturnedMeasures:1;2;3;4;5;6;7
        '
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: STDERR from the command '[cmd.exe, /c, echo, ***ReturnedMeasures:1;2;3;4;5;6;7]'
        is ''
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering setReturnedMeasures method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: array of records from the output is [, *** stream ***, , *** End of stream ***, *** stream ***, ***ReturnedMeasures:1;2;3;4;5;6;7, , *** End of stream ***]
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #0 is ''
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #1 is '*** stream ***'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #2 is ''
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #3 is '*** End of stream ***'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #4 is '*** stream ***'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record #5 is '***ReturnedMeasures:1;2;3;4;5;6;7'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: record string is 1;2;3;4;5;6;7
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering setReturnedMeasuresNoMeasuresPrefix method, record is '1;2;3;4;5;6;7'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't1'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't2'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't3'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't4'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't5'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't6'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering getBaseMeasure method: name is 't7'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #1: metric name is 'executionSuccess', measure name is 'executionSuccess', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] getBaseMeasure method: monitor measure #2: metric name is 'returnCode', measure name is 'returnCode', metric group is 'Generic Execution Monitor'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasuresNoMeasuresPrefix method: measure map is [t3=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t2=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t1=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t4=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t5=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t6=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], t7=BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures]]
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering setReturnedMeasures method: returned values are [1, 2, 3, 4, 5, 6, 7]
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 1.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 2.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 3.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 4.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 5.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 6.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setReturnedMeasures method: bm is BaseMeasure [metricGroup=Generic Execution Monitor, baseMeasure=returnedMeasures], value is 7.0
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: execute the setMatchRuleSuccessMeasure method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering setMatchRuleSuccessMeasure method, output is '
        *** stream ***
        *** End of stream ***
        *** stream ***
        ***ReturnedMeasures:1;2;3;4;5;6;7
        *** End of stream ***'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setMatchRuleSuccessMeasure method: matchFound is 'true'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setMatchRuleSuccessMeasure method: matchFound after applying successDefinition is 'true'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] setMatchRuleSuccessMeasure method: set value for the 'executionSuccess' measure with matchFound = 'true'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: execute the setReturnCodeMeasure method
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] Entering setReturnCodeMeasure method, GEReturnObject is 'GEReturnObject [output=
        *** stream ***
        *** End of stream ***
        *** stream ***
        ***ReturnedMeasures:1;2;3;4;5;6;7
        *** End of stream ***, stdout=***ReturnedMeasures:1;2;3;4;5;6;7
        , stderr=, rc=0]'
        2015-12-15 10:53:51 FINER [GenericExecutor@TestScript_0] execute method: returning success when isCapture is 'true'

        1. Anonymous (login to see details)

          1. Anonymous (login to see details)

            Hi Dorian,

            It seems that instance of the GE plugin that you are working with does not have the OOTB 'returnedMeasures' metric available in the 'Generic Execution Monitor' metric group.

            Could you please make sure that instance of the plugin in questions is subscribed to gather the 'returnedMeasures' measures (see below screenshot)?

            Please let me know if you still have problem. I'll setup webex to work with you.

            Eugene.

            1. Anonymous (login to see details)

              Hi Eugene,

               

              Well it's not even that the checkbox wasn't checked, but I simply didn't even have a Measure called "returnedMeasures". I only had two rows in that view.

               

              So I added the new measure and now it seems to be working. Thanks a lot !

               

              PS: did I miss a step somehow or is it missing in the instructions of the plugin's manual?

              1. Anonymous (login to see details)

                Hi Dorian,

                The 'returnedMeasures' metric from the 'Generic Execution Monitor' metric group is a built in out of the box (OOTB) measure. It is always available in the plugin. There are no steps needed to have OOTB measures available.

                We strongly discourage our customers from renaming or deleting OOTB measures as it could change intended behavior of the plugin. Your case confirms it.

                Eugene.

                1. Anonymous (login to see details)

                  Hi Eugene,

                  As far as I'm aware, no one explicitely deleted nor renamed that Measure... It might have been done by accident though I guess (hard to say).

                  Regards

                  Dorian

  78. Anonymous (login to see details)

    I am trying to create a monitor to poll a webservice. I have had much success in the past with GEC with webservices. But as I am trying to setup of late i am getting the error

    setup method: java.lang.Exception exception occurred. Message = 'com.predic8.xml.util.ResourceDownloadException'; Stacktrace is ''

    I have set the log level to FINEST on the collector running the GEC - Below is the error 

    any suggestions on how to get around this

     

    Thanks

    Moses

    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] Entering setup method
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] Entering setConfigurationWs method
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] Entering checkSuccessDefinition method
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: WSDL is 'https://xxx?wsdl'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: operation is 'isUserLocked'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: 1. '/isUserLocked/uid' is 'xxxxx'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: 2. '/isUserLocked/identityDomainKey' is 'RSA_INTERNAL'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: isWsXpathSyntax is 'true'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: isWsAuth is 'true'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: wsUser is 'xxxxx'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: wsPassword is 'xxxxx
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: wsAuthMethod is 'Basic'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: proxy host is ''
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: proxy port is '80'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: proxy user is ''
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: proxy password is ''
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: isDotNET parameter is 'false'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: rcMeasureName parameter is 'null'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: isWsReturnedMeasures parameter is 'true'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: regex parameter is '(.*)Result(.*)'
    2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: successDefinition parameter is 'on match'
    2016-01-06 14:14:58 FINER [HelperUtils@EServer_v2_0] Entering getExceptionAsString method
    2016-01-06 14:14:58 FINER [HelperUtils@EServer_v2_0] Entering getStackTraceAsString method
    2016-01-06 14:14:58 SEVERE [GenericExecutor@EServer_v2_0] Previous message was repeated 3 times.
    2016-01-06 14:14:58 SEVERE [GenericExecutor@EServer_v2_0] setup method: java.lang.Exception exception occurred. Message = 'com.predic8.xml.util.ResourceDownloadException'; Stacktrace is ''
    2016-01-06 14:14:58 FINER [GenericExecutor@EServer_v2_0] Entering teardown method

     

    Collector log shows the below error messages for the same time period

    2016-01-06 14:14:57 FINE [UserPluginManager] executePlugin roleKey=com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.monitor scheduleKey=EServer_v2_0 QA-OSB host rtid:12778 tryRun=false
    2016-01-06 14:14:57 FINE [UserPluginManager] Creating new instance of Plugin: com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.monitor
    2016-01-06 14:14:58 FINE [UserPluginManager] Setup status of Plugin com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.monitor: Code=304 ShortMessage="setup method: java.lang.Exception exception occurred. Message = 'com.predic8.xml.util.ResourceDow..." Message="setup method: java.lang.Exception exception occurred. Message = 'com.predic8.xml.util.ResourceDownloadException'; Stacktrace is ''" Exception=java.lang.Exception(com.predic8.xml.util.ResourceDownloadException)
    2016-01-06 14:14:58 FINE [Scheduler] [dynaTrace Collector@r901d9bw] execution of Task[EServer_v2_0] finished.
    2016-01-06 14:14:58 FINE [JobMonitor] setResult(com.dynatrace.diagnostics.sdk.MultiHostMonitorStatus@5e860193)
    2016-01-06 14:14:58 FINE [JobMonitor] setDone(true)
    2016-01-06 14:14:58 FINE [JobMonitor] setDone(true)

    1. Anonymous (login to see details)

      Hi Moses,

      The following log message "2016-01-06 14:14:57 FINER [GenericExecutor@EServer_v2_0] setConfigurationWs method: WSDL is 'https://xxx?wsdl'" shows that the 'WS WSDL'  parameter of the plugin is set to 'https://xxx?wsdl'. This is not correct. Please provide correct URL for the WSDL file of your web service.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

        I was working with Moses on this, the x's in the WSDL and username and password were just replacements for security purposes. The correct WSDLs are in place but it seems this error will sometimes occur after it has been tested and working.

        James

        1. Anonymous (login to see details)

          Hi James,

          I see, you masked the WSDL URL Could you send me e-mail directly at eugene.turetsky@dynatrace.com and clarify what do you mean by "...this error will sometimes occur after it has been tested and working."? Are you referring to a web service been tested or the GE plugin been tested?

          Eugene.

  79. Anonymous (login to see details)

    Hi Eugene,

     

    I'm having trouble visualizing the returnedMeasure data in a chart. I tried using different Aggregation types (count, average, sum, max) but everything seems to be giving a weird result. I do get the value 51 for "failedRequests" when switching the aggregation to average, but then the other measures which should be 0 become 51 as well. I'm not sure what's going on, whether the splitting is working correctly or if the problem is at aggregation level.

     

    Can you please take a look at my picture and explain to me why I'm getting these values? Thanks in advance

    http://postimg.org/image/fp7ekaip7/

     

    Dorian

  80. Anonymous (login to see details)

    Hi, 

    I need to run a PowerShell script on an incident with elevated rights. ("run as Administrator")

    Is there any way to trigger a *.ps1 or *.bat with elevated rights?

    My last attempt was something like this: 
    powershell.exe -command start-process powershell.exe -verb runas -argumentlist '-file C:\Scripts\Powershell\...'

    The *.ps1 file is fine and works from command line as expected. 
    The AD-User that runs the command line (and the dT server) is local administrator. 
    UAC is disabled on the dT server.

    Any idea? 

    Kind regards
    Uwe 

    1. Anonymous (login to see details)

      Hi Uwe,

      The GE plugin is running commands with the owner of the DT Server/DT Collector process privileges. When the GE plugin is an action, privileges of the owner of the DT Server process are used. For monitors and tasks, privileges of the owner of the DT Collector process are used. You may consider recommendations depicted here for elevating privileges. 

      Eugene.

  81. Anonymous (login to see details)

    Hi 

    we are consistently getting the below error. We have tried redeploying the Plugin but the error still remains

    I was wondering if anybody has encountered this before and would be able to provide some assistance.

    Schedule Details
    Name: SWTestTask
    Status: suspended
    Description: GE Plugin executes commands remotely or locally as well as SOAP web services.
    Type: Generic Execution Task
    Last Run: 2016-01-27 09:08:06 (EST)
    Last Run Result: plugin internal error
    Next Run: -
    Current Run: -
    Duration (last run): 1s
    Schedule: -
    Execution Target: dynaTrace Collector@t-corp-dynaserv1-prdint
    Plugin Active: active
    Result Status: execution discarded
    Discard Reason: Type information for plugin key missing: com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin
    Result: No detail data available

     

    1. Anonymous (login to see details)

      Hi Moses,

      Could you please send me plugin's log file at eugene.turetsky@dynatrace.com? The FINER log level is preferable, however, it is OK to send me log file as is.

      Eugene.

  82. Anonymous (login to see details)

    I am trying to move some of our old ServerMonitoring/ServerVantage custom usercounter scripts to GEP. I have successfully implemented it as far as capturing the "returnedMeasures" but I am struggling with capturing the "detailed message" (this is the equivalent of the information that is captured via the <ECO> tag in ServerMonitoring). The ECO tag was great to troubleshoot - anyone have any thoughts on what I should be doing (or what I am doing wrong)? 

     

    I can see the output in Detailed message when i Go to System Profile->Monitors->GEP->(monitor in question)->Details but all i see is the last run - how do i get the detailed message for the previous runs?

     

    Thanks

    JB

    1. Anonymous (login to see details)

      Hi JB,

      Please note that the GEP can only gather and save in the Dynatrace Performance Warehouse numeric data. This is done by design.

      Eugene.

  83. Anonymous (login to see details)

    hi Eugene Turetsky can we enhance GEP to post monitor/incident data in Json format to a REST URL.

    https://answers.dynatrace.com/questions/146796/looking-for-plugin-to-post-dynatrace-incident-in-e.html?childToView=146977#comment-146977

    I am looking for ways to use this plugin to post incident in elastic search.

     

    1. Anonymous (login to see details)

      Hi Aftab,

      The GE plugin allows to invoke REST URL, i.e. make REST web service call, without enhancements. In fact, our customers are using the GE plugin to invoke REST web services for a while. There are few ways of invoking REST web service by the GE plugin:

      1. Using straight cURL command in the GE plugin command parameter. For example, here how you can invoke REST Web service from the GE plugin:
        curl –s -X POST "http://localhost:8080/RESRfulWS5/rest/UserInfoService/post" -H "Content-Type: <required-content-type>" -H "User-Agent: dynaTrace/6" -d “<POST-data-goes-here>”
        In the POST-data field you can embed 150+ variables that the GE plugin extracts (fetches) from the dynaTrace Incident object. Please see Section 4 Custom Text on Page 11 of this document (also attached to the e-mail) how you can embed maintained by the plugin 150+ runtime variables. Every variable ${variable-name} embedded in the POST-data field will be replaced by its value fetched from the dynaTrace Incident object before making web service call.
      2. Using a script which has cURL command inside. This case is necessary if you need to make some manipulation of the POST-data before invoking web service rather than just simple substitution of the embedded variables there (see case #1). In this case you can invoke script from the GE plugin command and pass it embedded variables as a parameters:
        <script-name> ${embedded-var1} ${embedded-var2} …

      Please let me know if you have any further questions. I'm very busy right now but will try to reply as soon as I have opportunity.

      Eugene.

  84. Anonymous (login to see details)

    Thanks Eugene. this is perfect.

    1. Anonymous (login to see details)

      I also want to say THANK YOU Eugene for your great community contribution. this and other plugins you have created clearly make a difference. THANKS!! 

  85. Anonymous (login to see details)

    Hi Eugene,

     

    We have some incidents with multiple hosts involved like screenshot below,

     

     

     

    The GE plugin can’t read ${AGENT_HOST} from these kind of incidents.  I attached the plugin log for your review. Could you please look into it?  Ideally, I hope GE plugin can read all host names. My understanding is  GE plugin should read one host name, right?

     pluginlog.txt

    Thanks

    YC  

     

    1. Anonymous (login to see details)

      Hi Yc,

      The source of the incident that you are referring to is 'Agent Group'. This type of the incident source does not provide information about affected hosts. This is based on the Dynatrace Plugin interface design.

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

         

        Can I understand dynatrace plugin interface can't handle any incident with multiple hosts?  I have another alert from exactly same incident. The difference is there was  one host in that alert. I see the triggerValue source type 'Agent' for that alert in log. 

         

        My point is 'Agent' or 'Agent Group' is not base on what I defined. It is automatically generated by system depends on whether that alert has multiple or single host. So if any incident is triggered on multiple servers on same time, dynatrace plugin interface can't process it, right?

         

        Thanks

        YC 

        1. Anonymous (login to see details)

          HI Yc,

          I'd like to re-iterate my previous reply on your question: source type of the incident in question is 'Agent Group'. The 'Agent Group' source type does not have information about affected hosts. This is based on the design of the Dynatrace action plugin interface. Hence there is no information about affected hosts in the plugin's runtime variables. 

          If you have any questions or additional information for your question, please feel free to provide it in form of the plugin's log file that we can evaluate further.

          Eugene.

          1. Anonymous (login to see details)

            Hi Eugene,

             I understand what you said. The question is what make difference of source type, "Agent Group" and "Agent" . I see those exist in the GE log of same incident rule at difference time. I want to modify our configuration to ensure every incident alert use source type "agent" instead of "agent group".

             

            Thanks

            YC

  86. Anonymous (login to see details)

    Hi team,

    Is it possible to monitor a REST API which return XML (but without any wsdl).

    Thanks

    1. Anonymous (login to see details)

      Hi Alexandre,

      Yes, if you do processing of the XML file in your command/script and return to the plugin returned values described in the 'New in plugin version 5.5.8' section above. 

      Eugene.

  87. Anonymous (login to see details)

    Hi Eugene,

       Can you give me any context for this log entry? I'm not sure what server parameter its referring to:

    2016-05-05 05:49:15 SEVERE [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] setup method: java.lang.RuntimeException exception occurred. Message = 'setConfiguration method: Dynatrace Server parameter should be set and be none empty.'; Stacktrace is ''

    2016-05-05 06:14:15 SEVERE [GenericExecutor@com.dynatrace.diagnostics.plugin.extendedexecutor.GenericExecutionPlugin.action] setConfiguration method: Dynatrace Server parameter should be set and be none empty.

    1. Anonymous (login to see details)

      Hi Paul,

      Are you setting on the 'Trigger Incident' indicator? The 'DT Server' parameter is mandatory if the 'Trigger Incident' indicator is set on. See next screenshot.

       

      Eugene.

      1. Anonymous (login to see details)

        Hi Eugene,

           Thank you for your reply. No I do not have trigger incident checked. What does 'trigger incident' actually do? In this scenario the GEP is just being used to send a trap when an incident has already been triggered.

        1. Anonymous (login to see details)

          Hi Paul,

          The 'DT Server' parameter is used if and only if the 'Trigger Incident' parameter is set to 'true'. Please double check again value of the 'Trigger Incident' parameter. If it is set to 'false' and you still see messages depicted in your original post, please upgrade plugin to the version 5.5.24 (the current latest version), set log level to FINER, reproduce the problem and send me plugin's FINER log file. Also, provide screenshot of the plugin's parameters screen and version of the DT Server. You can sent this information directly to me at eugene.turetsky@dynatrace.com.

          In terms of your question: plugin allows to trigger new incident based on the output from executed command when it is configured as an action, or monitor, or task. See details in the 'New in plugin version 5.5.20' section.

          Eugene.

  88. Anonymous (login to see details)

    Hi all,

    In our environment we use the Generic Execution Plugin on our Incidents. When an Incident triggers it will run a Pearl script which pulls out needed Incident information and passes that information off to Netcool. There seems to be an issue with the time it takes for the Incident to appear in the Generic Execution Plugin log if the Incident is an Out-of-the-Box Incident, specifically Response Time Degraded and Failure Rate Too High. This delay has been in the range of 30 minutes to 6 hours. For all of our static Incidents created the GEP log will show the incident within a minute. 

    I'm wondering if anyone else has had a similar issue or if anyone could think of why this is happening. From looking at the logs I do see the log entry for the OOTB Incidents has special characters. Example:

    "...Average response time degraded, 2016-05-05T20:55:00.000Z, 441.5872854431157, Was 441.59 ms but should be higher than � ms..."

    Could this impact the time delay for any reason? Other than that I don't have any ideas as to what causes the delay.

    Tom

    1. Anonymous (login to see details)

      Hi Tom,

      DT server internally is caching and compressing log messages before flushing them to the log file. This is done on a top of caching that Java does according to its specification. Hence, you should not use time of appearance log messages in the plugin log file for timing. In terms of special characters: they are not causing the time delay. However, values of runtime variables which plugin maintains should not have special characters. To check it further, could you please answer on following questions:

      • version of the GE plugin;
      • version of the DT Server;
      • OS which DT server is running on.

      Could you please upgrade the GE plugin to the