Home > Mechanisms > Cloud Usage Monitor

Cloud Usage Monitor

The cloud usage monitor mechanism is a lightweight and autonomous processing module 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 for the cloud usage monitor mechanism. Each can be designed to forward collected usage data to a log database for post-processing and reporting purposes.

Monitoring Agent

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.

Cloud Usage Monitor: Figure 1 - A cloud service consumer send 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 the log database that is stored outside of the cloud (3b). The cloud service replies with a response messages (4) that is sent back to the cloud service consumer without being intercepted by the monitoring agent (5).

Figure 1 - A cloud service consumer send 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 the log database that is stored outside of the cloud (3b). The cloud service replies with a response messages (4) that is sent back to the cloud service consumer without being intercepted by the monitoring agent (5).

Resource Agent

A resource agent is a processing module designed to collect usage data by having event-driven interactions with specialized resource software (Figure 2). It 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).

Cloud Usage Monitor: Figure 2 - The resource agent residing within the cloud detects an increase in usage between a cloud service consumer and a virtual server (1). The resource agent receives a notification from the underlying resource management program that the virtual server is scaled up (2) and stores the collected usage data in the log database, as per its monitoring metrics (3).

Figure 2 - The resource agent residing within the cloud detects an increase in usage between a cloud service consumer and a virtual server (1). The resource agent receives a notification from the underlying resource management program that the virtual server is scaled up (2) and stores the collected usage data in the log database, as per its monitoring metrics (3).

Polling Agent

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 utilized to periodically monitor IT resource status, such as uptime and downtime (Figure 3).

Cloud Usage Monitor: Figure 3 - The polling agent monitors the status of a cloud service hosted by the virtual server by sending periodic polling request messages (MREQ1 to MREQN). It receives polling response messages (MREP1 to MREPN) that report usage status

Figure 3 - The polling agent monitors the status of a cloud service hosted by the virtual server by sending periodic polling request messages (MREQ1 to MREQN). It receives polling response messages (MREP1 to MREPN) that report usage status "A" after every polling cycle (1a). The polling agent stores the collected usage data in the log database (1b). Subsequently, the polling agent sends polling request messages (MREQN+1 to MREQN+M) and receives response messages (MREPN+1 to MREPN+M) that report usage status "B" after every polling cycle (2a). The polling agent stores the new usage data in the log database (2b).

Related Patterns: