This is the third part in a series of posts on the vCenter Chargeback Manager (vCCM, from now on). Part 1 was all about the installation of vCCM. In Part 2, the basic configuration was discussed. In this part, I will explain some of the philosophy behind the product, and start creating reports.
I suppose you have installed and configured vCCM without any problems? Did you add a vCenter server and the vCenter Chargeback Manager Data Collector is running? Fine.
By the way, these posts come from my study notes while preparing for my VCP5-IaaS certification and cover at least parts of Objective 1.1 – Install vCloud Components and Section 3 – Configure and Administer vCenter Chargeback.
A word about vCenter Chargeback Manager Users, roles and permissions.
After the installation of vCCM has finished, there is only one user, in my case I named the account “admin”. This first user has the role of Super User. This role has all the privileges. vCCM provides a mechanism called resource-based authorization. As such vCCM works with; Resource types, Users and Groups, Roles and Permissions.
For the sake of simplicity, I will continue to work with my “admin” account.
Before you can really create your first report, you have to follow a few more steps. I suppose, vCCM is installed and basic configuration has been finished. This also includes adding at least one vCenter Server.
Another remark, vCCM is a rather complex product with a lot of features. To get a good understanding, I will start with the basic elements. As soon as the fundamentals are clear, it is easier to add more features to it.
Necessary steps to create your first report:
- Create a Chargeback Hierarchy
- Create a Pricing Model
- Create Fixed Costs (optional)
- Create Report
Create a Chargeback Hierarchy
A chargeback hierarchy is an organization of vCenter Server entities and vCenter Chargeback Manager Entities.
- The vCenter Server entities include virtual machines, ESX Server hosts, data centers, resource pools, host folders, and virtual machine folders.
- The vCenter Chargeback Manager entities are custom entities that could represent a logical parent for the vCenter Server entities. For example, the vCenter Chargeback Manager entities could represent the departments, cost centers, or business units in an organization.
A vCenter Chargeback Manager entity can contain one or more vCenter Server entities and vCenter Chargeback Manager Entities.
You create a new hierarchy from the tab “Manage Hierarchy”. After pushing the button, you will be presented with three options:
- Create a custom hierarchy
- Create a hierarchy and synchronize with a vCenter Hierarchy
- Import a hierarchy from a .csv file
We select the first option, “Custom Hierarchy”
After you have created a hierarchy, you can start populating the hierarchy.
You will usually start by adding a vCenter Chargeback Manager Entity. Right-click on the hierarchy and choose “New Chargeback Folder” from the menu. Now choose “New vCenter Server Entity” and start populating the hierarchy.
You can choose from the familiar “Hosts & Clusters” or “VMs and templates” view. You can use highlighting under filters, to make life easier.
After re-selecting the Hierarchy, the vCenter disappears.
If you have created custom attributes under : Settings, Manage Attributes, you can assign values to your custom attributes. In this example, we have created an attribute called Geo_location.
Right click VM and select Manage Attributes.
What is “Allocation Units”?
Before we step into Pricing Models, in Figure 7 we also see the option “Set allocation Units”. This is an important concept.
At some point we need to the calculate costs for an entity. You can set the allocation units, when you want to charge an entity (VM) for a fixed amount of computing resource units, immaterial of the actual resource usage.
Note: The allocation of computing resource units is performed in vCenter Chargeback Manager (and has no relation with the vCenter Server!).
Now you can set values for the computing resources that make a VM. You can enter new values effective from now on, or set for a specific period. Example for a selected VM, we could allocate 2GHz CPU and 4 GB Memory. So as long as we do not change this, the VM will be charged with these fixed units, independent from the actual usage.
I this example, we will NOT use the allocation Units and go for an actual usage model.
Create a Pricing Model
You must know about the vCenter Chargeback Manager cost-related elements to effectively create and configure a pricing model. All these elements are related to each other, but after reading this part, it becomes clearer. vCenter Chargeback Manager includes the following cost related elements.
- Chargeable computing resource
- Base rate
- Fixed cost
- Billing policy
- Pricing model
- Rate factor
- Cost template
A pricing model defines base rates for the chargeable computing resources, the currency, the billing policy to be used for calculating the total cost, and other costs.
A chargeable computing resource is any computing resource that must be accounted for when calculating the IT operational costs. The usage of the computing resources is measured and the corresponding charge is calculated. vCenter Chargeback Manager accounts for the following computing resources:
- CPU, The CPU usage is measured in GHz.
- Disk Read and Write, The usage is measured in GB/hour.
- Memory, The memory usage is measured in GB.
- Storage, The usage is measured in GB.
- And many more
The Base rate is a global rate that you want to charge for a unit of chargeable computing resource for a specific duration.
In this property of a Pricing Model, you will see the elements that make base rates. The Computing Resource CPU is measured in GHz Units on an Hourly basis (specific duration). In this example, the actual base rate is 1 USD/GHz computed hourly (Expensive, but this is just an example…).
Base rates are provided by you.
vCCM comes out-of-the-box with a set of default pricing models. These Pricing Models do not define any base rates or fixed costs. So, you must modify these pricing models and set the required base rates and fixed costs before using them for generating reports.
vCCM provides a tool that can help you calculating your Base Rates, that is the Base Rate calculator.
This tool is useful, but in my case, I have stumbled on a bug while calculating “Other costs”. Other Costs that extend 1.000 units are not calculated.
The next element is “Billing Policy”.
A billing policy defines an expression that is used for identifying the amount of computing resources units to be considered for calculating the costs. Therefore, a billing policy must account for all the computing resources. vCCM comes with a number of predefined billing policies, you can also create new billing policies.
The billing policy contains an expression for each resource. The expression includes an attribute value that identifies the computing resource units to be considered for cost calculation. The attribute values can be allocation, reservation, size, and usage. Examples are:
|Actual Usage||other resources = usage;|
|Reservation Based||cpu = reservation;memory = reservation;other resources = usage;|
|Allocation Based||other resources = allocation;|
|CPU Reservation||cpu = reservation;other resources = usage;|
|Maximum of Usage and Reservation||cpu = max(usage, reservation);memory = max(usage, reservation);other resources = usage;|
Example, “CPU Reservation” means that CPU costs will be calculated based on the Reservation. All other chargeable computer resources (“other resources”) will be calculated on the actual usage.
The amount of computing resource to be accounted for depends on the attributes defined in the billing policy expression.
The attributes used by vCenter Chargeback Manager are as follows:
- Usage, The actual utilization of the resource by the virtual machine
- Reservation, The amount of resource reserved for the virtual machine. This reservation is configured in vCenter Server.
- Allocation, The amount of resource allocated for the virtual machine. This is a user-defined allocation and is configured in vCenter Chargeback Manager (has been discussed before).
- Size, This attribute can be used only for memory. The memory size is fetched from the vCenter Server and replicated in the vCenter Chargeback Manager
- burstable utilization, This attribute lets you account for the 95th percentile of actual utilization. This attribute is available only for the external network transmit rate and external network receive rate computing resources.
Note: Attributes will be used for different resources. Example, attribute Usage will be used for Resources like cpu, memory and storage.
Note: The attribute value reservation is available only for CPU and memory. The attribute value size is available only for memory.
In the Pricing Model in Figure 13, the Billing Policy has been set to: Fixed Cost and Actual Usage.
The final part of the Pricing Model is the “Other Costs” section.
In this section, you can set costs for vServices like HA, FT and costs for guest operating systems.
We will now create a new pricing model, named: Pricing Models Virtual Labs.
We select the pre-defined billing policy “Actual Usage”.
Provide Base rates for the following resources: CPU, Memory and Storage.
We will not use the Other Costs section.
Cost Templates, Rate factors and Fixed costs
At this point, we only have to discuss; Cost Templates, Rate factors and Fixed costs. BTW, we are not going to use this in our example.
You can create the fixed costs that you want to charge on the entities and hierarchies. These costs can include periodically charged costs and one-time costs. When defining fixed costs, you can specify whether the cost must be prorated. Prorated fixed costs are considered only for the time for which they are applied on the entity.
A Rate factor is the multiplication factor to be used along with the base rate to calculate the charge for a unit of chargeable computing resource used or allocated for a specified duration. Rate factors are useful when you want to charge the entities in a hierarchy differently. The rate factors enable you to apply a cost that is a multiple or a fraction of the base rate. The rate factor value can be between 0 and 999.99. The precision is up to two decimal places.
Entity-specific cost configuration, such as the rate factors and fixed costs, must be defined on the entity. If you want to apply a standard entity-specific cost setting on more than one entity, you can create a cost template that contains these settings, and apply the same to the required entities. So, Cost templates are provided to make life easier. Cost templates allow you to store Rate factors and Fixed Costs.
When you create a new Cost Template, you must select a currency. You cannot change the currency later on.
Create a report
Basically, there are four types of reports:
- Cost report
A cost report provides the cost and utilization information for each computing resource for the hierarchy or entity.
- Usage report
A usage report is similar to a cost report except that it provides only the computing resource utilization data.
- Cost comparison report
A cost comparison report enables you to compare the costs for each resource and entity based on two different pricing models.
- Showback report
A showback report lets you analyze how the costs are distributed among the entities based on a specified distribution policy.
To create a Report manually: Go to the Reports tab, button “Create Reports”
Select the desired Hierarchy.
In our example, we Right-click on the Chargeback Folder, and select “Generate Cost Report” to create a report that will show usage and costs.
- Provide a Name for the report and an optional description
- The User name, represents the owner of the report
- Under Report duration, you have the option to generate the report now and specify the effective period. The other option is to schedule the report. Because we have the VMs already running for some time now, we create an effective period ranging the month December 2012.
- We select our newly creted pricing model
- In this example, we only want to charge a few Computing resources. We select: CPU, Memory and Storage.
- We click Next to proceed to the following section.
- On the Report Summary page, you can include a resource and cost summary. Select the “Include resource summary in report” and/or “Include cost summary in report”.
- And Next.
On the Details Pane. When creating a new report, it is a good idea to place a tick at “Show info messages”. This option is very helpful tracking down issues in a report. You can also specify details about usage and or fixed costs. In our example, we did not add fixed costs.
On the final Pane Attributes, you can create a filter based on self-defined global attributes (like our example, geographical location). Choose submit, and after some time our new report will show up.
The report will show up. From here you can export the report. Reports will be archived under “Archived Reports”.
So, this was a lot of information, but we ended up with a report. Now it is time to analyze your results, add more costs, create new pricing models, and so on.
As always, I welcome your comments and thank you for reading.
P.S. While I was working on these blog post, Lawrence Kohan presented an excellent #vBrownBag deep dive on vCenter Chargeback Manager last January, followed up by an extensive demo a few weeks later. I highly recommend watching these sessions.
This is the last post of a serie of three posts. Also read: