A frequent scenario and a quick root cause analysis with Applicare

This morning when I logged in, I saw an alert from a test environment where we are constantly testing Applicare. I was informed of slowness in JPetStore transaction’s response time in the middle of the night.

 

I drilled down into those transactions and immediately saw that any backends/databases were not the cause of the issue. This helped me immediately eliminate them from the root cause analysis.

 

I could also see from Top Business Transactions that SQLs were getting processed fairly quickly and hence weren’t causing the delay.

 

By focusing on the JPetStore app server and host I could clearly see that # of processes running on the host has gone up during that period. I also saw disk transfers/sec has gone up significantly.

 

That made me look at what processes were running on the machine and which one of those processes was consuming resources. I saw MsMpEng – Windows Security component formerly called Windows Defender is consuming the resources and that caused the slowness in the transactions.

 

This is just an example scenario that we see in real life many times. We could have gotten to the same root cause results many other ways too e.g. from a higher CPU alert right in my inbox that includes top processes at the time of alert. But I choose the longer route to show the root cause analysis process which will come handy in many other scenarios.

Happy Applicare-ing for your apps and systems 🙂

 

How to monitor Microservices?

Microservices are being used every where and for good reasons. They do provide you with many benefits especially improved focus and cutting the time to market. Microservices do bring complexities too. Monitoring microservices is complex because of simply the number of them. Monitoring a user transaction requires monitoring many microservices. Correlating the data from them to identify the root cause manually is a nightmare especially in a complex environment with 100s or 1000s of microservices. This post is not about the pros and cons of microservices but is about how to monitor them easily using Applicare.

We are using an example of two Springboot java microservices – Users and Departments – a user belongs to a department. Every time we go and look up a user using Users microservice it makes a call to Departments microservice to get the department details. I would use Applicare service flow to demonstrate the architecture of our sample.

 

To  enable monitoring on each microservice all we need to do is to add Applicare agent arguments to the start of those microservices along with making Applicare agent binaries available at runtime. We will cover building Docker image of microservice with Applicare agent pre deployed  and running that image in Kubernetes environment in a future blog post. It is super easy.

Once these Users and Departments microservices are started with Applicare agent, they connect and start reporting data to Applicare controller. Once you login into an Applicare controller and download single agent, it includes information about the controller to report the data back. This controller can be on prem, in cloud  or our from SAAS offering.

You get details on infra performance

 

along with cumulative performance of each microservice and performance of each instance.


 

Applicare automatically ties the data together when Users microservice makes a call to Departments microservice for looking up the user’s department details.

 

No more struggling with monitoring of microservices and correlating the data. With Applicare you see complete user transaction details that may span across multiple microservices.

Getting started with Applicare is easy. Simply register to get access to free on prem or in cloud Applicare controller. Remember single agent is downloaded from the controller and deployed in your environment.

Have fun with microservices monitoring and instantly finding root cause 🙂

Applicare 9 – SingleAgent with remote deployment and easy administration

Applicare 9 is a release focused on ease of use – SingleAgent, easy agent deployment and remote administration.

Applicare 9 SingleAgent includes infrastructure monitoring, web servers monitoring, java app servers monitoring, databases monitoring and logs monitoring.

We are able to remotely deploy SingleAgent with just a click for Linux platform (Windows & other platforms coming soon).

 

Applicare SingleAgent 9 takes away all the headaches of changing startup scripts to deploy agent. It is as simple as downloading the agent, running install and voila. Taking the example of java – after SingleAgent install, any java process coming up will automatically be monitored by Applicare without requiring any changes to the startup of that java process. It completely changes the game with respect to agent deployment and makes the process extremely simple.

Starting Tomcat after SingleAgent install on the VM

 

After the start Tomcat is automatically added to Applicare and starts reporting data.

Download Applicare & take it for a spin today.


Is just systems monitoring good enough?


We are often asked this question – we are monitoring our systems and able to keep their uptime high. Isn’t that enough?

Unfortunately that only provides one side of the story. Yes, they are up and resource utilization on them may be well within the limits. But it doesn’t tell us

    • How are the services running on those systems performing?
    • How are the apps that use those services performing?
    • How is the overall users experience for the apps/services hosted on those systems?

In fact, low resource utilization is very misleading because low utilization also happens when things are stuck waiting on external services response and nothing is processing.

Even when services’ performance is monitored via synthetic transactions we don’t get to know

    • Which users were impacted?
    • What is the response time for every request to the app or services?
    • What caused the service to fail?
    • What code/method caused the slowness/failure?
    • Is the issue happening at database, app server or external services level?

End to end visibility is a must to catch problems early on, and be able to take timely action and avoid outages. Say for example an external service that is being called to process credit card transactions is not performing well, then the caller server will have to just wait on process credit card transaction and its resource utilization would be low. But the end users will feel the pain of this slowness and may even abandon the carts. It will not only be important to know why the issue is occurring but also it will also be valuable to know what users are impacted. In this situation with only systems monitoring things will look very good because systems are up and resource utilization is low 🙂

APPLICARE comes to rescue

Applicare provides end2end monitoring and answers the questions that are unanswered with just systems monitoring.

Applicare allows you to

    • see the response time of every incoming request
    • see the detailed drill down into performance of every request including requests that span multiple servers
    • see the exact component or method that caused the slowness or errors
    • see what resource became an issue on what system and how it impacted the services performance and finally users experience.

Applicare cuts down the MTTR significantly by providing the visibility into every method, every component, every external service called and deep dive into systems performance & health.

Although server monitoring is an important part of monitoring but we shouldn’t consider ‘mission complete’ with just servers monitoring in the environment. Deeper dive available with Applicare is a must for any business critical application.

Download Applicare

Continuous Database Monitoring

Continuous Database Monitoring is a very important aspect of enterprise applications monitoring.  Database is the foundation of any application. If the performance of the database is not good then every user request can be impacted. Continuous database monitoring does provide very quick ROI. Tweaking the time consuming SQLs and any other database bottlenecks have impact on performance, scalability and availability of the entire application.

Applicare nicely ties database internals monitoring with systems monitor to be able to see the root cause of the problems e.g. disk IO becoming an issue and causing the SQLs to be slow or CPU starvation by another process causing a negative impact on database performance.  One agent to deploy and one console to use simplifies things from deployment of agents to root cause analysis.

ORACLE DATABASE MONITORING WITH APPLICARE

Applicare provides a very powerful continuous monitoring solution for Oracle along with many other most popular industry databases. No more dealing with AWRs.

Applicare Oracle Monitoring Dashboard
Oracle Monitoring Dashboard

Applicare monitors 100s of database metrics including

    • Load – Transactions/minute
    • Top SQLs & who is executing them
    • Active Sessions and Session Details
    • SQL Tuning Advice
    • Query Plan to ensure query is using most appropriate plan and access path
    • Locking Detection
    • Database growth
    • Oracle RAC Monitoring
    • Oracle SGA Monitoring
    • Oracle ASM Monitoring
    • Along with many other database metrics 
Database Growth
Database Growth
Session Details
Session Details
SQL Monitoring
SQL Monitoring
SQL Tuning Advisor
SQL Tuning Advisor
SQL Query Plan
SQL Query Plan

 

Additional Matrices Available
OS Monitoring

 

CPU Cores Monitoring

 

Network Monitoring

 

Disk Monitoring

Get your free trial https://support.arcturustech.com/register.do

Logs monitoring

Logs Monitoring plays an important role in analyzing, troubleshooting and alerting on problems. Organizations have lots of data in logs that should be mined to get valuable insights on users, applications and systems behavior.

Real time alerting from logs monitoring does help in identifying the problems early. It also provides security related insights when someone is trying to break into your organization.

LOGS MONITORING WITH APPLICARE

Applicare offers an extremely easy to use logs monitoring solution that doesn’t require a separate monitoring agent deployment. Applicare agent includes logs monitoring along with APM level application and systems monitoring. This simplifies things from deployment and analysis of data prospective – one agent to deploy and one console to use.

Applicare allows you to

    • access, search, visualize, analyze and correlate logs data
    • access logs data without requiring access to the system
    • convert searches into real time alerts in just a few clicks
    • monitor a single file or directories, one time snap or create watcher

Easy configuration

Easy Navigation

Easy Drill Down

For further reading on Logs Monitoring with Applicare, go to: https://helpdesk.arcturustech.com/hc/en-us/community/posts/360047713252-How-to-use-Log-Monitor-in-Applicare

 

Synthetic Monitoring

Synthetic Monitoring is referred to as an approach of testing a web service or a website by simulating the website visitors’ requests across various geographies in order to test its availability and performance. One can compare performance stats of different geographies and formulate performance improvement plans. Synthetic monitoring lets you find problems before your customers do leading to shorter MTTR. One can be prepared for diverse user scenarios by testing the websites and applications from the end users perspective.

Advantages of Synthetic Monitoring:

With synthetic monitoring: Operations teams are able to find and fix issues before they impact the end users, monitor business processes and complex transactions, Measure and Adhere to SLAs, baselining and benchmarking, test from the end users’ perspective, prepare for a new market or peak traffic etc.

Two types of Synthetic Monitoring include Active (conducting the tests on schedule) & Passive monitoring (requires user action to initiate the test). There are chances of an issue going unnoticed with passive monitoring e.g. during less traffic hours. For this reason, active approach to synthetic monitoring is considered to be an efficient monitoring approach against outages and slowdowns.

SYNTHETIC MONITORING WITH APPLICARE

Applicare offers four types of synthetic monitoring:

    • HTTP Monitor
    • JMeter Script
    • Script Monitor
    • Screen Scraping Automation

With Synthetic User Experience Analyzer, you can view the performance stats for your configured monitors in real time, graphical and historical views. Double-clicking on an entry in any view or a data point in charts will bring up the BTM trace view or the detailed JMeter script result view if the monitor is a JMeter script.

User Experience

Jmeter Script Execution Details

HTTP Monitor Error Snapshot

Execution Details

Trace details

For further reading on Synthetic Monitoring with Applicare, go to: https://helpdesk.arcturustech.com/hc/en-us/community/posts/360043235972-Synthetic-Transactions

Apache Monitoring with Applicare

Because of its customizable modular architecture catering to a multitude of needs, Apache is a widely used cross-platform web server. Although it has highly stable nature, yet, performance bottlenecks in Apache web server lead to slowness in the web pages. Inability to see the number of web server requests and traffic spikes to the website makes server capacity management difficult. Poor performance of the associated IT infrastructure—operating system, database, virtual machines, hardware, etc.—causes website downtime. Hence, it is important to implement a robust Apache web server monitoring system in order to identify potential problems before they turn into something big.

With Applicare’s Apache Web Server monitoring agent, one can monitor Apache Web Server in real-time, and diagnose performance bottlenecks while running in a live production or development environment. Applicare’s Apache agent monitors the below performance monitoring metrics:

Idle Threads: It is the total number of idle workers/idle processes waiting for an HTTP request. If there are very few or no idle processes, that means the server is using up all the processes and the new requests have to be on hold until the older requests are completed.

Busy Threads show the total number of processes actively processing an HTTP request.

Bytes per Request: This metric gives the average number of bytes being transferred per HTTP request.

Bytes per Second records the total amount of data the web server is transferring per second.

Throughput records the total number of HTTP requests the web server is processing per minute.

The Server Analyzer module of the agent monitors other aspects of the OS such as CPU%, Process, Physical free memory, system load, swap memory usage, TCP Connections etc.

Apache User Experience Analyzer dashboard gives details of types of transactions, number of transactions coming in, number of errors in those transactions, load at any point of time and average response time. Alerts can be generated on transaction failures & SLA violations.

Individual transaction details are available in the Transactions tab.

The module for monitoring Apache Web Server also supports the IBM HTTP Server.

Applicare Apache Monitoring Setup

User Experience Monitoring

“I am going through few videos of [our competitor]…And I must congratulate UI/UX Team of Arcturus Technologies for doing fabulous Applicare dashboards.”

This feedback from a happy customer encouraged us to write & publish about Applicare’s User Experience Monitoring, which is going to be amazingly useful for anyone in the industry.

End User Experience Monitoring enables teams to monitor the impact of application and device performance from the end user’s point of view. End User Experience Analyzer is used to monitor performance of your web applications as experienced by actual end users. This is achieved by automatically injecting Javascript code to your JSP pages which reports back the total time it took to load the page from the time a user clicked the link, network time, server processing and browser rendering times, browser type, user location, and various other data. User Experience Analyzer displays historical data related to end-user performance broken down by different aspects in separate tabs as shown below:

The world map on the Overview tab shows the performance breakdown for each country. One can view top transactions by different criteria such as page count, average page load time etc. The chart shows the performance data over the selected time period / for a specific country selected on the world map.

Transactions Summary view displays performance statistics of transactions for the selected time period  / for the selected transaction, along with the timeline chart.

Data is displayed on the Realtime Transactions tab as soon as users start accessing the application being monitored. This view not only displays the performance stats of the last n number of individual recorded transactions, but also the location and browser information of the users accessing the application. One can reach to the root cause of a slow transaction by drilling down that transaction to find slow methods / SQL queries.

Slow Transactions are determined based on the ‘Saved Slow Transactions Percentage’ specified in UEM Slow Transactions configuration. The ‘Time Distribution’ picture of any transaction helps in identifying where the slowness is, in a matter of a minute.

Browsers tab displays performance data for each client browser processing the transactions.

Servers tab displays performance data of the backend servers processing the transactions.

OS tab shows the OS used by the users of the application being monitored.

Analytics tab provides analysis of the application usage, e.g. Total visits, average page view duration, unique visitors, bounce rate etc.

Interested in trying out Applicare’s UEM? Register here now and get access to the trial version.

Health Check With “Applicare”

‘An ounce of prevention is better than a pound of cure.’

Because Ben Franklin knew a lot about not letting small problems become big headaches, he would have loved Applicare!

Discovering trouble after it happens is too late. The only way to survive in business is to stay ahead of what tomorrow may bring. Arcturus Technologies’ health check service can keep your application environment tuned-up and running smoothly.

Applicare™ is the market’s easiest-to-use next-generation Application Performance Management (APM) and Business Transactions Management (BTM) solution. Its embedded AI monitoring capabilities can improve your app’s health, user satisfaction, and business transactions. Applicare lets you know if something is wrong in real-time. Its innovative alert system enables enterprises to fix problems quickly before they have a chance to become major challenges. Arcturus Technologies is proud to provide application performance monitoring with advanced analytics and data integration platform — the Applicare Platform — that lets organizations to take maximum advantage of their business-critical data.

There is no better way to discover and remediate where enterprise level applications are missing the mark. Applicare delivers instantly! By uniquely combining consulting expertise and Applicare capabilities, we offer a comprehensive health check to review your applications’ environment, configuration, and performance. Register here to schedule an ROI rich “Health Check Engagement”.