Note: This feature is currently supported for OpenStack and VCD platforms.
MobiledgeX makes it easy to manage, plan, and address resource capacity for cloudlets through our Controller. While your IaaS platform can monitor resources, you won't benefit from getting notified through our alerting system when resources are impacted or exceed defined thresholds. With our MobiledgeX Controller, you can be alerted once the Controller detects an issue, allowing you to respond quickly by modifying or increasing the resource limits and capacity. This decreases the chances that developers will experience a delay in deploying their clusters or app instances due to things such as resource limits.
There are several mcctl commands you can use to leverage this feature. Some of these commands include resourcequotaprops, getresourceusage, and cloudletinfo show. All these commands provide a detailed view into resource capacities, where you can modify as needed and then set up your alerts based on the given values.
Example of usage
As an operator, you are using OpenStack and want to view the current resource quotas to manage. You run the command:
You will see several properties that you can manage:
Note: RAM, vCPU, External IPs and GPUs properties shown are independent of the IaaS platform used. Other properties displayed are specific to your iAAS platform.
cloudlet getresourcequotaprops region=EU platformtype=PlatformTypeOpenstack organization=testorg1
description: Limit on RAM available (MB)
-name: vCPUs description: Limit on vCPUs available
description: Limit on GPUs available
-name: External IPs
description: Limit on external IPs available
description: Limit on number of instances that can be provisioned
-name: Floating IPs
description: Limit on number of floating IPs that can be created
Now, say you want to view your cloudlet to display the resource limits. Enter this command: cloudlet show region=EU cloudlet=cloudlet1
In the above example, you can either increase or decrease your alerthreshold. The resource limit set for vCPUs is 20 and based on the alertthreshold of 80 , an alert will be triggered when the cloudlet vCPU usage exceeds 16. An email is sent to you warning you that you have exceeded more than 80 percent of the vCPUs. Armed with this information, you can increase your resource for your cloudlets based on the alert. To find out the current resource usage of your cloudlet:
Now, to view more information about your cloudlet, you can use the command cloudletinfo show.
The following example shows a snippet of the code which contains a section called resourcesnapshot when you run the cloudletinfo show command. You can view details about your platform VM, shared rootLB, cluster instances deployed on the cloudlet, and more.
The Report Scheduler lets you run custom reports and provides detailed information about cloudlet usages. The MobiledgeX platform can determine your timezone and provides a configurable calendar to run your reports based. The report is generated in .pdf format and can be scheduled based on intervals you define.
The report information may include, but not limited to, the following information:
Cloudlet's last known state
Cloudlet pool with their associated cloudlets
A list of developers who are either in the pending state or have accepted the invitation to join your cloudlet pool
Flavor usage count
Developer Application state
RAM and VCPU usages
Graphical representation of all usages
Viewing, running, and creating reports are role-based. Please refer to the table below.
Create Report Scheduler
Creating a report scheduler:
On the left navigation, select Reports.
On the Report Scheduler screen, click the + sign.
The Create Report Scheduler screen opens.
Populate the required fields.
a. Name: Type a name for the report b. Organization: This is auto-populated based on the organization you are currently managing. c. Email: Type in an email address to send the reports. d. Report Interval: Select Every Week, Every 15 days, or Every Month. The default is Every Week. e. Start Schedule Date: Click the field to display a calendar to select a start date for when to start sending the report. Historical dates, however, cannot be specified. f. Timezone: Select your appropriate timezone.
The report is added to the Report Scheduler screen.
Note: When you create a report scheduler for a future date, the Last Report Status column may display a red X. This means that the report is in a pending state. It will turn into a green checkmark once the report is run as scheduled.
Select the Generate button to generate a .pdf of the usage report to download locally.
You can use the Actions menu to either Update or Delete the report(s).
You can also create and manage reports using the mcctl commands.
Using Kafka to push cloudlet events
MobiledgeX supports Kafka to help operators manage real-time data streams. By providing operators with events streaming API, events can be pushed directly to a server (Kafka cluster) that the operator provides to MobiledgeX. Currently, MobiledgeX supports pushing cloudlet-related events to the Kafka cluster.
Any cloudlet-related events will get pushed to the Kafka cluster since Kafka is set up on a per-cloudlet basis. However, operators can also view developer-related events, including app instances events, if the cloudlet is part of the cloudlet pool.
Kafka sends messages to topics, and each topic contains specific messages. When configuring cloudlets for the Kafka, the Kafka cluster requires two topics to be created.