Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

Abiquo 6.1 introduces integrated on premise billing. See With On premise billing.
The Abiquo automatically displays on-premise billing data will automatically display on the dashboardcloud dashboards.

The separate Abiquo private-billing module described on this page will be deprecated in future versions of Abiquo

To In versions prior to Abiquo 6.1, to display private cloud billing data on the Abiquo billing dashboard, you can use the private billing module with the Abiquo billing integration.

Mermaid
fileNamemermaid_1656428467200
themedefault
version4
{"diagramDefinition":"flowchart TD;\n    AbiquoServer[Abiquo Sever] --> |prices| AbiquoBilling[Abiquo billing] \n    AbiquoServer[Abiquo Server] --> |usage| AbiquoBilling[Abiquo billing] \n    AbiquoBilling[Abiquo billing\\nintegration] --> BillingFile[Billing data\\nDBMS or CSV] --> Private[Private Billing] \n    Private[Private Billing] -->  |billing data\\nfor dashboard| AbiquoServer[Abiquo Server]\n    subgraph Abiquo\n        AbiquoServer\n    end\n        style AbiquoServer fill:#ec9032,stroke:#666,stroke-width:2px,color:#fff\n        style AbiquoBilling fill:#ec9032,stroke:#666,stroke-width:2px,color:#fff\n        style BillingFile fill:#999999,stroke:#666,stroke-width:2px,color:#fff,stroke-dasharray: 5 5\n        style Abiquo fill:#DDDDDD,stroke:#666,stroke-width:2px,color:#fff,stroke-dasharray: 5 5\n        style Private fill:#ec9032,stroke:#666,stroke-width:2px,color:#fff"}

Before you begin:

  1. 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!

  2. 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:

  1. Configure the Abiquo billing integration to output in DBMS format.
    See /wiki/spaces/doctest/pages/311374535 and /wiki/spaces/doctest/pages/311374551.
    (warning) In the dbms.properties file, you must set row_per_usage to true.
    (warning) You may need to regenerate the abiquo_billing.abiquo_billing_data table. See next steps.

  2. DB: If you have data in the abiquo_billing.abiquo_billing_data table

    1. Back up the database 

    2. Contact Abiquo Support before you delete the table

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

  4. UI: Create a new global role (suggested name: abiquo_billing) and assign these privileges only:

    1. Home → List enterprises within scope

    2. Home → Allow user to switch enterprise

    3. Home → Manage bills

  5. UI: Create a new user (suggested user name: abiquo.billing) and assign it to the the role created in the previous step.

  6. OS: Enable the EPEL 7 repository.

    Code Block
    sudo yum install --assumeyes epel-release
  7. OS: Install the package abiquo-billing-private on an appropriate server (typically, this would be the Reporting server).

  8. 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:

    1. -p VMX_04 for VMware vCenter Server

    2. -p VCENTER_CLUSTER for VMware vCenter Cluster

  9. 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 user billing:

    Code Block
    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
  10. Deploy a VM to start collecting billing information.

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

  12. 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 See Display private cloud billing data.