Service metrics

As a practical extension to Abiquo’s XAAS (Anything as a Service) system, Abiquo 6.1 introduces service metrics and monitoring, which is similar to VM metrics and monitoring and uses the same Abiquo Watchtower server. (See https://abiquo.atlassian.net/wiki/spaces/doc/pages/311374901).

Initially, service metrics are available for the Amazon RDS service and the new Azure Database for MySQL service.

Service metrics are similar to VM metrics
Service metrics are similar to VM metrics

After you configure a service, you can access service metrics. In this initial version, you will need to activate metrics because they are not enabled automatically for all services as for VM metrics.

To enable and display service metrics, just go to the service and click the graph button on the right near the Results section. The metrics button will display for the main service configuration, but metrics are available for the database instances only.

Enable and display service metrics
Enable and display service metrics

By default, you can display the standard metrics that the plugin and service provides, which are similar to the standard VM ‘built-in’ metrics. Abiquo will retrieve all the standard metrics and then you can select the metrics to display (as for VM metrics).

As for VM metrics, you can also filter the service metrics by statistics and control the granularity and period to display.

You can also use the Abiquo API to push ad-hoc metrics and display these custom metrics. See https://abiquo.atlassian.net/wiki/spaces/doc/pages/311367973

To request the latest metrics, you can click the Update now button in the user interface. And you can enter the update Frequency (minutes) in the user interface, where the default value is 5 minutes. Abiquo can update the metrics when the service provides new metrics only. You can change the default frequency by setting the abiquo.service.state.monitoring.frequencyinminutes property on the API server.

You can create an alarm for each metric from the alarm button at the top right of each graph, as for VM metrics. The alarm value will then display on the graph.

To enlarge or shrink a graph, click on the diagonal arrow button in the top right corner of the graph. After you enlarge a graph, to show or hide an alarm or metric value, click the radio button near its name.

 

Service metrics via API

The service metrics are managed through the ServiceStates resource, which is described in the Abiquo API reference documentation. See https://wiki.abiquo.com/api/latest.

For managing metrics, the servicestate data entity (mediatype) has the attributes “monitored”, “updatedMonitoring”, and “frequencyMonitoring”.

If the serviceschema has a metric action, then the servicestate mediatype includes links to:

  • GET service metric metadata (from the /servicestates/x/metrics endpoint using application/vnd.abiquo.metricsmetadata mediatype, as for other Abiquo metrics)

  • Enable fetch of metrics (POST /servicestates/x/enablemonitoring) or if already enabled, disable metrics fetch (POST /servicestates/x/disablemonitoring)

The servicestate /metrics subresource works the same as the other metrics resources. For example, you can create alarms on the metrics, and you can push custom metrics.

There is also a new endpoint similar to the one to get the current state or start a new state update. To force the update of metrics use:

  • POST servicestates/x/metrics - application/vnd.abiquo.asynctask

Examples:

curl -k -uadmin:xabiquo -XPOST https://abiquo.example.com/api/cloud/servicestates/2/enablemonitoring curl -k -uadmin:xabiquo -XGET https://abiquo.example.com/api/cloud/servicestates/2/metrics/ReadIOPS

You can also use a PUT to the servicestate to update the frequencyMonitoring.

 

Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved