Cloud Computing Patterns, Mechanisms > Mechanisms > C > Cloud Usage Monitor
Cloud Usage Monitor
The cloud usage monitor mechanism is a lightweight and autonomous software program responsible for collecting and processing IT resource usage data. Depending on the type of usage metrics they are designed to collect and the manner in which usage data needs to be collected, cloud usage monitors can exist in different formats. The upcoming sections describe three common agent-based implementation formats. Each can be designated to forward collected usage data to a log database for post-processing and reporting purposes.
A monitoring agent is an intermediary, event-driven program that exists as a service agent and resides along existing communication paths to transparently monitor and analyze dataflows (Figure 1). This type of cloud usage monitor is commonly used to measure network traffic and message metrics.
A resource agent is a processing module that collects usage data by having event-driven interactions with specialized resource software (Figure 1). This module is used to monitor usage metrics based on pre-defined, observable events at the resource software level, such as initiating, suspending, resuming, and vertical scaling.
Figure 1 – A cloud service consumer sends a request message to a cloud service (1). The monitoring agent intercepts the message to collect relevant usage data (2) before allowing it to continue to the cloud service (3a). The monitoring agent stores the collected usage data in a log database (3b). The cloud service replies with a response message (4) that is sent back to the cloud service consumer without being intercepted by the monitoring agent (5).
Figure 2 – The resource agent is actively monitoring a virtual server and detects an increase in usage (1). The resource agent receives a notification from the underlying resource management program that the virtual server is being scaled up and stores the collected usage data in a log database, as per its monitoring metrics (2).
A polling agent is a processing module that collects cloud service usage data by polling IT resources. This type of cloud service monitor is commonly used to periodically monitor IT resource status, such as uptime and downtime (Figure 3).
Figure 3 – A polling agent monitors the status of a cloud service hosted by a virtual server by sending period polling request messages and receiving polling response messages that report usage status “A” after a number of polling cycles, until it receives a usage status of “B” (1), upon which the polling agent records the new usage status in the log database (2).
- Automated Administration
- Centralized Remote Administration
- Cross-Storage Device Vertical Tiering
- Direct I/O Access
- Direct LUN Access
- Dynamic Failure Detection and Recovery
- Dynamic Scalability
- Elastic Disk Provisioning
- Elastic Network Capacity
- Elastic Resource Capacity
- Intra-Storage Device Vertical Data Tiering
- Load Balanced Virtual Server Instances
- Load Balanced Virtual Switches
- Non-Disruptive Service Relocation
- Realtime Resource Availability
- Resource Management
- Resource Pooling
- Resource Reservation
- Rich Container
- Service Load Balancing
- Service State Management
- Shared Resources
- Storage Workload Management
- Usage Monitoring
- Workload Distribution
- Zero Downtime