| Hyperic Cloud Foundry Plugin This page documents the Hyperic Cloud Foundry plugin, compatible with Hyperic 4.5.1 and later, that is being made available on HyperFORGE as a beta release. Feedback is welcome. Click Add Comment at the bottom of the page. |
- Cloud Foundry Plugin Overview
- Configuration Instructions
- Step 1: Install Plugin
- Step 2: Configure Hyperic Agent
- Step 3: Restart the Hyperic Server and Agent
- Step 4: Manually add a Cloud Foundry Server
- Step 5: Configure Cloud Foundry Account Credentials
- Step 6: Configure Event Tracking of Cloud Foundry Application Crashes
- Management Functions
- Auto-Discovery
- Cloud Foundry
- Cloud Foundry Application
- Cloud Foundry MongoDB Service
- Cloud Foundry MySQL Service
- Cloud Foundry Redis Service
- Cloud Foundry RabbitMQ Service
- Auto-Sync
- Metric Collection
- Cloud Foundry Metrics
- Cloud Foundry Application Metrics
- Cloud Foundry MongoDB Service Metrics
- Cloud Foundry MySQL Service Metrics
- Cloud Foundry Redis Service Metrics
- Cloud Foundry RabbitMQ Service Metrics
- Control Action
- Event Tracking
Cloud Foundry Plugin Overview
Plugin: Cloud Foundry
Version: 1.0.0.M7
License: GNU General Public License version 2 (GPLv2)
Download: cloudfoundry-plugin-1.0.0.M7.jar
Screencast: http://www.youtube.com/watch?v=KUlhnLenHmQ
Source: http://git.springsource.org/hq/hq/trees/master/hq-plugin/cloudfoundry-plugin
Author: Patrick Nguyen
Version History
| Version | Date | Note |
| 1.0.0.M7 | August 25, 2011 | Performance Improvements |
| 1.0.0.M6 | July 26, 2011 | Performance Improvements. Added Plugin Help |
| 1.0.0.M5 | June 29, 2011 | Added to HyperFORGE |
Features
Cloud Foundry is the open platform as a service project initiated by VMware. It can support multiple frameworks, multiple cloud providers, and multiple application services all on a cloud scale platform.
The Hyperic Cloud Foundry plugin remotely monitors and manages Cloud Foundry applications and services. Some of the features include:
- Auto-discovers and collects metrics about Cloud Foundry system and account usage
- Auto-discovers and collects metrics for Cloud Foundry provisioned services
- Auto-discovers and collects metrics for Cloud Foundry applications
- Enables control actions to manage Cloud Foundry applications
- Start an application
- Stop an application
- Restart an application
- Update reserved memory for an application
- Update the number of instances for an application
- Scale up an application by 1 instance
- Scale down an application by 1 instance
- Performs event tracking of Cloud Foundry application crashes
- Auto-syncs the Hyperic inventory when applications and services are deleted from Cloud Foundry
Resource Hierarchy
Cloud Foundry resources do not fit into the typical Hyperic inventory model. It is being modeled as described below to take advantage of the built-in features of Hyperic, such as auto-discovery, control actions, event tracking, and alerting.
| Resource Type | Description | Inventory Type | Auto-discovered | Auto-sync | Control Action | Event Tracking |
|---|---|---|---|---|---|---|
| Cloud Foundry | A Cloud Foundry provisioned account | server | No | No | No | No |
| ---- Cloud Foundry Application | service | Yes | Yes | Yes | Yes | |
| ---- Cloud Foundry MongoDB Service | service | Yes | Yes | No | No | |
| ---- Cloud Foundry MySQL Service | service | Yes | Yes | No | No | |
| ---- Cloud Foundry Redis Service | service | Yes | Yes | No | No | |
| ---- Cloud Foundry RabbitMQ Service | service | Yes | Yes | No | No |
Note: For more information about the managed resource hierarchy, see Hyperic Inventory Model.
Configuration Instructions
The Hyperic Cloud Foundry plugin requires:
|
Step 1: Install Plugin
The Hyperic Cloud Foundry plugin is a new plugin that is being made available on HyperFORGE as a beta release. It needs to be manually added to your Hyperic 4.5.1+ server and agent environments.
- Stop the Hyperic server and agent
- Download the cloudfoundry-plugin-1.0.0.M7.jar
- Rename the cloudfoundry-plugin-1.0.0.M7.jar to cloudfoundry-plugin.jar
- Add the cloudfoundry-plugin.jar to the Hyperic server in the following server directory:
../hq-engine/hq-server/webapps/ROOT/WEB-INF/hq-plugins - Add the cloudfoundry-plugin.jar to the Hyperic agent in the following agent directory:
../pdk/plugins
Step 2: Configure Hyperic Agent
The Hyperic Cloud Foundry plugin uses HQ Api to do advanced auto-discovery and auto-syncing of Cloud Foundry and Hyperic data. This requires connection properties between the Hyperic agent and server to be supplied in the agent.properties file.
- Edit the following lines in agent.properties to supply the correct values for your environment.
Auto-discovery and auto-syncing of Cloud Foundry applications and services occur during the agent default scan (every 15 minutes by default).
- You can update this time interval by uncommenting and updating the following line in agent.properties:
Step 3: Restart the Hyperic Server and Agent
Step 4: Manually add a Cloud Foundry Server
- The Cloud Foundry server needs to be manually added to the Hyperic inventory. Navigate to the Tools Menu of any platform resource and select the New Server option.
- Select the Cloud Foundry server type and name your Cloud Foundry server instance. Hyperic requires an install path for servers, but since Cloud Foundry is being monitored remotely, the install path is irrelevant. Input any value for the install path.

Step 5: Configure Cloud Foundry Account Credentials

Step 6: Configure Event Tracking of Cloud Foundry Application Crashes
Application crashes are logged with a Warn log level. To enable event tracking of application crashes, check the Enable Log Tracking checkbox and select the Warn Track event log level option.
Management Functions
| In order for the Hyperic Cloud Foundry plugin to do advanced auto-discovery and auto-syncing of Cloud Foundry and Hyperic data, configuration Step 2: Configure Hyperic Agent above must be performed. |
Auto-Discovery
Cloud Foundry
| Cloud Foundry server is not auto-discovered The Cloud Foundry server needs to be manually added to the Hyperic inventory. Once configured with the appropriate Cloud Foundry account credentials, Hyperic will auto-discover system and account information about your Cloud Foundry account. |
- Name
- Version
- Build
- Max App Limit
- Max Memory Limit
- Max Service Limit
- Support
Cloud Foundry Application
The applications and it's properties will be auto-discovered.
- Application Name
- Application Type
- Stack Type
- URI
- Memory Limit Per Instance
- Disk Limit Per Instance
- Cores Per Instance
- Services
Cloud Foundry MongoDB Service
The service and it's properties will be auto-discovered.
- Name
- Type
- Vendor
- Version
- Tier
Cloud Foundry MySQL Service
The service and it's properties will be auto-discovered.
- Name
- Type
- Vendor
- Version
- Tier
Cloud Foundry Redis Service
The service and it's properties will be auto-discovered.
- Name
- Type
- Vendor
- Version
- Tier
Cloud Foundry RabbitMQ Service
The service and it's properties will be auto-discovered.
- Name
- Type
- Vendor
- Version
- Tier
Auto-Sync
When applications and services are deleted from Cloud Foundry, the Hyperic Cloud Foundry plugin will auto-delete the corresponding resources from the Hyperic inventory during the regular agent default scan process.
Metric Collection
Cloud Foundry Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | percentage | AVAILABILITY | true | 10 min | |
| Apps Used | none | UTILIZATION | true | 10 min | |
| Apps Used (Percent) | percentage | UTILIZATION | true | 10 min | |
| Memory Used | none | UTILIZATION | true | 10 min | |
| Memory Used (Percent) | percentage | UTILIZATION | true | 10 min | |
| Services Used | none | UTILIZATION | true | 10 min | |
| Services Used (Percent) | percentage | UTILIZATION | true | 10 min |
Cloud Foundry Application Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | "Stopped" applications are represented in Hyperic with a "Paused" availability | percentage | AVAILABILITY | true | 5 min |
| Average CPU Usage | Average for all running instances | percentage | UTILIZATION | true | 5 min |
| Average Disk Usage | Average for all running instances | B | UTILIZATION | true | 5 min |
| Average Disk Usage (Percent) | Average for all running instances | percentage | UTILIZATION | true | 5 min |
| Average Memory Used | Average for all running instances | B | UTILIZATION | true | 5 min |
| Average Memory Used (Percent) | Average for all running instances | percentage | UTILIZATION | true | 5 min |
| Max Uptime | The max uptime of one of the running instances | sec | UTILIZATION | true | 5 min |
| Running Instances | none | UTILIZATION | true | 5 min | |
| Total Instances | none | UTILIZATION | true | 5 min |
Cloud Foundry MongoDB Service Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | percentage | AVAILABILITY | true | 10 min | |
| Uptime | sec | UTILIZATION | true | 10 min |
Cloud Foundry MySQL Service Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | percentage | AVAILABILITY | true | 10 min | |
| Uptime | sec | UTILIZATION | true | 10 min |
Cloud Foundry Redis Service Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | percentage | AVAILABILITY | true | 10 min | |
| Uptime | sec | UTILIZATION | true | 10 min |
Cloud Foundry RabbitMQ Service Metrics
| Name | Definition | Units | Category | Default On | Default Interval |
|---|---|---|---|---|---|
| Availability | percentage | AVAILABILITY | true | 10 min | |
| Uptime | sec | UTILIZATION | true | 10 min |
Control Action
| Action | Description | Arguments |
|---|---|---|
| Start | Start an application | None |
| Stop | Stop an application | None |
| Restart | Restart an application | None |
| Memory | Update reserved memory for an application. Will take effect after a restart. | number in MB |
| Instances | Update the total number of instances for an application | number |
| ScaleUp | Scale up an application by 1 instance | None |
| ScaleDown | Scale down an application by 1 instance | None |
Event Tracking
If log tracking for Cloud Foundry applications is enabled, the following events will be logged:
- Application crashes
- Control actions