Service Utilization API

Scality’s Zenko provides a Service Utilization API (UTAPI) for resource utilization tracking and metrics reporting.

UTAPI includes information on RING storage capacity, the number of bytes transferred in and out of the service, and the number of operations performed on the service. It extends the basic AWS S3 REST API, enabling a comprehensive, on-premises resource utilization tracking solution, as required by service providers for external billing or internal charge-back reporting capabilities. AWS provides these reporting capabilities through peripheral services such as AWS CloudWatch monitoring and the AWS dashboard, but not currently through the AWS S3 protocol.

UTAPI is deployed and accessed through a RESTful API that is securely authenticated via HTTPS, on a dedicated web server and port. The service is integrated with the Zenko IAM policies for access control through the utapi:ListMetrics policy action.

To enable access, an IAM policy must first be created that grants permission for this action, after which the policy must be assigned to the IAM Users or IAM Groups that are permitted to access the service metrics.

For efficiency, a global maximum of 100 entities per call is enforced for the Bucket entities.

Federation currently starts the UTAPI server at S3 port + 100 on the S3 container.

env_s3_port | default(8000)) + 100


Use AWS Signature Version 4 to authenticate UTAPI requests.

UTAPI Error Codes

The following error codes may be returned by the Service Utilization API (UTAPI):

Error Code Description HTTP Status Code
AccessDenied The requester does not have access to the resource or action. 403
IncompleteSignature The request signature does not conform to AWS V4 standards. 403
InternalError The request processing has failed because of an unknown error, exception or failure. 500
InvalidAction The action or operation requested is invalid. Verify that the action is typed correctly. 400
InvalidAccessKeyId The AWS access key ID provided does not exist in our records. 403
InvalidParameterCombination An invalid or outofrange value was supplied for the input parameter. 400
InvalidParameterValue The start time or end time value is invalid. Start time cannot be greater than end time. 400
InvalidQueryParameter The query string is malformed. 400
MalformedQueryString The query string contains a syntax error. 404
MissingAction The request is missing an action or a required parameter. 400
MissingAuthenticationToken The request must contain a valid (registered) access key ID. 403
MissingParameter A required parameter for the specified action is not supplied. 400
RequestExpired The request reached the service more than 15 minutes after the date stamp on the request or more than 15 minutes after the request expiration date (such as for presigned URLs), or the date stamp on the request is more than 15 minutes in the future. 400
ValidationError The input fails to satisfy the constraints specified by the UTAPI service. 400