Discussion Feed
10-27-2020
10:54 AM
What kind of alerts and data behavior can I expect during SaaS maintenance?
AppDynamics makes new releases available every 6 weeks. Our goal is for all customers to be on the latest release so they have access to the latest features and fixes.
Note : You must have a current contract for access to SaaS maintenance.
Table of Contents
What do I need to know about build configuration?
When are the maintenance windows in my region ?
What downtime should I expect during maintenance?
Where can I view the SaaS service status?
How does AppDynamics alert customers of maintenance?
What is AppDynamics’ Maintenance Alert Policy?
What if an upgrade or maintenance can’t be completed?
What if I have questions or need help?
Related Links
What do I need to know about build configuration?
AppDynamics will strive to upgrade your pre-production Controller before your production Controller. For older Controller environments with mixed pre-production and production Controllers in the same environment, we are not always able to upgrade pre-production first.
When are the maintenance windows in my region?
The following table shows all maintenance windows, by region.
Zone
Pacific Standard Time
Local Time
Days
US
9pm - 12am
12 - 3am EST
Sunday through Thursday
Europe
4 - 6pm
12 - 2am GMT
Monday through Friday
Asia
10am - 1pm
2 - 5am JST
Monday through Friday
India
11:30am - 2:30pm
11pm-2am IST
Monday through Friday
The typical maintenance window is 2 hours.
What downtime should I expect during maintenance?
There is typically no downtime of the Controller during upgrade maintenance. Logged-in user sessions will expire and force users to sign in again.
There is not typically a gap in metric data — however, customers may occasionally see up to a 2-minute gap when the old and new Controller instances are swapped out.
Where can I view the SaaS service status?
The SaaS Service Status displays data related to your upgrade schedule . You can find it at appdynamics.com/support , by clicking the Service Status button in the top right corner of the page. See Where can I view the SaaS Service Status? for step-by-step instructions.
Note: To see SaaS service status details, you need to be:
Associated with a license
Logged in to www.appdynamics.com
How does AppDynamics alert customers of maintenance?
Customers can be notified in two ways:
Email
SaaS Status page
Customers register to opt-in or opt-out for email notifications at the individual level. Here are the instructions for how to opt-in .
What is AppDynamics’ Maintenance Alert Policy?
For planned maintenance, AppDynamics uses the following maintenance and upgrades policy to alert customers :
Notify customers a minimum of 48 hours in advance of regular maintenance. The only exception is for emergency maintenance.
Notify customers before and again after the maintenance.
In the event of an issue during the maintenance window, the AppDynamics operations team will notify you within that timeframe, rather than waiting until the window closes.
What if an upgrade can’t be completed?
AppDynamics operations team will notify you if an upgrade needs to be re-scheduled, or if an upgrade is attempted and could not be completed.
What if I have questions or need help?
If you have questions or concerns, please create a ticket on the Support Portal, at https://www.appdynamics.com/support/.
Related Links
Blog : The Top 5 Advantages of SaaS-based Application Performance Management
SaaS Controller Secure Connections
Where can I view the SaaS Service Status?
How do I subscribe or unsubscribe from Product email notifications?
... View more
- Find more articles tagged with:
- maintenance
- SaaS
08-07-2020
02:47 PM
5 Kudos
What do I need to consider when designing a custom dashboard?
A custom dashboard lets the user display a specific set of metrics and data points on a single screen. Custom dashboards can show application, server, and database metrics reported by AppDynamics Agents.
By presenting metrics of interest to a specific audience, custom dashboards offer a supplement to AppDynamics' built-in dashboards.
FAQ
How can I create a sample custom dashboard?
What are some best practices when designing custom dashboards?
What are some things to avoid?
What kinds of custom dashboards can a user create?
Can a read-only user edit a custom dashboard?
Can a user change a dashboard's name and metric series' color?
How can I learn more?
How can I create a sample custom dashboard?
Use the JSON file in each of the following links to create a custom dashboard.
Dev teams
Ops teams
Ops management
QA teams
Browser real-user monitoring
Application key metrics
Business transaction reports
What are some best practices when designing custom dashboards?
C onsider the following approach:
Identify the list of key metrics that the dashboard should display.
For each metric, determine the appropriate widget to render the metric data.
Sometimes a chart representation works best. Other times a metric value will be sufficient. Some data is best displayed in a pie chart.
Design health rules that represent the health of business transaction, service or subcomponent.
Consider the appropriate health rule thresholds carefully to avoid false alerts, especially for critical violations.
Note that unlike alerts, status lights do not indicate which condition or which node, tier or business transaction violated the health rule.
Health rules that will be used for status lights, therefore, need to be specific to a given node, tier or business transaction.
Design the dashboard layout.
Consider how to fit all the metrics on the dashboard, and which layout best presents the data.
Pick a color scheme, not just for visual appeal, but also to make the data stand out.
Once built, plan for a tuning period.
For example, the time range might need to be adjusted, or health rule thresholds changed, to avoid false alerts.
After encountering a production issue, evaluate each dashboard, and identify what additional metrics should be captured, and what changes should be made, in case the same or a similar issue happens again. If needed, design additional dashboards.
Do create dashboards that watch metrics associated with previous production issues.
What are some things to avoid?
The best dashboards have enough metrics to be informative, but not so many as to cause performance issues or become confusing to the users. The exact number of metrics depends on your team. Additionally:
Don't make dashboards larger than your screen resolution. A custom dashboard that requires scrolling is not ideal.
Don't set the refresh timing to 60 seconds as 5 minutes is usually sufficient.
What kinds of custom dashboards can a user create?
Different custom dashboards are of interest to different teams:
Executive Dashboards - The executive dashboards should include a number of status lights for each key user or system journey step health and performance, as well as any KPI or SLA metrics. These dashboards also show any business metrics or impact information.
Operations Dashboards - The operations dashboards should include a number of status lights for each service (tier and/or Top BT), to provide a global overview of the health of the application infrastructure. These dashboards can also contain an Events List.
Application Dashboard - These dashboards target an application and show the health of key business transactions, highlighting call volumes, response times, and error rates (for a given application or tier). It also uses status lights to indicate the health of each top business transaction.
Service Dashboards - These dashboards each target an individual service and show key health metrics for the service (tier), including the call volume, response time and error rate for the service overall as well as for important API calls. The service dashboard can also show CPU and memory consumption as well as garbage collection statistics for each node in the tier. A corresponding status light that provides a visual health indicator can accompany each metric.
Can a read-only user edit a custom dashboard?
Yes, if the read-only user is given permission to edit a custom dashboard on the Administration page.
As an Admin, click the gear icon in the Controller UI.
Select Administration from the drop-down menu.
Click on the Roles tab.
Select the read-only user's name from the list of usernames on the left.
Click on the Custom Dashboards tab.
Use the checkboxes to allow the read-only user to view, edit, or delete custom dashboards.
Click the Save button.
Can a user change a dashboard's name and metric series' color?
Yes, anyone with permission to edit custom dashboards can edit the name and colors.
Click on the Dashboards & Reports tab in the Controller UI.
Click on the pencil icon.
Select Edit Dashboard Properties from the drop-down menu. Edit dashboard name: Edit metric series colors:
How can I learn more?
If you have an active AppDynamics account, visit AppDynamics University and enroll in the "Custom Dashboards and Dashboard Templates" self-paced course to learn how to build your own custom dashboards. Standard self-paced courses are available to Standard University subscribers, and are available at no cost to AppDynamics customers.
AppDynamics also offers the "APM223 - Proactive Monitoring and Dashboards" instructor-led course for more insight on creating dashboards, reports, and widgets. Instructor-led courses are available to Premium University subscribers; contact your Account Manager for pricing.
Visit the AppD University Group Hub for University FAQs and how-to articles.
Additional Resources
Blog: 7 steps to great APM dashboards by Justin Vaughan-Brown
Blog: AppD on AppD: Scaling Our Custom Dashboards Platform by Mandar Khoje
Accessing your performance data with the AppDynamics REST API by Dustin Whittle
Join the conversation on the Dashboards discussion board
... View more
- Find more articles tagged with:
- metrics
Labels:
07-03-2018
01:05 PM
Hi Luke,
I'm very sorry for the trouble. It looks like your comment might have been originally caught in the spam filter, but that issue has been resolved.
As for the difficulty with installing a PHP Agent, I have asked the Moderators to do some troubleshooting and post a reply.
In the meantime, here is a link to our documentation on how to Resolve PHP Agent Installation Issues as well as a video that walks you through configuration steps: Getting Started with the Download Wizard .
I hope that helps!
... View more
06-27-2018
03:08 PM
To make sure you have all of the information you need when troubleshooting Agent issues, we've indexed several articles below that will guide you through how to resolve common issues and answer frequently asked questions.
Table of Contents
Agents not reporting to the Controller
Difficulty installing, starting, or upgrading an Agent
Agent crashes and overhead, timeout issues, and errors
General functionality
Agents not reporting to the Controller
If your Agents aren’t reporting data to the Controller, we have multiple articles to help you resolve this issue for different types of Agents:
Why aren't Application Agents reporting to the Controller?
Why isn’t the Machine Agent reporting?
How do I resolve an Agent connectivity issue related to the "SSLEnabled" property?
Why is the Java Agent not reporting to the Controller?
All Java Agents have been registered but are reporting status as down. What do I do?
How to resolve Analytics Agent failing to connect to the Controller registration endpoint
How to troubleshoot missing custom metrics or extensions’ metrics in the Controller
Documentation: Connect the Controller and Agents
Documentation: Dynamic Language Agent Proxy
Documentation: Machine Agent FAQs and Troubleshooting
Difficulty installing, starting, or upgrading an Agent
Users who are installing a new Agent, upgrading an existing Agent or trying to resolve an Agent startup failure should follow the steps outlined in these resources:
Troubleshooting Agent Issues - Installation and Start-up
How to resolve errors while deploying the Java Agent
AppDynamics Upgrade Checklist For Any Release (Note: This is a good resource for users who are upgrading to the latest version of AppDynamics.)
Documentation: Troubleshooting Java Agent Issues
Documentation: Resolve .NET Agent Installation and Configuration Issues
Documentation: Troubleshooting Analytics Agents Issues
Agent crashes and overhead, timeout issues, and errors
The resources below can help you troubleshoot issues pertaining to crashes and increased overhead, timeouts, and errors.
Agent overhead or crash
Database Agent Resource Overhead
Timeout issues
Errors pertaining to account keys
General functionality
If you have questions related to Agent functionality that don’t fall into the categories above, we may have addressed them in the resources below.
Troubleshooting Agent Issues - FAQs Note: This article addresses several functionality-related questions, including export capabilities and assigning Agents to multiple applications
How do I delete an abandoned Machine Agent?
What is the best way to set up alerts for App Agent and Machine Agent status?
Documentation: Troubleshooting Analytics Agents Issues Note: In addition to touching upon installation issues, this document describes specific scenarios you may encounter with workarounds.
Last Updated: 3/28/19
... View more
- Find more articles tagged with:
- .NET
- analytics
- connectivity
- crash
- Installation
- Java
- machine agent
- metrics
- troubleshooting
- upgrade
Labels:
06-21-2018
01:40 PM
Hello,
Here is more information on .NET including an example XML config file:
https://community.appdynamics.com/t5/Knowledge-Base/Configure-Custom-Correlation-for-NET-Applications/ta-p/32304#implementation
Thanks!
Erin
... View more
06-21-2018
01:18 PM
Hello,
Please do not post private or sensitive information on this public forum.
Your posts included log files and access keys which have been removed. Please share this information in direct private messages instead of publicly.
See here for more information: Keep Your Log Files Safe!
Thank you!
... View more
06-20-2018
07:42 AM
Updated 9/28/18
The following article is intended for users who wish to implement custom correlation between .NET applications/tiers using the AppDynamics' .NET App Agent version 3.8 and higher.
You can also implement custom correlation using the AppDynamics' .NET Core Microservices Agent version 4.5.2 and higher by following slightly different steps.
For information regarding the Java Agent, see here: Custom Correlation for Java Applications
Contents:
What is Custom Correlation?
When is Custom Correlation Needed?
Use Cases
Implementation
Steps to Configure Custom Correlation
Identify the Producer and Consumer Methods to Instrument
Configure the Producer
Configure the Consumer
Configure Custom Correlation for the .NET Microservices Agent
Restart the coordinator and the instrumented applications
What is Custom Correlation?
Custom correlation enables the user to configure AppDynamics to correlate transactions across tiers, or across parent-child threads in complex multithreaded applications when the default detection mechanisms are not capable of auto-correlating.
Correlation establishes the relationship between exit points on upstream tiers to entry points on downstream tiers. For transaction correlation to work, you must install the .NET Agent on both tiers.
To correlate a distributed invocation, the AppDynamics agent must propagate a unique correlation key by using the extension points of the distributed protocol or by decorating the payload.
The AppDynamics agent needs to know what methods to measure. When defining a custom correlation consider:
How to propagate the correlation key.
What exactly you want to measure.
When is Custom Correlation Needed?
Use custom correlation when monitoring applications that use unsupported frameworks and protocols.
Use custom correlation XML configuration for business transaction correlation across tiers when the following conditions exist:
Producer
There is an easily-defined method call to configure as an exit point on the producer.
There is a method call where one of the parameters or a return value exposes the payload object, and that method call occurs during execution of the exit point on the producer.
Consumer
There is an easily-defined method call to configure as a POCO entry point on the consumer.
There is a method call where one of the parameters or a return value exposes the payload object.
In custom correlation, the producer refers to the originating tier that makes the exit call. The consumer refers to the downstream tier that is the destination for the producer's exit call. If the .NET Agent automatically discovers the exit point for the transaction on the producer, you don't have to manually configure a producer. If it discovers the entry point on the consumer, you don't have to manually configure a consumer.
Use Cases
For custom correlation on communication protocols between nodes such as HTTP and JMS:
Add transaction contextual information for remote calls.
For example, AppDynamics can add transaction context onto HTTP headers and JMS message properties.
For custom correlation within a node:
For ESB job objects and ExecutorService thread workers, save the transaction context against thread hand-offs so they can be picked up when async segments start.
Implementation
To implement custom correlation, use XML configuration to specify how to instrument the application. The primary factors governing the exact configuration are the data structures and the sequence of code execution. Use the attached sample XML configuration as a starting point.
NOTE: For AppDynamics version 3.8, the correlation element does not inherit instrumentation element configuration from parent producer or consumer elements. Configure a different method in the correlation Instrumentation element for correlation to work. In most cases, the producer and consumer reside on separate machines, so they would have separate configuration files. The attached sample file demonstrates two standalone applications on the same machine: Producer.exe and Consumer.exe.
Steps to Configure Custom Correlation:
Before you begin: Install and configure the .NET Agent on both the producer and the consumer. If the producer is a Windows service or standalone application that does not implement any of the frameworks we instrument by default, configure a POCO entry point for a class/method in your service for the agent to begin instrumentation.
Identify producer and/or consumer methods to instrument.
Configure a custom exit point on the producer and/or POCO entry point on the consumer.
Configure the producer to add the correlation metadata to the exit point.
(Optional) Configure and identify validation methods on the producer.
Configure the consumer to read the entry point.
(Optional) Configure and identify validation methods on the consumer.
Restart the coordinator and instrumented applications.
To identify producer and consumer methods to instrument:
Before you configure custom correlation, you must identify the methods to instrument on both the producer and the consumer.
On the producer identify the following:
An exit point method that calls to the consumer.
A payload method that executes within the exit call method execution and whose parameters or return value expose the payload object.
On the consumer:
A POCO entry point method that handles the producer's exit call.
A payload method whose parameters or return value expose the payload object.
Currently, for the .NET Agent, the instrumentation method (exit or entry point) and the payload methods must be different methods.
To configure the producer:
Configure the agent properties in the config.xml file in the agent c onfig directory. See .NET Agent Directory Structure. All custom correlation configurations go inside the activities element, a child of the App Agents element. See .NET Agent Configuration Properties.
Configure the exit point for the producer in the producer Instrumentation element.
Configure the payload method in the correlation Instrumentation element.
The following is a sample a ctivities element with a p roducer element:
<activities> <producer> <!-- Configure the exit point. --> <instrumentation> < class -name>Producer.IdentifyTransaction</ class -name> <method-name>Test</method-name> <match-type>MATCHES_CLASS</match-type> <param-types>Producer.IdentifyTransaction</param-types> </instrumentation> <identifiers> <identifier name= "IdentifyTransactionTest" > <data-gatherer-type>INVOKED</data-gatherer-type> <getter-chain> this </getter-chain> <user-defined-name>IdentifyTransactionTest</user-defined-name> <transformer-type>USER_DEFINED_NAME</transformer-type> </identifier> </identifiers> <correlation> <!-- Configure the payload method. --> <instrumentation> < class -name>Producer.IdentifyTransaction</ class -name> <method-name>TestCorrelation</method-name> <match-type>MATCHES_CLASS</match-type> <param-types>Producer.IdentifyTransaction</param-types> </instrumentation> <payload-pointer> <data-gatherer-type>POSITION</data-gatherer-type> <position> 0 </position> <getter-chain> this </getter-chain> <transformer-type>GETTER_METHODS</transformer-type> </payload-pointer> <payload-operation> <access-type>method</access-type> <access-method>setCorrelationKey</access-method> <param-types>String</param-types> </payload-operation> </correlation> </producer> </activities>
To configure the consumer:
Configure the agent properties in the config.xml file in the agent c onfig directory. See .NET Agent Directory Structure. All custom correlation configurations go inside the activites element, a child of the App Agents element. See .NET Agent Configuration Properties.
Configure the entry point for the producer in the consumer Instrumentation element.
Configure the payload method in the correlation Instrumentation element.
The following is a sample activities element with a consumer element:
<activities> <consumer identify-transaction= "true" > <!-- Configure the entry point. --> <instrumentation> < class -name>Consumer.IdentifyTransaction</ class -name> <method-name>Test</method-name> <match-type>MATCHES_CLASS</match-type> </instrumentation> <correlation> <!-- Configure the payload method. --> <instrumentation> < class -name>Consumer.IdentifyTransaction</ class -name> <method-name>TestCorrelation</method-name> <match-type>MATCHES_CLASS</match-type> </instrumentation> <payload-pointer> <data-gatherer-type>POSITION</data-gatherer-type> <position> 0 </position> <getter-chain> this </getter-chain> <transformer-type>GETTER_METHODS</transformer-type> </payload-pointer> <payload-operation> <access-type>method</access-type> <access-method>getCorrelationKey</access-method> </payload-operation> </correlation> </consumer> </activities>
Configure Custom Correlation for the .NET Microservices Agent:
You can implement custom correlation configuration for the .NET Core Microservices Agent in much of the same way as instructed above. The difference is that the location of the XML configuration goes into the AppDynamicsConfig.json file and not the config.xml file.
Configure the file that contains the custom correlation XML in the AppDynamicsConfig.json file. NOTE: The supplied file name can contain an absolute or relative path. If the path is relative (or only a file name is supplied), the location is resolved relative to the AppDynamicsConfig.json file.
{
"controller" : {
...
},
"application" : {
...
},
"instrumentors" : {
"customCorrelationConfig" : "custom-correlation.xml" ,
"enable" : [ ... ],
"disable" : [ ... ]
},
....
}
See AppDynamicsConfig.json File for a sample .json file.
Populate the custom correlation configuration file:
<?xml version= "1.0" encoding= "UTF-8" standalone= "no" ?>
<activities>
<consumer identify-transaction= " true " >
<instrumentation>
< class- name>Application.Program</ class- name>
<method-name>Method</method-name>
<match-type>MATCHES_CLASS</match-type>
</instrumentation>
<correlation>
....
</correlation>
</consumer>
</activities>
The XML inside the <activities> element has the exact same schema as the existing custom correlation XML found under the <activities> element in config.xml (MSI agent).
Restart the coordinator and the instrumented applications:
After you complete the configuration on the producer and consumer, you must restart the AppDynamics.Agent.Coordinator service and instrumented applications.
Published on 6/5/2015.
Updated for 4.5.2 on 9/28/2018.
... View more
- Find more articles tagged with:
- .NET
- Custom Correlation
- microservices
Labels:
06-08-2018
09:25 AM
I have updated this article to remove the old outdated information and keep everything applicable to 4.4 and higher.
... View more
03-08-2018
08:43 AM
2 Kudos
Table of Contents
Use Cases
Problem
Solution
Example API script
Many of our customers use the Controller Metrics and Events API to retrieve metric data information and information on various types of activities in a monitored environment, including Controller events. This article outlines a customer's use case and includes a generalized example script.
Use Case
The customer is using the AppDynamics metrics API every minute to load the metric data from the Controller to an external system. The customer has multiple Controllers in the AppDynamics SaaS environment and hosts hundreds of applications. They load dozens of metrics from each application.
The customer is using the API for the following use cases:
Use a third-party tool for troubleshooting in cases where they need 1-minute granularity for longer than 24 hours. For example, the customer often needs to perform root cause analysis but does not get to it until a few days after the incident occurred.
Use third-party tools to calculate percentiles, consolidate metrics across different controllers at the app or tier level as required and create alerts.
Use a third-party tool to retain data for several years. Since their peak periods occur just once per year, customers might need data to be retained for 3 years to provide meaningful comparisons and plan their future deployments better.
Problem
The customer uses a set of python scripts to retrieve the metrics. They consistently run into timeout errors and worry that the APIs are not scaling to their requirements.
Our team engaged with the customer and offered to review their process and scripts. Upon review, we found that the python script opens 1000+ of concurrent connections to the Controller. There are only 10 threads dedicated to processing the REST requests on the server side. As a result, the threads wait indefinitely and then timeout.
Solution
Use a thread pool to invoke the REST APIs.
This way the customer will have control on the concurrency. This should help to sustain 10 concurrent requests on the server side, getting the best performance.
Decrease the frequency of the job.
For example, run the job every 5 minutes rather than every one minute.
We recommend restricting the number of Metric data points returned per REST call to less than 50K.
Metric REST API Example
A RESTful API is an application program interface (API) that uses HTTP requests to GET data. The following section gives some examples of wildcards usage on Metric Data REST API. (This section scrolls horizontally.) The same example is included in the attached Metric REST API Example document for easy copy and paste.
URL: /controller/rest/applications/100/metric-data?metric-path=<metric-path>&time-range-type=BEFORE_NOW&duration-in-mins=1&rollup=true Method: GET URL Parameters: metric-path: Business%20Transaction%20Performance%7C%2A%7C%2A%7C%2A%7C%2A%7C%2A%7C%2A time-range-type: BEFORE_NOW duration-in-mins: 1 rollup=true Success Response: Response headers: HTTP/1.1 200 OK Server: AppDynamics Content-Type: application/xml Error Response: REST endpoints can fail is many ways. From unauthorized access to wrongful parameters etc. Listed few error types: HTTP/1.1 403 Forbidden Server: AppDynamics Content-Language: Content-Type: text/html Incorrect Parameters: Data type ("text"|"bin"|""): text Response code: Non HTTP response code: java.net.URISyntaxException Response message: Non HTTP response message: Malformed esAPPDe Sample Request Call: GET https://hostname/controller/rest/applications/100/metric-data?metric-path=Business%20Transaction%20Performance%7C%2A%7C%2A%7C%2A%7C%2A%7C%2A%7C%2A&time-range-type=BEFORE_NOW&duration-in-mins=1&rollup=true Cookie Data: JSESSIONID=c45eeb9747d8aa24338bc2b973cf; X-CSRF-TOKEN=9a3dddf1c54ebca291c46ab10522faa7bae7c477 Request Headers: Connection:keep-alive Accept-Language:en-US,en;q=0.5 Accept-Encoding:gzip, deflate User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: application/json, text/plain, */* Authorization: Basic Q2FwaXRhbE9uZS1Qcm9kJTQwQ2FwaXRhbE9uZS1Qcm9kOnRlc3QxMjM= X-CSRF-TOKEN:9a3dddf1c54ebca291c46ab10522faa7bae7c477 Sample Response Data: <metric-datas><metric-data> <metricId>1578650</metricId> <metricPath>Business Transaction Performance|Business Transactions|APPDInterface_PROD/APPDWebServices|BVLInterfaceWS2.Process|Individual Nodes|IP-200-254-23-APPDInterface_PROD/APPDWebServices|Average Block Time(ms)</metricPath> <metricName>BTM|BTs|BT:23889|Component:617|Average Block Time (ms)</metricName> <frequency>ONE_MIN</frequency> <metricValues> <metric-value> <startTimeInMillis><timeInMilliseconds></startTimeInMillis> <value>0</value> <min>0</min> <max>0</max> <current>0</current> <sum>0</sum> <count>0</count> <standardDeviation>0.0</standardDeviation> <occurrences>0</occurrences> <useRange>true</useRange> </metric-value> </metricValues> </metric-data> </metric-datas> Metric Calls example of wildcards at various level: 1.Six wild card (|*|*|*|*|*|*) <metricPath>BusinessTransactionPerformance|BusinessTransactions|APPDInterface_PROD/APPDWebServices|BVLInterfaceWS2.Process|IndividualNodes|IP-200-254-23-APPDInterface_PROD/APPDWebServices| METRIC-NAME</metricPath> 2.Five wild card (|*|*|*|*|*) <metricPath>BusinessTransactionPerformance|Business Transactions|APPDInterface_PROD/APPDWebServices|BVLInterfaceWS2.Process|IndividualNodes | METRIC-NAME</metricPath> 3.Four wild card (|*|*|*|*) <metricPath>BusinessTransactionPerformance|Business Transactions|APPDInterface_PROD/APPDWebServices |BVLInterfaceWS2.Process|METRIC-NAME</metricPath> 4.Three wild card (|*|*|*) <metricPath>Business TransactionPerformance|Business Transactions| APPDInterface_PROD/APPDWebServices|METRIC-NAME</metricPat> 5.Two wild card (|*|*) <metricPath>BusinessTransactionPerformance|Business Transactions |METRIC-NAME</metricPath> 6.One wild card (|*) <metricPath>BusinessTransactionPerformance|METRIC-NAME</metricPath> Request to keep metrics under 50K: https://<HostName>/controller/rest/applications/<ApplicationID>/metric-data?metric-path=Business%20Transaction%20Performance%7C%2A%7C TOMCAT-APP %7C Transactions.SA %7C%2A&time-range-type=BEFORE_NOW&duration-in-mins=1&rollup=true If REST Call is fetching more than 50K metrics, you can replace wild characters with hard-coded values (e.g. TOMCAT-APP & Tranaction.SA), which will control metric count.
Find a test API script on Github here: Appdynamics / metric-loader
... View more
- Find more articles tagged with:
- metrics
Labels:
02-26-2018
08:07 AM
Contents:
Installing a new Agent
Upgrading an existing Agent
Resolve start-up failure
Installation
Q. I get the following error message when installing a Machine Agent. How should I proceed?
Failed to find Premain-Class manifest attribute in /usr/share/appdynamics/machineagent.jar Error occurred during initialization of VM
A. The error message shows that the Machine Agent jar was used as a Java Agent.
>java -javaagent:d:\AppDynamics\installs\3.5.6\MachineAgent\machineagent.jar -version Failed to find Premain-Class manifest attribute in d:\AppDynamics\installs\3.5.6\MachineAgent\machineagent.jar Error occurred during initialization of VM. Agent library failed to init: instrument
Verify the command that is being used to start the Machine Agent. Follow the documentation to Install the Machine Agent. Open a separate command prompt and start the Machine Agent using java -Dmetric.http.listener=true -jar machineagent.jar command.
Q. Is there a way to install the appDynamics database agent without the wizard, such as simply configuring the installation XML files? I want to monitor a client but I am having trouble when installing the agent. I cannot log in to the DB from outside the network and opening up the listener port on the DB for me right now is an issue. Is there a workaround?
A. You do not necessarily have to install the Database Agent on the database server. The Database Agent can reside on any server as long as that server can communicate to the database host. See Database Visibility System Requirements.
Q. I'm having trouble installing a PHP Agent. What steps should I take?
A. After PHP Agent installation there are a few cases when the agent does not report to the Controller. Use the following article for basic troubleshooting steps to verify the installation and place the agent configuration files in proper place. PHP Agent installation troubleshooting guide.
Q. Is it possible to deploy an agent using Puppet?
A. Every deployment is different, so this task doesn't lend itself to one master Puppet script maintained by AppDynamics. However, here is a sample that can help you get started on your own Puppet module. Agent deployment using Puppet.
Upgrade
Q. What are the steps to upgrade a mobile agent?
A. For iOS and Android, follow these steps: Upgrade iOS SDK and Upgrade the Android Mobile Agent
Q. Where can I find information on how to upgrade an agent?
A. The following documentation links will walk you through the requirements and steps for upgrading an agent.
Upgrade the .NET Agent
Upgrade the Node.js Agent
Upgrade the Java Agent
Upgrade the PHP Agent
Upgrade the Python Agent
Upgrade Analytics Agent
Upgrade the Database Agent
Upgrade the Machine Agent
Upgrade the Apache Agent
Start-Up
Q. My Analytics Agent fails to start and throws the following error message. What steps should I take?
java.lang.NoSuchMethodError: io.dropwizard.logging.LoggingFactory.bootstrap
A. This error message is normally caused by the presence of a duplicate jar file from a different version of the Analytic Agent.
It can occur when the user unzips a new version of their machine-agent.zip file into the same directory where the older Machine Agent resides, creating a duplicate presence of the same jar files.
The solution is to first take a backup of the old agent, then delete or rename the Machine Agent, and then unzip the new machine-agent.zip .
Q. My Analytic Agent fails to start and shows the following error message in the logs. What do I do?
Analytics agent failed to connect to the controller registration endpoint.
A. This issue occurs when using a self-signed certificate for the Controller. The Analytics Agent uses a truststore for the JRE to validate the certificate of the connecting server. The truststore does not have self-signed certificates added to the store by default.
Import the client certificate to the JRE truststore, which is located in the Java directory used by the Analytics Agent by default. Example: JAVA_HOME/lib/security/cacerts
More Troubleshooting Guides:
FAQs
Why aren’t Application Agents reporting to the Controller?
Published 2/26/2018
... View more
- Find more articles tagged with:
- Installation
- mobile
- troubleshooting
Labels:
Latest Activity
- Posted AppDynamics SaaS Maintenance and Communications on Knowledge Base. 10-27-2020 10:54 AM
- Posted Custom Dashboard Dos and Don'ts on Knowledge Base. 08-07-2020 02:47 PM
- Got a Kudo for Scalability of the AppDynamics REST API. 06-25-2020 11:48 AM
- Got a Kudo for Do you have a sample custom dashboard for Browser Real-User Monitoring?. 06-08-2020 03:43 AM
- Got a Kudo for Custom Dashboard Dos and Don'ts. 05-27-2020 01:20 PM
- Got a Kudo for Sample custom dashboard for Operations Management. 05-27-2020 01:11 PM
- Got a Kudo for Sample custom dashboard for Development teams. 05-27-2020 12:42 PM
- Got a Kudo for Re: API Question. 04-20-2020 01:54 PM
- Got a Kudo for Sample custom dashboard for Development teams. 10-24-2019 06:54 AM
- Got a Kudo for What static IP addresses does AppDynamics use for Synthetic Monitoring?. 09-27-2019 12:40 AM
- Got a Kudo for Sample custom dashboard for Operations teams. 08-29-2019 01:58 AM
- Got a Kudo for Sample custom dashboard for QA teams. 08-25-2019 12:49 PM
- Got a Kudo for Sample custom dashboard for Operations Management. 08-12-2019 06:47 AM
- Got a Kudo for How do I increase the maximum SQL capture length?. 02-07-2019 06:28 AM
- Got a Kudo for Troubleshooting Agent Issues - FAQs. 12-05-2018 07:57 PM
- Got a Kudo for Custom Dashboard Dos and Don'ts. 10-03-2018 05:06 AM
- Got a Kudo for AppDynamics Installation Prerequisites for Business iQ. 09-13-2018 01:18 PM
- Got a Kudo for Performance and Controller sizing guidelines. 09-13-2018 03:49 AM
- Got a Kudo for How do I measure Agent memory consumption?. 07-12-2018 03:32 AM
- Posted Re: Error while retrieving the agent on Controller (SaaS, On Premise). 07-03-2018 01:05 PM
Community Stats
Date Registered | 03-14-2017 02:45 PM |
Date Last Visited | 08-23-2018 11:36 AM |
Total Messages Posted | 131 |
Total Kudos Received | 46 |