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 |
---|---|---|---|
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.
| ||
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. | |
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 |
---|---|---|
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. |
reserved_server_memory_usage | false | If true, process the RAM of servers that have been explicitly reserved for an Enterprise. |
repository_usage | false | If true, process the repository usage (VM Templates and Instances) of an Enterprise. |
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 |
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 | |
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 | |
custom_<n>_id | 1000+<n> | e.g. custom_1_id=1234 |
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-2022, Abiquo Holdings SL. All rights reserved