DX Application Performance Management

Expand all | Collapse all

Stateful plugin not getting started in EPAgent on Windows Platform

  • 1.  Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 12:01 AM

    Hi Team,

     

    I have created a jar file Test.jar, in which main class is TestPlugin (in which main method is defined). This class is in package com.gic.wily.monitoring. Then I added this jar file in epagent/lib folder. After that I configured a stateful plugin in IntroscopeEPAgent.properties file in the following manner:

     

    introscope.epagent.plugins.stateful.names=DemoPlugin

    introscope.epagent.stateful.DemoPlugin.class=com.gic.wily.monitoring.TestPlugin

     

    Now when I run the EPAgent, it gives the following error in the log file:

     

    7/06/15 05:47:03 PM PDT [ERROR] [EPAgent] EPAgent failed to start because: Class 'com.gic.wily.monitoring.TestPlugin' not found for plugin DemoPlugin.

    com.wily.introscope.epagent.IllegalConfigurationException: Class 'com.gic.wily.monitoring.TestPlugin' not found for plugin DemoPlugin.

      at com.wily.introscope.epagent.ClassPlugin.<init>(ClassPlugin.java:58)

      at com.wily.introscope.epagent.EPAConfig.parseConfig(EPAConfig.java:170)

      at com.wily.introscope.epagent.EPAConfig.parseConfigFile(EPAConfig.java:105)

      at com.wily.introscope.epagent.EPAgent.start(EPAgent.java:249)

      at com.wily.introscope.epagent.EPAgent.main(EPAgent.java:514)

      at com.wily.introscope.api.IntroscopeEPAgent.main(IntroscopeEPAgent.java:55)

     

    When I configure this plugin on EPAgent on unix platform. It is getting started successfully. The only additional step I perform there is to define Test.jar in EPACtrl.sh file in epagent/bin folder like this:

    EpaCmd="java -Xms${MIN_HEAP_VAL_IN_MB}m -Xmx${MAX_HEAP_VAL_IN_MB}m -cp lib/EPAgent.jar:lib/Test.jar:lib/IntroscopeServices.jar:lib/Agent.jar:epaplugins/epaMQMonitor/epaMQMonitor.jar:epaplugins/epaMQMonitor:epaplugins/epaMQMonitor/lib/com.ibm.mq.pcf.jar:epaplugins/epaMQMonitor/lib/com.ibm.mq.jar:epaplugins/epaMQMonitor/lib/connector.jar:epaplugins/epaMQMonitor/lib/com.ibm.mqjms.jar com.wily.introscope.api.IntroscopeEPAgent"

     

    Now I want to know, how I define Test.jar on Windows platform??

     

    Regards,

    Balram Singh Deswal



  • 2.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 12:05 AM

    If you didn't put the entry point class in the manifest, try using the plugin class option.

    Never mind; I did not read the entire post before replying from my phone.



  • 3.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 12:11 AM

    Thanks Haruhiko,

     

    Can you please elaborate how it can be achieved. I have specified the entry point class in the statement:

    introscope.epagent.stateful.DemoPlugin.class=com.gic.wily.monitoring.TestPlugin


    Where I can define the Test.jar as I did for epagent on unix platform?



  • 4.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 12:13 AM

    Having your JAR in the classpath should be enough. Put the agent logging in DEBUG mode and let us know if you have another error.



  • 5.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 04:45 AM

    I have added my JAR in classpath by adding the following lines in EPAService config file:

    wrapper.java.classpath.2=../lib/Test.jar

     

    Still it is not working. It was working fine in UNIX environment.



  • 6.  Re: Stateful plugin not getting started in EPAgent on Windows Platform
    Best Answer

    Broadcom Employee
    Posted Jul 07, 2015 12:14 AM

    Create an EPACtrl.bat or run from Command Line:

    java -Xms%MIN_HEAP_VAL_IN_MB%m -Xmx%MAX_HEAP_VAL_IN_MB%m -cp lib/EPAgent.jar;lib/Test.jar;lib/IntroscopeServices.jar;lib/Agent.jar com.wily.introscope.api.IntroscopeEPAgent


    Just make sure you replace ':' with ';' in classpath.

    Ciao,

    Guenter




  • 7.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 12:16 AM

    Nice catch, Guenter_Grossberger!



  • 8.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 04:43 AM

    Hi Guenter,

     

    This command is giving the same error, as was provided by EPAgent log file. Kindly provide an alternative way.



  • 9.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 04:45 AM

    What is the exact message?

    We can't help without the message.



  • 10.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 04:53 AM

    It is giving the following error message in log file:

    7/06/15 05:47:03 PM PDT [ERROR] [EPAgent] EPAgent failed to start because: Class 'com.gic.wily.monitoring.TestPlugin' not found for plugin DemoPlugin.

    com.wily.introscope.epagent.IllegalConfigurationException: Class 'com.gic.wily.monitoring.TestPlugin' not found for plugin DemoPlugin.

      at com.wily.introscope.epagent.ClassPlugin.<init>(ClassPlugin.java:58)

      at com.wily.introscope.epagent.EPAConfig.parseConfig(EPAConfig.java:170)

      at com.wily.introscope.epagent.EPAConfig.parseConfigFile(EPAConfig.java:105)

      at com.wily.introscope.epagent.EPAgent.start(EPAgent.java:249)

      at com.wily.introscope.epagent.EPAgent.main(EPAgent.java:514)

      at com.wily.introscope.api.IntroscopeEPAgent.main(IntroscopeEPAgent.java:55)



  • 11.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 04:56 AM

    Looks like you removed your post about your agent settings.

    Are you using Tanuki Java Wrapper?

     

    Can you show us your wrapper.conf?



  • 12.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 05:47 AM

    Post is still there at the top in which agent settings are mentioned. wrapper-license.conf file is as follows:

     

    #encoding=UTF-8

    wrapper.license.type=DEV

    wrapper.license.id=201411060001

    wrapper.license.licensee=CA, Inc.

    wrapper.license.dev_application=EPAgent

    wrapper.license.features=pro, 64bit

    wrapper.license.upgrade_term.begin_date=2008-12-16

    wrapper.license.upgrade_term.end_date=2014-12-16

    wrapper.license.key.1=2521-390f-469f-9304

    wrapper.license.key.2=baca-2258-9230-1a1c

    wrapper.license.key.3=2f6c-dd97-f17c-e11b

    wrapper.license.key.4=8d45-7b07-003e-4ead



  • 13.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 05:49 AM

    I need to see the wrapper configuration file please, not the license file.



  • 14.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 05:54 AM

    Here is the wrapper configuration file:

     

    #encoding=UTF-8

    # Configuration files must begin with a line specifying the encoding

    #  of the the file.

     

     

    #********************************************************************

    # Wrapper License Properties (Ignored by Community Edition)

    #********************************************************************

    # Professional and Standard Editions of the Wrapper require a valid

    #  License Key to start.  Licenses can be purchased or a trial license

    #  requested on the following pages:

    # http://wrapper.tanukisoftware.com/purchase

    # http://wrapper.tanukisoftware.com/trial

     

     

    # Include file problems can be debugged by removing the first '#'

    #  from the following line:

    ##include.debug

     

     

    # The Wrapper will look for either of the following optional files for a

    #  valid License Key.  License Key properties can optionally be included

    #  directly in this configuration file.

    #include ../conf/wrapper-license.conf

    #include ../conf/wrapper-license-%WRAPPER_HOST_NAME%.conf

     

     

    # The following property will output information about which License Key(s)

    #  are being found, and can aid in resolving any licensing problems.

    #wrapper.license.debug=TRUE

     

     

    #********************************************************************

    # Wrapper Localization

    #********************************************************************

    # Specify the locale which the Wrapper should use.  By default the system

    #  locale is used.

    #wrapper.lang=en_US # en_US or ja_JP

     

     

    # Specify the location of the Wrapper's language resources.  If these are

    #  missing, the Wrapper will default to the en_US locale.

    wrapper.lang.folder=../lang

     

     

    #********************************************************************

    # Wrapper Java Properties

    #********************************************************************

    # Java Application

    #  Locate the java binary on the system PATH:

    #wrapper.java.command=java

    #  Specify a specific java binary:

    #set.JAVA_HOME=/java/path

    wrapper.java.command=%JAVA_HOME%/bin/java

     

     

    # Tell the Wrapper to log the full generated Java command line.

    #wrapper.java.command.loglevel=INFO

     

     

    # Java Main class.  This class must implement the WrapperListener interface

    #  or guarantee that the WrapperManager class is initialized.  Helper

    #  classes are provided to do this for you.  See the Integration section

    #  of the documentation for details.

    wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp

     

     

    # Java Classpath (include wrapper.jar)  Add class path elements as

    #  needed starting from 1

    wrapper.java.classpath.1=../lib/wrapper.jar

    wrapper.java.classpath.2=../lib/Test.jar

     

     

    # Java Library Path (location of Wrapper.DLL or libwrapper.so)

    wrapper.java.library.path.1=../lib

     

     

    # Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.

    wrapper.java.additional.auto_bits=TRUE

     

     

    # Java Additional Parameters

    wrapper.java.additional.1=-Dcom.wily.introscope.epagent.properties="../IntroscopeEPAgent.properties"

     

     

    # Initial Java Heap Size (in MB)

    wrapper.java.initmemory=128

     

     

    # Maximum Java Heap Size (in MB)

    wrapper.java.maxmemory=512

     

     

    # Application parameters.  Add parameters as needed starting from 1

    wrapper.app.parameter.1=../lib/EPAgent.jar

    #wrapper.app.parameter.1

     

     

    #********************************************************************

    # Wrapper Logging Properties

    #********************************************************************

    # Enables Debug output from the Wrapper.

    # wrapper.debug=TRUE

     

     

    # Format of output for the console.  (See docs for formats)

    wrapper.console.format=PM

     

     

    # Log Level for console output.  (See docs for log levels)

    wrapper.console.loglevel=INFO

     

     

    # Log file to use for wrapper output logging.

    wrapper.logfile=../logs/EPAgentService.log

     

     

    # Format of output for the log file.  (See docs for formats)

    wrapper.logfile.format=LPTM

     

     

    # Log Level for log file output.  (See docs for log levels)

    wrapper.logfile.loglevel=INFO

     

     

    # Maximum size that the log file will be allowed to grow to before

    #  the log is rolled. Size is specified in bytes.  The default value

    #  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or

    #  'm' (mb) suffix.  For example: 10m = 10 megabytes.

    wrapper.logfile.maxsize=10m

     

     

    # Maximum number of rolled log files which will be allowed before old

    #  files are deleted.  The default value of 0 implies no limit.

    wrapper.logfile.maxfiles=0

     

     

    # Log Level for sys/event log output.  (See docs for log levels)

    wrapper.syslog.loglevel=NONE

     

     

    #********************************************************************

    # Wrapper General Properties

    #********************************************************************

    # Allow for the use of non-contiguous numbered properties

    wrapper.ignore_sequence_gaps=TRUE

     

     

    # Do not start if the pid file already exists.

    wrapper.pidfile.strict=TRUE

     

     

    # Title to use when running as a console

    wrapper.console.title=EPAgent

     

     

    #********************************************************************

    # Wrapper JVM Checks

    #********************************************************************

    # Detect DeadLocked Threads in the JVM. (Requires Standard Edition)

    wrapper.check.deadlock=TRUE

    wrapper.check.deadlock.interval=60

    wrapper.check.deadlock.action=RESTART

    wrapper.check.deadlock.output=FULL

     

     

    # Out Of Memory detection.

    #  Ignore -verbose:class output to avoid false positives.

    wrapper.filter.trigger.1000=[Loaded java.lang.OutOfMemoryError

    wrapper.filter.action.1000=NONE

    # (Simple match)

    wrapper.filter.trigger.1001=java.lang.OutOfMemoryError

    # (Only match text in stack traces if -XX:+PrintClassHistogram is being used.)

    #wrapper.filter.trigger.1001=Exception in thread "*" java.lang.OutOfMemoryError

    #wrapper.filter.allow_wildcards.1001=TRUE

    wrapper.filter.action.1001=RESTART

    wrapper.filter.message.1001=The JVM has run out of memory.

     

     

    #********************************************************************

    # Wrapper Email Notifications. (Requires Professional Edition)

    #********************************************************************

    # Common Event Email settings.

    #wrapper.event.default.email.debug=TRUE

    #wrapper.event.default.email.smtp.host=<SMTP_Host>

    #wrapper.event.default.email.smtp.port=25

    #wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%] Event Notification

    #wrapper.event.default.email.sender=<Sender email>

    #wrapper.event.default.email.recipient=<Recipient email>

     

     

    # Configure the log attached to event emails.

    #wrapper.event.default.email.attach_log=TRUE

    #wrapper.event.default.email.maillog.lines=50

    #wrapper.event.default.email.maillog.format=LPTM

    #wrapper.event.default.email.maillog.loglevel=INFO

     

     

    # Enable specific event emails.

    #wrapper.event.wrapper_start.email=TRUE

    #wrapper.event.jvm_prelaunch.email=TRUE

    #wrapper.event.jvm_start.email=TRUE

    #wrapper.event.jvm_started.email=TRUE

    #wrapper.event.jvm_deadlock.email=TRUE

    #wrapper.event.jvm_stop.email=TRUE

    #wrapper.event.jvm_stopped.email=TRUE

    #wrapper.event.jvm_restart.email=TRUE

    #wrapper.event.jvm_failed_invocation.email=TRUE

    #wrapper.event.jvm_max_failed_invocations.email=TRUE

    #wrapper.event.jvm_kill.email=TRUE

    #wrapper.event.jvm_killed.email=TRUE

    #wrapper.event.jvm_unexpected_exit.email=TRUE

    #wrapper.event.wrapper_stop.email=TRUE

     

     

    # Specify custom mail content

    wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease check on its status.\n

     

     

    #********************************************************************

    # Wrapper Windows NT/2000/XP Service Properties

    #********************************************************************

    # WARNING - Do not modify any of these properties when an application

    #  using this configuration file has been installed as a service.

    #  Please uninstall the service before modifying this section.  The

    #  service can then be reinstalled.

     

     

    # Name of the service

    wrapper.name=EPAgent

     

     

    # Display name of the service

    wrapper.displayname=Environment Performance Agent

     

     

    # Description of the service

    wrapper.description=Environment Performance Agent

     

     

    # Service dependencies.  Add dependencies as needed starting from 1

    wrapper.ntservice.dependency.1=

     

     

    # Mode in which the service is installed.  AUTO_START, DELAY_START or DEMAND_START

    wrapper.ntservice.starttype=AUTO_START

     

     

    # Allow the service to interact with the desktop.

    wrapper.ntservice.interactive=false



  • 15.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 05:03 AM

    Try running the plugin without EPA from the command prompt.

     

    • Does it run?
    • Does it produce output?


  • 16.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Posted Jul 07, 2015 05:49 AM

    I am trying to run the EPA from the command prompt. It is running successfully when run with default configuration. But when configuration of stateful plugin is done using:

    introscope.epagent.plugins.stateful.names=DemoPlugin

    introscope.epagent.stateful.DemoPlugin.class=com.gic.wily.monitoring.TestPlugin

     

    And then when its run from command prompt, it gives the same error as mentioned earlier.



  • 17.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jul 07, 2015 06:02 AM

    Previously, you said that you ran it from *nix. Does it run from Windows also from a command prompt?

     

    So running it like this works fine?

     

    java -Xms128m -Xmx512m -cp ../lib/Test.jar com.gic.wily.monitoring.TestPlugin
    


  • 18.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jun 20, 2017 09:03 AM

    I know that this question are old and that the support "assumed answered" but I would make only one observation for help future doubts.
    The problem maybe the slash "/".
    In Windows you need use "\" therefore the correct command for Windows:


    java -Xms%MIN_HEAP_VAL_IN_MB%m -Xmx%MAX_HEAP_VAL_IN_MB%m -cp lib\EPAgent.jar;lib\Test.jar;lib\IntroscopeServices.jar;lib\Agent.jar com.wily.introscope.api.IntroscopeEPAgent

     

    It would be necessary test in future problems.



  • 19.  Re: Stateful plugin not getting started in EPAgent on Windows Platform

    Broadcom Employee
    Posted Jun 20, 2017 01:23 PM

    Java doesn't really care about the separator so much. I have written Perl code in the same manner and it works on all platforms.

     

    It's best to use the *nix notation for the best compatibility.