Abiquo 5.2

Versions Compared


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


The billing integration is a separate stand-alone utility that should be installed . You should install it on a machine independent of other Abiquo software. It comprises the following components.


  • CSV: generates CSV files with Abiquo usage data
  • DBMS: populates a database table in any suitable MySQL database with Abiquo usage data. 


After you configure billing, set up separate processes to:

  • Run the billing integration on a regular basis, e.g. with a weekly scheduled task
  • Maintain the mappings between Abiquo entities and the billing account IDs

Install and Configure the Billing Integration


  1. Select a suitable billing server to install the software
    1. It must be able to connect to the main Abiquo database
    2. In a test environment, it may be the Abiquo Server
  2. On the billing server, unzip "abiquo-billing-redist.zip" file in the install location
  3. In the Abiquo database
    1. Create a user for billing and grant permissions to the user. For example


      CREATE USER 'billing'@'%' IDENTIFIED BY 'mypassword';
      GRANT SELECT,EXECUTE ON kinton.* TO 'billing'@'%';
      GRANT SELECT ON mysql.proc TO 'billing'@'%';
      GRANT SELECT ON kinton_accounting.* TO 'billing'@'%';

    2. Define the Abiquo enterprises and VDCs that the billing integration should generate Usage data for. Add a record for each enterprise or VDC to the account mapping table. 

      For example, to add mappings for all enterprises you would use the following SQL:

      Code Block
      INSERT INTO kinton.billing_account_mapping (idAbiquo, idMappingType, billingAttributeName, billingAttributeValue)
      (SELECT idEnterprise, 1, 'ENTERPRISE', e.name FROM kinton.enterprise e);

      For full details, see Populate the account mapping table for billing.
      Note: you must set up a separate process to maintain the account mapping table.

  4. If you are using the DBMS connector, create a target database and MySQL user account for the billing integration. Do not use the Abiquo database. You must also grant permissions, for example.


    CREATE DATABASE abiquo_billing CHARACTER SET=utf8;
    CREATE USER 'bill'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON abiquo_billing.* TO 'bill'@'%';

  5. On the billing server, configure the billing.properties file in the same folder as the billing.sh script.

    1. Set the connector_name property to "CSV" or "DBMS" for your connector. And enter the details of the billing user and IP address to access the Abiquo database.

      Code Block

      For full details, see Configure billing properties 

  6. On the billing server, Configure the connector properties file in the same folder as the billing.sh script. 

    1. For the CSV connector, edit csv.properties.
      Set the provider_mapping_name property.



      For full details of CSV connector configuration, see CSV Billing Integration

    2. For the DBMS connector, edit dbms.properties. 
      Set the provider_mapping_name and also add the credentials for the output database


      dbms_connection_url=jdbc:mysql://<Bill Data IP Address>:3306/abiquo_billing

      For full details of DBMS connector configuration, see DBMS Billing Integration

  7. Run the billing.sh file ('./billing.sh' from the install directory) to generate the usage data.

  8. Check the generated usage data. CSV files are in the 'CSV_files' folder of the installation directory and DBMS data is in the abiquo_billing_data table in your database.