We use this solution for application monitoring and the alerting mechanism.
We have a complex platform infrastructure, deployed in multiple JBoss Fuse, ActiveMQ, and Data Grid servers.
We use this solution for application monitoring and the alerting mechanism.
We have a complex platform infrastructure, deployed in multiple JBoss Fuse, ActiveMQ, and Data Grid servers.
It improves our organization by providing the right alerts, and there are so many parameters to choose from that it allows us to set the right level of alerting mechanism for approximately one hundred and twenty services.
The most valuable feature is the detailed statistics, like the consumer count, for the ActiveMQ server. It is amazing.
It helps to monitor our complex infrastructure very effectively.
Rolling out version upgrades is a difficult job at times.
The primary feature we are looking for is tracking async calls because most of our API are async calls. We cannot view HTTP data.
We require a seamless way to upgrade the controller and .NET agents.
The plugins available are tedious to use and not robust, e.g. URL monitoring.
The application(controller) is very heavy on hardware. This increases our cloud cost.
It should be more intuitive and provide better metrics when drilling down in the UI.
This also goes with URL monitoring script provided by community in Git-Hub and also Plug-In repositories on the AppDynamics site. This plug-in is a little tedious to configure because of the YAML file, and only supports HTTP 200 is alive i.e ping request to PORT 80. There's no script for login automation. Again we managed to write custom scripts here for logging using VBS.
There seems to be a certain disconnect between the AppDynamics development and support teams. Maybe because this is a developer intensive engineering tool and support guys need to understand the framework of .NET or a Java ecosystem and applications that cut across various design architectures. This could be a gap which AppDynamics needs to bridge.
I have used this solution for one year.
The controller slows down with Windows platforms.
Sometimes the MySQL process of the AppDynamics controller takes lot of memory and the controller hangs, despite configuring it as per requirement.
Since the application is agent driven (client side), if we need to upgrade the .NET agents on 100 servers, then we need to visit 100 servers to upgrade or deploy them.
The technical capabilities of people sitting in technical support is questionable. The reason being this is an engineering tool for application instrumentation both for .NET and Java. We have asked queries and also raised some issues. For most of the issues, especially regarding tracking async for .NET API, we never received a solution. Also, some configuration issues where primitive in nature but not resolved immediately.
The technical documentation contradicts technical support.
We started using version 3.8 of the tool, and since then, I don't see many changes on the support side.
No, we didn’t use anything in the past for application monitoring. This was the best out there in the market as per evaluation by market research. The tool was a good fit when we did a POC.
Initial setup was complex.
Setting up configuration to track the metrics is little tedious.
Understanding the metrics numbers is little confusing as they contradict, e.g. The number of API calls displayed on the main screen is different than on the analytics screen.
A normal user would find it difficult to understand and read the metrics, because too much drill down is necessary, and the numbers are difficult to interpret and relate to the problem.
Implementation was done in house. The tool is configuration intensive. A good development and operations team need to know the application dynamics to configure this application.
Since it’s high on budget, it’s recommended to buy a developer license and play around with this tool in a dev environment and then procure for production.
I don't think premium vendor support is required for setup and configuration.
We haven’t reached the stage where we calculate ROI, as we are in the early stages of onboarding customers. We can probably gauge this once we have a sizable number of customers on board, which will take time. Measuring ROI will be calculated by using the API call tracking by customer and also the turnaround time (time saving) in the early stages of development cycle.
The pricing is way too high, especially with the analytics feature and end-user monitoring.
They have separate licensing offerings for development and production.
The best option is to get into an engagement for a few months before procuring this tool.
This is purely an application instrumentation and monitoring tool with good features for business analytics.
It is probably more integrated and works well with Java application, as some features for .NET don't work.
Host the AppDynamics controller on a Linux machine with a medium or high profile. A Windows server machine would show symptoms of disliking it within 2 to 3 weeks of setup.
It is not comparable with infrastructure tools. The plug-in available to track infrastructure-related activities are not stable and not robust.
This review is for AppDynamics Lite.
I had an interesting beginning discussion with AppDynamics. They are a competitor to Dynatrace, Quest Foglight and CA Introscope in the area of J2EE application visibility. They have a product called AppDynamics in both a freeware Lite Version and Enterprise Professional Edition that dig into the JVM and provide analysis and measurements of run-time performance.
The product is agent based. It’s a simple configuration in which you can modify the Tanuki Wrapper (wrapper.conf) to add a small set of parameters for start-up. It includes a web-based console interface which you can evaluate how much time is being spent where in the byte code. It’s pretty standard fair in terms of showing call trees and SQL statements. What I like is that it provides a quick and narrow window to HotSpots in the code so you don’t have to muck around with the interface. It also provides you the control to do deeper profiling (sampling) like Foglight does so that you can get a complete profile (with overhead of course). You can define User Experience thresholds (which they all provide as well), but it’s right there in plain site.
Beware that the freeware version is limited to 30 “Business Transactions” which are identical to starting points of a PurePath. It’s not just Servlet requests. I saw JSP and JS references as well. You can prune them down to account for your 30. You can also rename them. For example, the request (/webapps/blackboard/execute/courseMain) could be renamed Course Home Page. This way you could target your 30 most important pages and limit your profiling to just these 30. Of course this is only a per JVM basis. The enterprise version connects all of the JVMs together so that all tiers and and Continuous monitoring can take place.
There are other features in the Enterprise version which I haven’t been able to evaluate just yet. I will get an Enterprise license shortly. This includes the following features:
Distributed/SOA related bottlenecks
Deadlocks
Payload/Input Data related errors
Memory / GC Behavior Monitoring
Memory Leak Detection
Memory Content Analysis & Accessor Tracking
Object Instance Tracking & Thrash Detection
24/7 Monitoring of Custom Caches
Correlated Event Data (Payload, User Data, Hardware)
Alerts & Notifications
Incident Queue
Incident Workbench
Other workflow related features
How to Set-It Up
First thing you need to do is download the freeware version. Send the zip file to your server that you plan to instrument. Unzip the packages (both the viewer and the agent are in one package). Then you will need to unzip both packages. I took the simple route and set up the agent under (/usr/local/appdynamics) and the viewer under the (/usr/local/appdynamics/viewer) directories.
Modify the Wrapper.Conf
It’s easiest to modify the Tanuki wrapper by adding the following parameters. Make sure to add the host IP for the viewer. In my case, I used the same server which I instrumented, but you do not have to.
wrapper.java.additional.25=-javaagent:/usr/local/appdynamics/javaagent.jar
wrapper.java.additional.26=-Dappdynamics.viewer.host=10.103.66.148
wrapper.java.additional.27=-Dappdynamics.agent.logs.dir=/usr/local/appdynamics/logs
Modify the Catalina.Policy
You will get a Security exception if you don’t add the following into the Catalina.Policy. It took me a solid 20 minutes to figure this one out. Luckily I’ve seen this with Foglight and Dynatrace in the past, so it was easy to overcome.
// AppDynamics Grant
grant codeBase "file:/usr/local/appdynamics/-" {
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.lang.RuntimePermission "exitVM";
permission java.lang.RuntimePermission "loadLibrary";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.net.SocketPermission "localhost:1024-", "accept,listen";
permission java.security.AllPermission;
permission java.io.FilePermission "*", "read,write,execute";
permission java.util.PropertyPermission "*", "read";
permission java.lang.RuntimePermission "getenv.*";
};
What I remember is this free license can be used only for "one instance" for storing few minutes of recent data and not for deploying across your environment. Each user gets only "one license", which is not practical. Once you get to enterprise version, its the same cost as Dynatrace, Introscope and Foglight. Did they recently change the policy?
We use it to monitor the load testing environment.
It has improved our organization with its ability to catch issues quickly and fix them.
The cost is prohibitive.
We are a solution provider and I am a presales engineer. AppDynamics is one of the products that we implement for our clients and have experience with.
At this time, I'm using it for training purposes, for the team.
The features that I like best are the dashboard and Business Journey.
AppDynamics is dealing with a lot of products and technologies, so we need to have clear documentation.
The community support needs to be a little bit better.
In the future, I would like to see the inclusion of better programming language options. This would allow for wider use, and make it more versatile.
I have been working with AppDynamics for about nine months.
AppDynamics is stable and we haven't faced any bugs.
As we are not an AppDynamics end-user, our experience with technical support is different. At the same time, from a support perspective, I have dealt with the AppDynamics community. I would say that support from the community is good enough, although it is not amazing. I think that community support needs to be a little better.
We did not work with another similar solution prior to AppDynamics. We are a Cisco partner, so we keep moving forward with the same technology.
The first time I deployed AppDynamics wasn't very easy because I didn't have much experience with Linux. However, aside from the Linux-related issues, I found it totally easy.
The deployment is really quick, taking just two or three days. However, we need more time for configuration. If the deployment is good then the configuration will take about one more week.
We do the implementation in-house. We have three people who are working with it.
AppDynamics is a good product and I totally recommend it. Once you feel that you have the full journey for your end-users and you are tracking them, it's awesome. Overall, I am very happy with this product.
I would rate this solution a ten out of ten.
In a few clicks, we are able to identify the root cause of performance issues, without any prior knowledge of the application structure nor its components. And this was true for both Java and .NET.
I have not encountered any stability issues so far.
I have not encountered any scalability issues so far.
Technical support is excellent.
We used to use CA APM. We found AppDynamics much more user friendly, easy to spot performance issues, and great unified end-to-end monitoring capabilities.
Initial setup was easy and straightforward.
The product’s licencing policy is competitive. However, properly identify and size your needs to get the best rate.
Properly identify your needs, and allocate the required resources. Otherwise, you might face some scalability issues.
We are waiting for ability to add private locatons feature for Appdynamics synthetic. Now, Appdynamics cannot check internal web resources behind firewall
Deep dive monitoring: It automatically instruments slow performing code components. It facilitates deep-dive component monitoring through deep on-demand diagnostics.
Creation of dashboards and reports: It provides creation of reports by adding standard graph and widgets. It stores all metrics into a database that can be used to drive analytics.
Business transaction tracing: It is very good in usability and tool navigation. The navigation is oriented towards business transactions which makes it extreme user friendly. The end user can navigate from business transactions and quickly navigate to the performance issues in those transactions.
Simple architecture: Agents and a centralised console.
It helps client in finding the detailed errors and exactly which user is facing the same.
It does not support network monitoring, which should be included.
I have used it for six months.
It requires a huge amount of disk memory because of which I was unable to install it earlier on the machine.
Technical support is 5/10.
I have used CA Wily and Dynatrace. Both are good, but this is better in providing solutions.
I have implemented it through a vendor team.
It takes far less time to implement than any other APM tools. The ease of using the tool further reduces the overall implementation time.
The way APM works with the different applications, as well as the various analytics and metrics that it provides.
Right now we are not using it with any other products but we will soon be integrating AppDynamics with ServiceNow.
We just started using it so it is a little too early to tell but we have already seen how APM finds the issues with the different applications, which is very important for us. That has really improved a lot of business areas and business transactions for us.
It has been pretty stable for us so far.
We haven't gotten to the point yet where we have tested the scalability since we just started using it.
We were using Nagios but we wanted more application analysis, which Nagios does not provide.
The setup was not really straightforward. We were able to do it because we got help from AppDynamics. But it was definitely not straightforward.
I would recommend to my colleagues that they start using it as soon as possible for their applications.
Could you clarify, why you didn't use Ansible to deploy 100 agents?