Introduction
Abiquo supports collectd with an integration in the multi-cloud platform to enable you to easily work with custom VM monitoring and metrics in public cloud providers, including Amazon, Azure, and Google Cloud, as well as VMware vCenter. In the Abiquo multi-cloud platform you can create alerts and automation based on your custom metrics. For example, you can automatically scale out your VMs based on your application metrics. After you configure collectd and the Abiquo collectd plugin, the plugin will automatically push the values from collectd to the Abiquo API using a specific Abiquo API endpoint for collectd. As with other custom metrics, the Abiquo API then pushes the collectd metrics to the Abiquo Monitoring Server.
How to install and configure collected for VMs in Abiquo
The following steps are a general guide:
- In Abiquo, create an OAuth application in Abiquo for collectd. See Add an application for OAuth
- Assign the privilege to “Allow user to push own metrics” privilege
- Install collectd on your VM
- Install the Abiquo collectd plugin (from source or using the Abiquo Chef cookbook).
- Configure the Abiquo API path to push the metrics to the VM in Abiquo. Check the correct format of the API path in the API documentation
- Configure your metrics in collectd
The Abiquo collectd plugin will automatically push all collectd metrics to the Abiquo API in PUTVAL JSON format.
To display the VM metrics in Abiquo:
- Edit your VM and go to Monitoring
- Select Fetch metrics data.
- Optionally select the monitoring level on providers that support it, e.g. AWS
- Select the metrics to display
- Save your changes to the VM
- If your VM is not running, deploy to launch the VM. Wait several minutes for the server to return metrics
- On the VM icon near the top right corner, click the metrics symbol. Or for the Virtual appliance, go to Monitoring → Virtual machines
- Configure the metrics display as required
Automate the install of collectd using Chef
This is an example use case with Chef using the Abiquo Chef cookbook.
- In Abiquo, the administrator creates an OAuth application in Abiquo for collectd. See Add an application for OAuth
- Assign the privilege to “Allow user to push own metrics” privilege
- On the Chef server, the administrator creates a role with the following:
- The monitoring recipes to install the Abiquo collectd plugin
- The OAuth tokens for the application configured
- In Abiquo, users edit the VM and go to Chef, then select the appropriate collectd role.
Abiquo recommends this kind of automation because the OAuth application belongs to the tenant administrator. This means that the administrator prepares the configuration for users, it is easy to apply it automatically on a large scale, and the administrator can protect the configuration from accidental changes when users load their own Chef recipes, etc.
Related links
- Collectd website: http://collectd.org/
- Abiquo-collectd plugin: https://github.com/abiquo/collectd-abiquo
- Abiquo Chef cookbook for the collectd plugin: https://github.com/abiquo/collectd-abiquo-cookbook
- Abiquo API documentation of VM resource: VirtualMachinesResource
- Push collected data to a VM: https://wiki.abiquo.com/api/latest/VirtualMachinesResource.html#push-collectd-values-on-a-virtual-machine
- Example collectd metrics push: POST_cld_vdcs_X_vapps_X_vms_X_collectd_CT_app_j
Example collectd data object
Here is an example of a data entity to update a virtual machine with the collectd metrics specification.