Welcome!

Microservices Expo Authors: Elizabeth White, Pat Romanski, Ruxit Blog, Greg O'Connor, Liz McMillan

Related Topics: Microservices Expo, Containers Expo Blog

Microservices Expo: Article

Monitoring Web Applications Using Hyperic

Monitoring enables us to anticipate the issues

Monitoring applications is an important aspect of IT industry. Huge investments are made in setting and maintaining the IT infrastructure be it cloud or physical. To ensure maximum performance across your business, problems have to be identified and resolved before they affect the users. Monitoring enables us to anticipate the issues and hence resolve them before they start appearing as problems to users. We need to have visibility into IT infrastructure to identify the issue origin. For example, by monitoring the applications proactively, we can figure out the root cause whether its poor performance is due to the problem at resource level or at application level or at any other place and take action before it starts impacting the user. It gives us more control and confidence on the application and hence helps us in meeting the service quality requirements.

Performance issues can arise due to problems at any level - machine/ application/ transaction. We should be able to monitor through all levels so that exact point of origin can be located. Most of the current solutions provide monitoring at any one particular level. For example, some cloud based infrastructure solutions provide monitoring at machine level only. Problem need not be necessarily to be at machine level. There could be problem at the application level like increased thread count, more number of active connections to valuable resources, etc or at transaction level like response time, request rate, etc. Thus, monitoring across different levels gives us visibility to know where the problem lies. Once the problem origin is known, we can take corrective actions to resolve it before it impacts the user experience.

There should be a solution to achieve the same to dig out the actual problem. We are going to deal with it in this article. We are going to see how to monitor different metrics (CPU utilization, thread count per minute, response time) at different levels. We will use Hyperic as our monitoring tool to measure the metrics. It is a systems monitoring, server monitoring and IT management software. It is based on server-agent model. We will have a look at the basic architecture of Hyperic as well.

Use-case scenario - Problem statement

Consider a case where a web application becomes famous and workload increases on it. This causes the application's performance to go down which results in slow loading of web pages. There could be many reasons for the degradation of performance like CPU utilization exceeds certain level, application logic is poor, less number of resources in infrastructure which are not able to sustain the load and many more. Issue could be at any level as discussed. Availability and performance marks end users' experience. This necessitates the monitoring of applications at different levels so that any unexpected behaviour could be avoided by taking corrective measures on time.

Deep dive into the solution
One of the most common complaints heard from end user is ‘website responds very slowly'. Poor performance of application can drift the user away from web application and leaves a bad impact on them. To find out the reason for poor performance of application, we have to measure the metrics at different levels to dig out the actual issue. We are programmatically going to monitor CPU utilization at machine level, used thread count per minute at application level and response time at transaction level.

Monitoring requires a reliable tool which can track the metrics periodically and update the application administrators.  There are lots of monitoring tools present in the market with varying features. Some of the most commonly used are Hyperic, Nagios, Cacti, Ganglia, etc.  Most of the tools in the market represent the metric values in visual form which helps the administrators to monitor and analyze any unexpected behaviour of application.

Hyperic is one of the leading monitoring tools in this arena. Hyperic comes in two flavors - open source (under GPL licensing) and enterprise edition (commercial license). It is based on server-agent model.  Following is a short description of Hyperic key components:

  1. HQ Agent: HQ agent is responsible for collecting data of the machine in which it is installed and send it to server. Each machine which is to be monitored should have an HQ agent running.
  2. HQ Server: HQ server consolidates the data sent by agents installed on different machines and persist it in the Hyperic database. HQ server maintains the inventory which keeps the information of all the resources and their monitored values.
  3. HQ Portal: HQ portal is a graphical user interface which gives complete information about the resources being monitored. User can add/ remove/perform control actions/set alarms from this portal. It is highly customizable with provision of choosing the metric to be collected and changing the collection intervals.
  4. HQ Web Service API: It has java based API called HQAPI. It helps in accessing the resources and their metrics programmatically.
  5. HQ Plugins: Hyperic has its own set of resource plugins for collecting metrics and other operations. It is also possible to build a new plugin to support additional functionality.

A large number of metrics is managed by Hyperic. In case of virtual environment, Hyperic agents are installed on virtual machines. We will use HQAPI to access the resources.

Consider a web application deployed on Apache Tomcat as application server. We will deploy famous - Jpetstore web portal on application server and then monitor the same.

Deploy web application on application server
Copy the jpetstore application under ${Apache_Tomcat_Installation_dir}/webapps and start tomcat. Try accessing - http://localhost:8080/jpetstore link and if it shows jpetstore homepage that means application is deployed successfully.

The way resources are modelled in hierarchical fashion in Hyperic UI console, same way resources could be accessed programmatically using HQ Java API. Top most resource is Platform and beneath it are present services running which are allowed to be monitored in that machine. Let's see how to monitor different metrics at different levels using HQAPI.

More Stories By Akansha Jain

Akansha works as a Technology Analyst at SETLabs, R&D division, at Infosys Technologies Ltd. She has close to 4 years of experience in development of Cloud computing, Java and Java EE applications, Eclipse Plugin Architecture, Software Factory, Web 2.0,etc. Earlier publication works are available on devx.com.

@MicroservicesExpo Stories
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 19th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devices - comp...
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the protocols that communicate data and the emerging data analy...
This digest provides an overview of good resources that are well worth reading. We’ll be updating this page as new content becomes available, so I suggest you bookmark it. Also, expect more digests to come on different topics that make all of our IT-hearts go boom!
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, will compare the Jevons Paradox to modern-day enterprise IT, e...
DevOps at Cloud Expo, taking place Nov 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 19th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long dev...
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lea...
In his general session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, discussed cloud as a ‘better data center’ and how it adds new capacity (faster) and improves application availability (redundancy). The cloud is a ‘Dynamic Tool for Dynamic Apps’ and resource allocation is an integral part of your application architecture, so use only the resources you need and allocate /de-allocate resources on the fly.
Information technology is an industry that has always experienced change, and the dramatic change sweeping across the industry today could not be truthfully described as the first time we've seen such widespread change impacting customer investments. However, the rate of the change, and the potential outcomes from today's digital transformation has the distinct potential to separate the industry into two camps: Organizations that see the change coming, embrace it, and successful leverage it; and...
19th Cloud Expo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterpri...
SYS-CON Events announced today that LeaseWeb USA, a cloud Infrastructure-as-a-Service (IaaS) provider, will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. LeaseWeb is one of the world's largest hosting brands. The company helps customers define, develop and deploy IT infrastructure tailored to their exact business needs, by combining various kinds cloud solutions.
DevOps at Cloud Expo – being held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Am...
With emerging ideas, innovation, and talents, the lines between DevOps, release engineering, and even security are rapidly blurring. I invite you to sit down for a moment with Principle Consultant, J. Paul Reed, and listen to his take on what the intersection between these once individualized fields entails, and may even foreshadow.
In case you haven’t heard, the new hotness in app architectures is serverless. Mainly restricted to cloud environments (Amazon Lambda, Google Cloud Functions, Microsoft Azure Functions) the general concept is that you don’t have to worry about anything but the small snippets of code (functions) you write to do something when something happens. That’s an event-driven model, by the way, that should be very familiar to anyone who has taken advantage of a programmable proxy to do app or API routing ...
Much of the value of DevOps comes from a (renewed) focus on measurement, sharing, and continuous feedback loops. In increasingly complex DevOps workflows and environments, and especially in larger, regulated, or more crystallized organizations, these core concepts become even more critical. In his session at @DevOpsSummit at 18th Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, showed how, by focusing on 'metrics that matter,' you can provide objective, transparent, and meaningful f...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
Cloud Expo 2016 New York at the Javits Center New York was characterized by increased attendance and a new focus on operations. These were both encouraging signs for all involved in Cloud Computing and all that it touches. As Conference Chair, I work with the Cloud Expo team to structure three keynotes, numerous general sessions, and more than 150 breakout sessions along 10 tracks. Our job is to balance the state of enterprise IT today with the trends that will be commonplace tomorrow. Mobile...
To leverage Continuous Delivery, enterprises must consider impacts that span functional silos, as well as applications that touch older, slower moving components. Managing the many dependencies can cause slowdowns. See how to achieve continuous delivery in the enterprise.
There is little doubt that Big Data solutions will have an increasing role in the Enterprise IT mainstream over time. Big Data at Cloud Expo - to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA - has announced its Call for Papers is open. Cloud computing is being adopted in one form or another by 94% of enterprises today. Tens of billions of new devices are being connected to The Internet of Things. And Big Data is driving this bus. An exponential increase is...
Digitization is driving a fundamental change in society that is transforming the way businesses work with their customers, their supply chains and their people. Digital transformation leverages DevOps best practices, such as Agile Parallel Development, Continuous Delivery and Agile Operations to capitalize on opportunities and create competitive differentiation in the application economy. However, information security has been notably absent from the DevOps movement. Speed doesn’t have to negat...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm ...