Hyperic HQ Inventory Model
Hyperic HQ stores information about your managed systems in an inventory repository. The items in this repository are called resources. When you use Hyperic HQ's Auto-Discovery feature on your platforms, Hyperic HQ will discover servers and services running on those platforms, and you can then choose to import them into Hyperic HQ's inventory. If there has been a change in the managed resources on a platform since the last time you executed an Auto-Discovery, Hyperic HQ will alert you to the change.
You can use the Hyperic HQ Portal to manage, monitor and control the systems you have placed in inventory. Starting from the Dashboard, you can view the status of all your managed systems.
Platforms
As defined by Hyperic HQ, a platform is an operating system running on a physical machine. Generally, an HQ Agent will run on each platform being managed by HQ. However, there are instances where a platform will not have an agent running on it. Examples include a network device (such as a router or firewall) and a network host (a platform managed remotely via SMTP). Servers run on platforms, and services in turn are provided by servers.
See the list of Supported Platforms for a complete list.
Servers
Servers are software products that run on platforms, and support services. It provides a communications interface and response to requests to perform specific tasks. Servers are hosted on a platform. A single platform can host a number of different servers. Servers, and consequently the services they provide, can be shared across a number of applications.
Services
Services are hosted by servers, which in turn run on platforms. A service represent an individual piece of software which is dedicated to a particular task. Applications are composed of various services running on servers.
Examples of services include:
- Apache Virtual Hosts
- Tomcat Application Contexts (Webapp)
- Oracle Database Instance
- EJB Service
An example of a service is an Apache virtual host that is dedicated to servicing requests that are directed to a specific Application.
Some services are provided by the application server, which includes services like JDBC connection pools and Message Queues. These services are internal to the application server and thus called internal services. Providing these services is the primarily value of an application server.
Other services are provided by the application creator such as web apps and Enterprise Java Beans. These application services are deployed onto an application server and are called deployed services.
Both deployed services and internal services are present in most applications. Hyperic HQ distinguishes between the two because they have very different roles in an application and significantly different levels of reliability in an Application. Internal services are generally more reliable because they are very extensively tested as part of the server product that provides them.
Hyperic HQ allows you to define Applications that are composed of both deployed services and internal services, but it is generally more useful to define an Application as a collection of deployed services. An application can be composed of clusters of deployed services since most Applications involve clustering to enhance availability and performance. By defining an Application as a set of clusters, you also add a level of indirection, which enables you to add or remove resources from the cluster without having to change the definition of the Application.
Groups
When Hyperic HQ has detailed inventory information about your managed systems, you can gather services, servers, and platforms into useful groups. Grouping resources lets you easily monitor and control your applications and the servers, services, and platforms that make them up.
You can create a group from any arbitrary set of resources, based on any attribute, such as geographical location, owner, business unit, and so on.
If you group resources that share a common set of monitoring metrics and control actions, that group is considered a compatible group. For example, you can organize all Apache 2.x servers into a compatible group. Compatible groups are a powerful tool in HQ. A compatible group allows an HQ user to easily monitor, compare and control several resources at once.
If you group resources that do not share a common set of monitoring metrics and control actions, that group is considered a mixed group. You can view inventory information for a mixed group, but you cannot perform control actions on, monitor, or edit the group's inventory properties as a whole.
You can also make groups containing multiple compatible and mixed groups.
Applications
An Application is made up of services that are provided by one or more servers and hosted on a platform. An Application is usually identified by the functionality it provides, such as a purchase order entry application, or an online banking application. An example of an application that can span multiple physical resources is an Apache virtual host front ending a Weblogic application server that uses an Oracle database. The many services involved are hosted by servers running on multiple platforms, but they all come together to provide a piece of functionality called the application.
When you specify a set of resources as an Application, Hyperic HQ collects measurement data about the availability, performance, and throughput of that set of resources and correlates it so you can see the service level of the entire Application from end-to-end. You can also easily drill down to the service levels of the individual resources to see how they are performing.
The application model exposes the following resources: the platforms (machine/OS combinations), the servers (application, database and Web servers), services provided by those servers (including EJBs, servlets, VHosts and database instances) and most importantly the application that is made up of combinations of those services. Through this application model, you can improve service levels, increase utilization of your Web infrastructure and report service levels accurately.