Configure billing properties

In the billing.properties can configure the billing integration with settings, such as:

  • The account period and how to aggregate the billing data

  • The Abiquo database that contains the usage data

  • The billing connector to use (e.g. CSV connector).

Property

Default

Range

Description

Property

Default

Range

Description

account_period

DAY


HOUR, DAY, WEEK, MONTH

This setting defines the period for which usage data is aggregated. However, the usage value will also depend on the granularity,
which may divide the accounting period into smaller units, e.g. a granularity of HOUR, means the units for one day will be 24.


usage_units_per_hour

false

true, false

If false, the billing integration will record resource usage units with the same granularity as the Accounting tables.
If true, always record usages ‘per hour’.

init_period

DAY

HOUR, DAY, WEEK, MONTH

When 'new' accounts should start collecting usage data.
For example, if you add a new account on 7 December, then an 'init_period' of 'MONTH' would mean
that we try and collect data from 1 December, but a value of 'DAY' would mean we start from 7 December.

connector_name

CSV

CSV, DBMS

Set the connector that the billing integration will use to process usage data for output. 
Case insensitive and has priority over the 'connector_class'.

connector_class





For a custom connector, you can set the 'connector_name'.
This setting MUST match the complete Java class name of the connector, otherwise the billing integration will not run.

  • com.abiquo.billing.connectors.csv.CSVConnector

dbms_connection_url





These settings determine how Abiquo Billing Integration connects to the database used to retrieve the billing usage data.
For example, dbms_connection_url=jdbc:mysql://127.0.0.1:3306/kinton

dbms_jdbc_driver

com.mysql.jdbc.Driver



Currently only the default value of 'com.mysql.jdbc.Driver' is supported

dbms_user







dbms_password







dc_grouping

false



Group billing by Abiquo datacenter. If ‘true’, create sub-groups by datacenter.

dc_filtering

false



If true, only generate output for the list of datacenters with dc_include_filter properties.
For example, if you have a private datacenter that you use for platform administration and you do not want to bill for it, create a list that includes all the other datacenters.

dc_include_filter_<n>





If dc_filtering is enabled, set datacenters to include in the billing process, in order.
For example, dc_include_filter_1=London, where London is a datacenter name.

job_id





This setting is generally not used. It is only required when two independent Abiquo Billing Integration processes are using the same
Abiquo database, and it is used to manage database resources on a 'per process' basis, to ensure the processes do not conflict with each other.
So the job_id setting should be set to a unique numerical value, which is used to identify the billing process.
It is the responsibility of the Abiquo System Administrator to ensure that all job IDs are unique for a particular Abiquo Server.

allocation_usages

false



Enable collection of core usage (as shown in the core usage table) by the hard limit allocation of an individual Enterprise/VDC.
By default, this setting is false, which means that the billing integration collects the core usage by consumption in the Abiquo accounting data.

bill_day_of_month

1

1-28

Defines the periods of billing aggregation on a monthly level.
For example, if you set the account_period property to MONTH and the bill_day_of_month to 5,
then billing would sum data from 5/11/2017 at 00:00:00 hours to 4/12/2017 at 23:59:59 hours.

Configure usage billing properties

To define which usage values the billing integration will process, set properties in the billing.properties file.

The billing integration will calculate the usage and supply it to the billing connector for processing. For example, you could choose to bill for CPU, Memory, Local Storage, External Storage, VLAN, and IP.

 

Property

Default

Description

Property

Default

Description

vm_usage

false

If true, process fee per VM usage values

vm_on_usage

false

If true, process fee per VM usage values for VMs that are powered ON

vm_off_usage

false

If true, process fee per VM usage values for VMs that are powered OFF

cpu_usage

true

If true, process virtual CPU usage values

cpu_on_usage

false

If true, process virtual CPU usage values for VMs that are powered ON

cpu_off_usage

false

If true, process virtual CPU usage values for VMs that are powered OFF

memory_usage

true

If true, process virtual memory usage values

memory_on_usage

false

If true, process virtual memory usage values of VMs that are powered ON

memory_off_usage

false 

If true, process virtual memory usage values of VMs that are powered OFF

local_storage_usage

true

If true, process local storage usage values for primary and secondary hard disks

ip_usage

true

If true, process IP usage values for public IPs

vlan_usage

true

If true, process VLAN usage values for private VLANs

external_storage_usage

true

If true, process external storage usage values for volumes of managed storage

ha_usage

false

If true, process the number of VMs hosted on Abiquo HA-enabled Racks that are owned by the Enterprise/VDC

reserved_server_cpu_usage

false 

If true, process the CPU of servers that have been explicitly reserved for an Enterprise.
The CPU value is the total number of CPU cores in the reserved servers.  
This value is ‘Enterprise only’ (i.e. does not apply to VDCs). 

reserved_server_memory_usage

false 

If true, process the RAM of servers that have been explicitly reserved for an Enterprise.
The Memory is the total amount of RAM in all reserved servers (reported in MB).  
This value is ‘Enterprise only’ (i.e. does not apply to VDCs). 

repository_usage

false 

If true, process the repository usage (VM Templates and Instances) of an Enterprise. 
The repository usage is reported in GB. The value only applies to Enterprises (not VDCs).

antiAffinity_usage

false 

If true, process VMs created by an Enterprise in antiAffinity layers.

firewall_usage

false

If true, process firewall usage values

loadbalancer_usage

false

If true, process load balancer usage values

tiered_storage_usage

false

Process custom storage usage using the storage_tier_<n> and storage_tier_<name> properties

storage_tier_<n>

true

e.g. storage_tier_1=true
If true, process the usage of the storage tier defined by name

storage_tier_<n>_name



e.g. storage_tier_1_name=Bronze Tier
Specifies the name of an Abiquo Storage Tier.
This must EXACTLY match the Storage Tier name, as reported by the Abiquo GUI (or API)
The billing integration identifies storage tiers by name alone. It will aggregate the usage of all Tiers that have the same name, even if they are in different datacenters

local_tier_storage_usage

false

Process tiered datastore usage using the local_tier_storage_<n> and local_tier_storage_<n>_<name> properties

local_tier_storage_<n>

true

e.g. local_tier_storage_1=false
Determines whether the defined datastore tier usage is enabled or not. Disabled datastore tier usages are not processed or passed to the Billing Connector. The default value is 'false'.

local_tier_storage_<n>_name



e.g. local_tier_storage_1_name=Bronze Tier
Specifies the name of an Abiquo datastore storage tier. This must EXACTLY match the datastore storage tier name,
as reported by the Abiquo GUI (or API).
Abiquo Billing Integration identifies Local Datastore Storage Tiers by name alone,
and will aggregate the usage of all Tiers that have the same name, even if they are in different datacenters

backup_usage

false

Process backup pricing per GB usage using the backup_policy_<n> and the backup_policy_<n>_code properties

backup_policy_<n>

false

e.g. backup_policy_2=false

backup_poliy_<n>_code



e.g. backup_policy_2_code=Backup 2

draas_protection_usage

false

If true, process VMs with DRaaS protection

cost_code_usage

false

If cost_code_usage is set to true, add properties into billing.properties for each Abiquo cost code that you define
and each Cost Code that you want Abiquo Billing Integration to collect usage data for

cost_code_<n>



Enable the defined cost code. Disabled Cost Code usages are not processed or passed to the Billing Connector

cost_code_<n>_name



e.g. cost_code_1_name=Win 2K8 Server
Specifies the name of the Cost Code.
This must EXACTLY match the cost code name, as reported by the Abiquo UI (or API).

hypervisor_usage

false

If hypervisor_usage is set to true, add properties into the billing.properties file for each hypervisor that you use on the platform
and each hypervisor that you want Abiquo Billing Integration to collect usage data for.

hypvisor_<n>

false

Enable the hypervisor with a number <n>, which is an incrementing number from 1.
Disabled hypervisors are not processed or passed to the Billing Connector

hypervisor_<n>_name



The value must EXACTLY match the hypervisor name, as reported by the Abiquo UI (or API)

custom_<n>

true

Enable the defined custom usage. Disabled custom usages are not processed or passed to the Billing Connector

custom_<n>_name



e.g. custom_1_name=ESXHypervisors
Specifies the name of the custom usage.
Note that the name will probably be used by the Billing Connectors to identify the custom usage to the Billing System,
so carefully consider the name of your custom usage to ensure that it adheres to any required name formats
(for example, some connectors will not allow spaces).

custom_<n>_id

1000+<n>

e.g. custom_1_id=1234
This is a unique numerical identifier for the custom usage.
This setting is optional, if it is not defined then Abiquo Billing Integration set a default value of 1000 + <n>.
Recommended value: 1000 - 2000

custom_<n>_ent_sql



SQL query. See Create custom billing usage queries with SQL

custom_<n>_vdc_sql



SQL query. See Create custom billing usage queries with SQL

custom_<n>_usage_ent_sql



SQL query to obtain the custom usage per enterprise. See Create custom billing usage queries with SQL

custom_<n>_cost_ent_sql



SQL query to obtain the cost per enterprise. See Create custom billing usage queries with SQL

custom_<n>_usage_vdc_sql



SQL query to obtain the custom usage per VDC. See Create custom billing usage queries with SQL

custom_<n>_cost_vdc_sql



SQL query to obtain the cost per VDC. See Create custom billing usage queries with SQL



Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved