Quantcast
Channel: All AppDynamics Discussions posts
Viewing all 1667 articles
Browse latest View live

AppDynamics setup for production environment

$
0
0

Hello everyone,

 

if i have a chance to set up AppDynamics configurations on production servers i.e 100 servers, what is the best approach to proceed? what i mean, can we include mediator servers to avoid burden on single controller machine and what are the pre requisities that we need to follow when AppDynamics setup on productions servers? Appreciate your suggestions


Dashboards and reports issues

$
0
0

Hi,

 

I want to send a report from a dashboard but the pie and gauge widgets don't appear in the pdf file.

 

The controller version is 4.1.6.0

 

 

How can my java agent connect to the AppDynamics Server?

$
0
0
I have done the following work: 1. installed the AppDynamics (15 days free trial). 2. Downloaded and unzipped the java agent 3. installed the mysql and tomcat, and they worked fine. 4. modifed CATALINA.bat on %TOMCAT_HOME%/bin/ as follows: set CATALINA_OPTS=%CATALINA_OPTS% -javaagent:"D:\AppServerAgent-4.1.8.2\javaagent.jar" 5. try to connect the application to the controller, and it's always "Waiting for Connection..." 6. I tried to get some information from using chrome debug mode, it seems that the response from server is like this: {"applicationAdoptionStatus":"NO_APPLICATION_REGISTERED","applicationName":null,"applicationId":-1} please help, thanks a lot.

Re: running it for JNLP

Machine Agent stopped reporting to the controller (HTTP Request failed: HTTP/1.1 404 Not Found)

$
0
0

Around November 13, the machine agent on one of our servers has stopped reporting to the controller. It was working in the past. There is nothing that we changed that I know of, except restarting the JVMs.

 

The error in the "/opt/AppDynamics/MachineAgent1/logs/machine-agent.log" is:

 

 

[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:49,514 ERROR ManagedMonitorDelegate - HTTP Request failed: HTTP/1.1 500 Internal Server Error
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:49,514 WARN ManagedMonitorDelegate - Error sending metric data to controller:null
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:49,514 ERROR ManagedMonitorDelegate - Error sending metrics - will requeue for later transmission
com.singularity.ee.agent.commonservices.metricgeneration.metrics.MetricSendException
at com.singularity.ee.agent.commonservices.metricgeneration.AMetricSubscriber.publish(AMetricSubscriber.java:358)
at com.singularity.ee.agent.commonservices.metricgeneration.MetricReporter.run(MetricReporter.java:115)
at com.singularity.ee.util.javaspecific.scheduler.AgentScheduledExecutorServiceImpl$SafeRunnable.run(AgentScheduledExecutorServiceImpl.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask$Sync.innerRunAndReset(ADFutureTask.java:315)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask.runAndReset(ADFutureTask.java:150)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ADScheduledThreadPoolExecutor.java:123)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ADScheduledThreadPoolExecutor.java:208)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.run(ADScheduledThreadPoolExecutor.java:238)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.runTask(ADThreadPoolExecutor.java:683)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.run(ADThreadPoolExecutor.java:715)
at java.lang.Thread.run(Thread.java:745)
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:49,514 WARN ManagedMonitorDelegate - Metric Reporter Queue full. Dropping metrics.
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:59,585 ERROR ManagedMonitorDelegate - HTTP Request failed: HTTP/1.1 404 Not Found
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:59,585 WARN ManagedMonitorDelegate - Error sending metric data to controller:null
[AD Thread-Metric Reporter0] 14 Dec 2015 11:59:59,585 ERROR ManagedMonitorDelegate - Error sending metrics - will requeue for later transmission
com.singularity.ee.agent.commonservices.metricgeneration.metrics.MetricSendException
at com.singularity.ee.agent.commonservices.metricgeneration.AMetricSubscriber.publish(AMetricSubscriber.java:358)
at com.singularity.ee.agent.commonservices.metricgeneration.MetricReporter.run(MetricReporter.java:115)
at com.singularity.ee.util.javaspecific.scheduler.AgentScheduledExecutorServiceImpl$SafeRunnable.run(AgentScheduledExecutorServiceImpl.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask$Sync.innerRunAndReset(ADFutureTask.java:315)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask.runAndReset(ADFutureTask.java:150)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ADScheduledThreadPoolExecutor.java:123)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ADScheduledThreadPoolExecutor.java:208)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.run(ADScheduledThreadPoolExecutor.java:238)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.runTask(ADThreadPoolExecutor.java:683)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.run(ADThreadPoolExecutor.java:715)
at java.lang.Thread.run(Thread.java:745)

 

 

The command-line that starts the machine agent is:

 

/usr/bin/java -Xms64m -Xmx64m -jar /opt/AppDynamics/MachineAgent1/machineagent.jar

 

 

The version of the machine agent and JVM runtime are:

 

[main] 27 Nov 2015 16:12:08,916  INFO SystemAgent - ####################################################################################
[main] 27 Nov 2015 16:12:08,917  INFO SystemAgent - Agent Install Directory [/opt/AppDynamics/MachineAgent1]
[main] 27 Nov 2015 16:12:08,917  INFO SystemAgent - Using Agent Version [Machine Agent v3.9.6.0 GA Build Date 2014-11-20 10:15:23]
[main] 27 Nov 2015 16:12:08,933  INFO SystemAgent - JVM Runtime:
        java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-0.b17.el6_7.x86_64/jre
        java.vm.vendor=Oracle Corporation
        java.vm.name=OpenJDK 64-Bit Server VM
        java.runtime.version=1.8.0_65-b17
        java.io.tmpdir=/tmp
[main] 27 Nov 2015 16:12:08,933  INFO SystemAgent - OS Runtime:
        os.name=Linux
        os.arch=amd64
        os.version=2.6.32-504.16.2.el6.x86_64
        user.name=root
        user.home=/root
        user.dir=/

 

 

The first error after the latest machine agent restart is:

 

[Agent-Scheduler-1] 13 Dec 2015 00:07:02,552 ERROR RegistrationChannel - Fatal transport error: The host did not accept the connection within timeout of 5000 ms
[AD Thread-Metric Reporter0] 13 Dec 2015 00:07:04,517 ERROR ManagedMonitorDelegate - Fatal transport error: The host did not accept the connection within timeout of 5000 ms
[AD Thread-Metric Reporter0] 13 Dec 2015 00:07:04,517 WARN ManagedMonitorDelegate - Error sending metric data to controller:Fatal transport error: The host did not accept the connection within timeout of 5000 ms
[AD Thread-Metric Reporter0] 13 Dec 2015 00:07:04,624 ERROR ManagedMonitorDelegate - Error sending metrics - will requeue for later transmission
com.singularity.ee.agent.commonservices.metricgeneration.metrics.MetricSendException: Fatal transport error: The host did not accept the connection within timeout of 5000 ms
at com.singularity.ee.agent.commonservices.metricgeneration.AMetricSubscriber.publish(AMetricSubscriber.java:358)
at com.singularity.ee.agent.commonservices.metricgeneration.MetricReporter.run(MetricReporter.java:115)
at com.singularity.ee.util.javaspecific.scheduler.AgentScheduledExecutorServiceImpl$SafeRunnable.run(AgentScheduledExecutorServiceImpl.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask$Sync.innerRunAndReset(ADFutureTask.java:315)
at com.singularity.ee.util.javaspecific.scheduler.ADFutureTask.runAndReset(ADFutureTask.java:150)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ADScheduledThreadPoolExecutor.java:123)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ADScheduledThreadPoolExecutor.java:208)
at com.singularity.ee.util.javaspecific.scheduler.ADScheduledThreadPoolExecutor$ScheduledFutureTask.run(ADScheduledThreadPoolExecutor.java:238)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.runTask(ADThreadPoolExecutor.java:683)
at com.singularity.ee.util.javaspecific.scheduler.ADThreadPoolExecutor$Worker.run(ADThreadPoolExecutor.java:715)
at java.lang.Thread.run(Thread.java:745)

  

There are also two App Agents (IBM) running on the same server.

 

Thank you for any help you can provide.

 

Re: Need information on metrics

$
0
0

Varsha are you talking about the metrics collected across applications or databases.

 

If you mean the application metrics then it is directly there in the documentation given by AppDynamics. Refer the following link  -

 

https://docs.appdynamics.com/display/PRO41/Metrics+Reference

 

If you are talking about the database metrics then I have a comprehensive list which I doubt you are interested in.

Support for Android Gradle plugin 1.5

$
0
0

Hi!

 

Currently Android Gradle plugin 1.5 doesn't seem to be supported by appdynamics-gradle-plugin. Do you have any news on this?

 

Cheers,

Tamas

Possible to call static methods in getter chains?

$
0
0

Today for the second time I came across a situation where calling a static method within a getter chain would be helpful. I'd like to be able to call System.getProperty in a backend's split condition in order to properly label it. Specifically, what I have is many tiers that each contain a mix of maybe 15 functionally different apps. I've created a backend that'll tell me when any of them perform a particular problematic action. This gets me info at the tier level but I'd like to be able to grab the app's name from a system property in order to identify the specific app or apps that have the behavior in question. Without this my next best option is to look at the BTs involved and try to figure out the offending app from the tier name + the associated BT.

 

The first time that calling a static function came up was when I wanted to be able to grab a timestamp from a property of a JMS message via a MIDC and subtract that time from the current time in order to capture that 'age' of the message at the time of receipt (reference point being the time of initial dispatch).

 

Has anybody been able to do either of these things?


Re: Need information on metrics

$
0
0
Hi Sanjay, Thanks for sharing the information. But this document contains very basic metrics. I am looking for little more comprehensive metrics. Please share the database metrics that you have, also please share for other components also if you can have. Thanks Varsha

How to alert when the monitor endpoint for my service is not being called?

$
0
0

I need some help setting up a Health Rule to ensure our system is working properly.  

 

I have a service that exposes a monitor endpoint.  This endpoint gets called every ten minutes by an external system to make sure that this service is functioning properly.  Unfortunately we had an incident where our external system that calls this monitor endpoint every ten minutes stopped calling it.  I would like to setup a rule that will fail when this scenario occurs. 

 

Here is what I have tried that did not work:

1) I setup a rule with the following details:

      Overview

        Type = Business Transaction Performance (load, response time, slow calls, etc)

        Use the last 20 minutes of data when evaluating the Health Rule

      Affects

        Selected Business Transactions

          /Monitor - MyService

      Critical Condition

        If all of the following conditions are met

          Sum of Calls per Minute is <Specific Value 1

        Health Rule will violate if the conditions above evaluate to true for:

          Any node

 

2)  I decided to try to look at the data so I went to the Metric Browser.

When I use the Metric Browser to look at:

  Business Transactions

    MyService

      /Monitor

        Calls per Minute

I don't see any information in the graph.  I guess this means that since the business transaction isn't getting called at all then the Sum of Calls per minute is null which can't evaluate.  

 

 

Can anyone help me setup a rule that will let me know when the monitor endpoint for my service is not getting called?

 

Re: ASP.Net WebForms Business Transactions

$
0
0

That's what I setup for one of our applications and will have to manually identify all BTs.  I was just wondering if this was the best practice for ASP.Net WebForms or if there was something I was missing.

Android gradle dynamic VersionCode sync issue

$
0
0

In our project we are trying to add the AppDynamics SDK.

The versionCode will be determined dynamically based on Git.

 

For example:

http://ryanharter.com/blog/2013/07/30/automatic-versioning-with-git-and-gradle/

 

But using this way, syncing the gradle file, the AppDynamics plugin adeum will say:

"Error: Cause: adeum: Unable to determine versionode. Have you defined versionCode in your AndroidManifest.xml file?"

 

This won't be displayed, if we use a static integer as versionCode, instead of dynamically getting from git. 

Is there any solution for this?

 

Thank you in advance.

Question on JavaScriptAgent install instructions

$
0
0

Hi,

In order to configure the javascript agent, we need to set the value for adrum-app-key in 

<script>window['adrum-start-time'] = new Date().getTime();window['adrum-app-key'] = 'EUM-AAB-AUA'</script><script src='Scripts/lib/adrum.js'></script>

 

 

I see that this key is unique for each application, can we have this as same if the versions of html page installed in different applications or environments are the same?

Business Transaction Autodiscovery

$
0
0

When using the autodiscovery method for capturing business transactions, we currently throw nothing out which means we get stuck with one off start up calls that take up slots and don't go away.

 

We would like to age these transactions out but is there a threshold we can set too? For instance in our test environment we might not test for a month or more but don't want to lose meaningful BTs. If a BT hits a specified calls/min level, can it be exempted from aging out? Or, a minimum calls/min level is needed to qualify as a BT in the first place?

 

Overall, we are looking to spend less time managing the BT identification by hand so any hints along that path would be helpful.

Re: How to include a data table (or list) in a dashboard

$
0
0

Hi,

 

Please let me know more about this as i want to have data in tabular format for example data for last half an hour . 

 

please help.

 

thanks,

varsha


Controller URL not accesable

$
0
0

Hi,

 

My controller and databases servers are working fine but I am not able to open my Contoller UI.

 

and I see the following error when I try to reach the URL locally.

 

[root@myscislin-0069 ~]# curl -i localhost:8090
HTTP/1.1 500 Internal Server Error
X-Powered-By: Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2.2 Java/Oracle Corporation/1.7)
Content-Length: 0
Date: Thu, 07 Jan 2016 10:04:44 GMT
Connection: close

 

Can anyone let me know what may be the issue and how can I overcome it. Thanks for your help.

 

Thanks,

Sri Naresh

 

Using Regular Expression in Health Rules

$
0
0

Hi,

What is the logical operator for AND so the line below works. See also screenshot for details

uklnxpnl001[3478] AND SCLCASEPRDas0[34]

 

Regards,

 

Xander

Excluding HTTP exceptions in Node.js

$
0
0

The docs for exception detection are Java centric, and I'm unable to figure out how to suppress an exception in node.js.  

 

Here is the exception from the debug log:

appdynamics v4.1.8.0 (07-00-2016 18:01:50.589): { type: 'BTDETAILS',
btDetails:
{ btInfoRequest:
{ requestID: '375523',
messageID: 0,
btIdentifier: { type: 'REGISTERED', btID: 'XXXXXX' } },
btMetrics:
{ isError: true,
timeTaken: 2193,
backendMetrics:
[ { category: 'read',
timeTaken: 1571,
numOfCalls: 2,
numOfErrors: 0,
minCallTime: 1571,
maxCallTime: 1571,
backendIdentifier:
{ type: 'REGISTERED',
registeredBackend: { exitPointType: 'EXIT_HTTP', backendID: '65399' } } },
{ category: 'write',
timeTaken: 0,
numOfCalls: 1,
numOfErrors: 0,
minCallTime: 0,
maxCallTime: 0,
backendIdentifier:
{ type: 'REGISTERED',
registeredBackend: { exitPointType: 'EXIT_DB', backendID: '65398' } } },
{ category: 'read',
timeTaken: 617,
numOfCalls: 2,
numOfErrors: 2,
minCallTime: 617,
maxCallTime: 617,
backendIdentifier:
{ type: 'REGISTERED',
registeredBackend: { exitPointType: 'EXIT_HTTP', backendID: '65479' } } } ] },
btInfoState: 'RESPONSE_RECEIVED',
errors:
{ exceptionInfo:
{ exceptions:
[ { root:
{ klass: <Buffer 48 54 54 50 20 45 72 72 6f 72>,
message: <Buffer 45 72 72 6f 72 20 63 6f 64 65 2c 20 34 30 31 2c 20 6e 6f 20 66 75 72 74 68 65 72 20 64 65 74 61 69 6c 73>,
stackTraceID: 0 },
count: 2 } ],
stackTraces:
[ { elements:
...
] } ] } } } }

 

The errors.exceptionInfo.exceptions.root.klass translates to "HTTP Error"

The errors.exceptionInfo.exceptions.root.message translates to "blah blah blah 401 blah blah blah"

 

How do I get AppD to stop reporting this exception?  I don't own the backend that's returning the HTTP 401.  My code handles the error gracefully.  I've tried configuring exception reporting by excluding 401 in the HTTP section and excluding "HTTP Error" in the exception section.

 

Thanks for any insight,

Ryan

Splitting Transactions Conditionally

$
0
0

I am working on configuring business transactions for an application that uses one constant URI for all of its pages.  I have had some success splitting transactions using a custom expression on the HttpRequest object.  However, there are some occasions where the site passes my target parameter with a different name.  Is there any way to add logic to the expression so I can perform a check to see which parameter exists and select the one that does?

 

For example, one of the following expressions will return my desired value from the HttpRequest depending on the page displayed.

${Form.Get(parmName1).Split(char[]/_).[1]}

${Form.Get(parmName2).Split(char[]/_).[1]}

 

I would like to be able to do:

if ${Form.Get(parmName1).Split(char[]/_).[1]} exists

then return ${Form.Get(parmName1).Split(char[]/_).[1]}

else return ${Form.Get(parmName2).Split(char[]/_).[1]}

 

Is logic possible inside of custom expressions?  Thanks for the help.

internal error in DB Collector to MS SQL Server on dashboard tab - wait states

$
0
0

I get two errors that popup in red boxes, "The server encountered an internal error () that prevented it from fulfilling this request." and "Error occurred while getting wait state information."

 

I have SQL Sever on the same machine as my collector and controller. The connection itself seems fine and I get a graph with data for Load and Time Spent in Database.  The Heath indicator is green. Under events there is nothing that corresponds. Only the Top 10 SQL Wait States panel seem to be have trouble, although when I try to veiw the Queries tab it just says Loading... for longer than I'm willing to wait. To connect to SQL Sever I'm using the sa account which I believe has all permissions enabled.

 

I'm new to AppDynamics.  I'm not sure which server is being referred to in this message and I have no idea where to look next to solve my problem.

 

Has anyone seen this before? 

Viewing all 1667 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>