Architecting a vCloud Director Solution : Cloud Management Components : 5.5 VMware vCenter Chargeback Manager
   
5.5 VMware vCenter Chargeback Manager
VMware vCenter Chargeback Manager™ provides the metering capability to enable cost transparency. In service provider environments, it is typically used to meter tenant usage of the resources and to provide raw data to the existing billing systems.
vCenter Chargeback connects to the resource group vCenter database and retrieves usage data every 30 minutes. The integration with vCloud Director is handled through two additional data collectors, which collect data in 5-minute intervals:
The vCloud data collector connects to the vCloud Director through the vCloud API to collect resource usage data for each organization. Hierarchies for each organization are generated automatically by vCenter Chargeback.
The vShield data collector talks to NSX Manager and gathers information on network resources used by vCloud tenants.
The resources described in the following table can be metered.
Table 5. vCenter Chargeback Metrics
Resource
Chargeback Metrics
CPU
CPU usage/allocated (GHz)
vCPU (count)
Memory
Memory usage/allocated (GB)
Network
Count of networks
Network services (DHCP, static and dynamic routing, firewalling, NAT, IPSec, VPN, L2 VPN, SSL VPN, load balancing, edge gateway scale and availability, distributed firewall)
External network I/O traffic (transmit/receive, GB/hour)
Disk
Storage usage (GB)
Disk I/O read/write usage (GB/hour)
Custom
Fixed cost
Licensing
 
Billing policies define the amount of chargeable computing resources units to be considered. Pricing models consist of resource rates and billing policies. Reports provide cost or usage of particular hierarchy entity during timeframe based on given pricing.
The following are vCenter Chargeback design considerations:
One vCenter Chargeback data collector can connect up to 5 vCenter Server instances and collect information from up to 15,000 VMs. One vCenter Chargeback instance can connect up to 10 vCenter instances and collect information from 5,000 hierarchies and 35,000 VMs. vCenter statistics collection level might be raised up to level 3 in certain charging scenarios (disk read/write, network transmit) with a retention of at least 30 minutes. The interval vCenter Chargeback collector retrieves data from the vCenter database.
vCenter Chargeback data collectors can be installed on multiple servers for increased scalability. Deploy at least two of each kind for high availability.
Metered data is persisted in the vCenter Chargeback database with regular rollup jobs. Data retention with 5-minute granularity is available only for the past 24 hours. It is then rolled up to 1-day averages, which are retained forever.
MS SQL or Oracle can be used for the vCenter Chargeback database. A sizing tool is available at https://www.vmware.com/support/vcbm/doc/CBM%20DB%20Size%20Calculator.xlsm.
Chargeback server nodes can be load balanced by a built-in load balancer. An external load balancer is not supported. For high availability, deploy the load balancer separately to one vCPU VM protected by VMware vSphere Fault Tolerance.
Data collectors can be deployed externally or embedded on vCenter Chargeback server nodes. Load is evenly distributed among them.
The tenants are typically not provided with the ability to directly view cost and usage reports.
vCenter Chargeback integrates with Active Directory-based LDAP but the vCenter Chargeback Super User role can be assigned only to a local user. vCenter Chargeback uses resource-based authorization. Therefore, before an LDAP user can access a given vCenter Chargeback hierarchy, they must be assigned to it by Super User.
Reports can be scheduled through a REST-like API and exported to a billing system in XML format.
An SDK is available at https://www.vmware.com/pdf/cbm_api_prog_guide_2_5_0.pdf.
vCenter Chargeback is in deprecated mode and will be replaced by vRealize Business for Cloud in the future.