Apache CloudStack is a free and open-source Infrastructure as a Service (IaaS) platform that orchestrates and manages pools of the network, storage, and other computer resources to build a private or public IaaS compute cloud. Apache CloudStack allows any IT service provider to offer public cloud services to their customers. It can also be used by companies who wish to offer hybrid and private cloud services to their users.
In this tutorial, we will learn the steps to install and configure the Usage Server on the Apache CloudStack server.
Installing the Usage Server
Once the Management Server is installed in Apache CloudStack, users can install the Usage Server. The Usage Server helps transfer data from the system’s events and enables usage-based billing for its accounts.
When there are multiple Management Servers, users can install the Usage Server on any number of them. The Usage Servers will adjust and coordinate the usage processing in the server. A website that is concerned about its availability should install Usage Servers on at least 2 Management Servers.
Requirements for Installing the Usage Server
The requirements to install the Usage Server on the Management Server of Apache CloudStack are:
- The Management Server should run even after the installation of the Usage Server.
- The Management Server and the Usage Server must be installed on the same server.
Steps to Install the Usage Server
To install the Usage Server on Apache CloudStack, follow the below steps:
- First, make sure that the package repository is already configured. If not, configure the package repository before moving forward.
- Next, install the cloudstack-usage package by executing the following command:
On RHEL/CentOS systems, use:
# yum install cloudstack-usage
On Debian/Ubuntu systems, use:
# apt-get install cloudstack-usage
- Once the installation is completed, start the Usage Server by executing the following command:
# service cloudstack-usage start
- After that, enable the service at boot by executing the following command:
On RHEL/CentOS systems, use:
# chkconfig cloudstack-usage on
On Debian/Ubuntu systems, use:
# update-rc.d cloudstack-usage defaults
Configure the Usage Server
To configure the Usage Server, follow the below steps:
- First, log in to the CloudStack User Interface as administrator.
- Go to the Global Settings.
- In the Search tab, search for Usage. Find the configuration parameter that controls the behavior the user wants to set. See the following table for a description of the available parameters.
Parameter Name | Definition |
enable.usage.server | Whether the Usage Server is active. |
usage.aggregation.timezone | Time zone of usage records. Set this if the daily job execution and usage records are in different time zones. Default: GMT |
usage.execution.timezone | The time zone of usage.stats.job.exec.time. Default: Time zone of the Management Server. |
usage.sanity.check.interval | The number of days between sanity checks. Set this to periodically search for records with erroneous data before issuing user invoices. |
usage.stats.job.aggregation.range | The time period in minutes between Usage Server processing jobs. Default: 1440 |
usage.stats.job.exec.time | The time when the Usage Server processing will start. It is specified in HH:MM (24-hour) format in the time zone of the server, which should be GMT. Default: 00:15 |
- For example:
enable.usage.server = true usage.execution.timezone = America/New_York usage.stats.job.exec.time = 07:00 usage.stats.job.aggregation.range = 1440
- After that, click the Edit icon in the Action section.
- Enter the desired value and click the Save icon.
- Finally, restart the Management Server and the Usage Server:
# service cloudstack-management restart # service cloudstack-usage restart
Limiting Resource Usage in a Domain
To set a domain limit in Apache CloudStack, follow the below steps:
- First, log in to the Apache CloudStack UI.
- In the left navigation tree, click Domains and select the domain that the user wants to modify. The current domain limits are displayed (the value of -1 points that no limit is set).
- Next, click the Edit button and edit the following as per the user requirement:
Parameter Name | Description |
Instance Limits | The number of instances that can be used in a domain. Default: 20 |
Volume Limits | The number of disk volumes that can be created in a domain. Default: 20 |
Public IP Limits | The number of public IP addresses that can be used in a domain. Default: 20 |
Snapshot Limits | The number of snapshots that can be created in a domain. Default: 20 |
Template Limits | The number of templates that can be registered in a domain. Default: 20 |
VPC limits | The number of VPCs that can be created in a domain. Default: 20 |
Secondary Storage limits (GB) | The secondary storage space that can be used for a domain. Default: 400 |
Memory limits (MB) | The number of RAM that can be used for a domain. Default: 40960 |
CPU limits | The number of CPU cores that can be used for a domain. Default: 40 |
Primary Storage limits (GB) | The primary storage space that can be used for a domain. Default: 200 |
- Finally, click the Apply button to set the domain limits.
Conclusion
This tutorial presents the steps to install and configure the User Server on Apache CloudStack. Hope this tutorial was helpful, and do reach out to us if you have any query or suggestions.