Abiquo 6.1 introduces integrated on premise billing. See On premise billing.
The on-premise billing data will automatically display on the dashboard.
The separate Abiquo private-billing module described on this page will be deprecated in future versions of Abiquo
To display private cloud billing data on the Abiquo billing dashboard, you can use the private billing module with the Abiquo billing integration .
Before you begin:
Configure pricing, e.g. with cost codes (see Create an extra charge ) for VM templates and/or Hardware profiles , or resource prices in a pricing model, to assign positive costs to resources (such as VMs). If you don't have this configuration, every billing entry will be set to zero and your billing data will have no costs!
If you are already using billing with CSV format output, please contact Abiquo Support.
To display private cloud billing data on the Abiquo billing dashboard widgets:
Configure the Abiquo billing integration to output in DBMS format.
See /wiki/spaces/doctest/pages/311374535 and /wiki/spaces/doctest/pages/311374551.
In the dbms.properties file, you must setrow_per_usage
totrue
.
You may need to regenerate theabiquo_billing.abiquo_billing_data
table. See next steps.DB: If you have data in the
abiquo_billing.abiquo_billing_data
tableBack up the database
Contact Abiquo Support before you delete the table
DB: If the table
abiquo_billing.abiquo_billing_data
is empty, and you need to change the file dbms.properties, delete the table and regenerate billing data before you continue.UI: Create a new global role (suggested name:
abiquo_billing
) and assign these privileges only:Home → List enterprises within scope
Home → Allow user to switch enterprise
Home → Manage bills
UI: Create a new user (suggested user name:
abiquo.billing
) and assign it to the the role created in the previous step.OS: Enable the EPEL 7 repository.
sudo yum install --assumeyes epel-release
OS: Install the package
abiquo-billing-private
on an appropriate server (typically, this would be the Reporting server).OS: Edit the file
/opt/abiquo-billing-private/run.sh
and at the end of every Python script call, append the parameter -p and the appropriate value:-p VMX_04 for VMware vCenter Server
-p VCENTER_CLUSTER for VMware vCenter Cluster
OS: Edit the file
/opt/abiquo-billing-private/config/config.yml
and enter the required information.
For example, if you have a replica database on your reporting server which is accessed by the database userbilling
:abiquo_database: host: localhost username: billing password: yourmysqlsecurepasswordforthebillinguser port: 3306 database: kinton billing_database: host: localhost username: billing password: yourmysqlsecurepasswordforthebillinguser port: 3306 database: abiquo_billing abiquo: api_url: https://localhost/api user: abiquo.billing password: yoursupersecurepassword
Deploy a VM to start collecting billing information.
There is a cron entry to run this process nightly, see Additional information below. To run the process on demand, get the command from the cron entry.
In the UI, the private billing information should now display on the Dashboard, and by default this is on the Hybrid tab.
Additional information
The log and cron details are as follows.
The log files for the private billing nightly process are at
/var/log/abiquo-billing-private-*-pusher.log
The log rotate configuration for the process is at
/etc/logrotate.d/abiquo-billing-private
The cron entry that executes the process nightly is at
/etc/cron.d/abiquo-billing-private
Push customer details to VMs
You may store tenant details as enterprise properties. In order to match accounting details with customer resources, you can also push the tenant details to their VMs.
For more details, see https://abiquo.atlassian.net/wiki/spaces/doc/pages/327581812/Manage+enterprise+credentials+and+properties#Inject-enterprise-properties-as-VM-variables