vCenter Chargeback Manager – Part 3

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.

vCCM-03-01Figure 1 – Users

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

vCCM-03-02Figure 2 – Create a Hierarchy

We select the first option, “Custom Hierarchy

vCCM-03-03Figure 3 – Custom hierarchy

After you have created a hierarchy, you can start populating the hierarchy.

vCCM-03-04Figure 4

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.

vCCM-03-05Figure 5

You can choose from the familiar “Hosts & Clusters” or “VMs and templates” view. You can use highlighting under filters, to make life easier.

vCCM-03-06Figure 6

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.

vCCM-03-07Figure 7

Right click VM and select Manage Attributes.

vCCM-03-08Figure 8 – 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!).

vCCM-03-09Figure 9 – Set Allocation Units

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.

vCCM-03-10Figure 10 Pricing Model, Base rates

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.

vCCM-03-11Figure 11 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.

vCCM-03-12Figure 12 – Billing policies

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:

Billing policy Expression
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.

vCCM-03-13Figure 13 – Pricing Model, Billing Policy

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.

vCCM-03-14Figure 14 – Pricing Model, Other Costs

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.

vCCM-03-15Figure 15

We select the pre-defined billing policy “Actual Usage”.

vCCM-03-16Figure 16

vCCM-03-17Figure 17

Provide Base rates for the following resources: CPU, Memory and Storage.

vCCM-03-18Figure 18

vCCM-03-19Figure 19

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.

vCCM-03-20Figure 20 – Cost template, rate factors and fixed costs

vCCM-03-21Figure 21 – Cost template, overview

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.

vCCM-03-22Figure 22 – Create a report

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.

vCCM-03-23Figure 23

  • 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.

vCCM-03-24Figure 24

  • 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.

vCCM-03-25Figure 25

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.

vCCM-03-26Figure 26

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.

vCCM-03-27Figure 27

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:

vCenter Chargeback Manager – Part 1

vCenter Chargeback Manager – Part 2

3 Responses to vCenter Chargeback Manager – Part 3

  1. gogogo5 says:

    Hi Paul

    Great series on Chargeback Manager! I hope you could offer some advice as I have been trying to figure out the below.

    Say you have applied a cost model to the root of a vCenter hierarchy (thereby applying to all virtual machines in that hierarchy). Within that hierarchy you have some virtual machines (located in different sub-folders in the hierarchy) that are SRM enabled. Can you suggest the configuration for billing so that all VMs get blanket billed as per the cost model applied at the hiearchy root, but for SRM enabled VMs only, an additional fixed cost is applied? Where would be the best place to set this?


    • paulgrevink says:

      Hello Steve,

      Thank you very much for your feedback, I really appreciate it.
      Concerning your question, I haven’t been using vCCM for a while, but hopefully this is a direction.

      Pricing Models have a tab named “Other Costs”, with Service costings for HA, FT and so on, but nothing for SRM.

      Although, the next tab, “Rules”, let you add Fixed Costs, based on Attribute Criteria.
      In the Hierarchy, you can add a Custom Attribute named SRM and per VM enter a value, like “”Yes” or “No” (see above).
      Under Fixed Cost, create a new Entry for the SRM costs.
      Now, in the Pricing Model, you can add an Attribute fixed Cost, based on the new Custom atrribute.

      Best Regards,


      • gogogo5 says:

        Thanks Paul, that’s exactly the steering I needed to investigate further. Seems like Custom Attribute is the way to go. Hey, you could add a Chargeback Manager Part 4 blog post showing this as a use case example 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: