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|