Querying Scaling Action Logs (V2)

Function

This API is used to query scaling action logs based on search criteria. The scaling actions include increasing instances and migrating instances to balance load. The results are displayed by page.

  • The difference between the V2 and V1 APIs for querying scaling action logs is that V2 displays more detailed action logs, such as ELB migration logs.

  • Search criteria can be the start time, end time, start line number, number of records, and scaling action type.

  • If no search criteria are specified, a maximum of 20 scaling action logs can be queried by default.

URI

GET /autoscaling-api/v2/{project_id}/scaling_activity_log/{scaling_group_id}

Note

You can type the question mark (?) and ampersand (&) at the end of the URI to define multiple search criteria. Scaling action logs can be searched by all optional parameters in the following table. For details, see the example request.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

scaling_group_id

Yes

String

Specifies the AS group ID.

log_id

No

String

Specifies the scaling action log ID.

start_time

No

String

Specifies the start time that complies with UTC for querying scaling action logs. The format of the start time is yyyy-MM-ddThh:mm:ssZ.

end_time

No

String

Specifies the end time that complies with UTC for querying scaling action logs. The format of the end time is yyyy-MM-ddThh:mm:ssZ.

start_number

No

Integer

Specifies the start line number. The default value is 0. The minimum parameter value is 0.

limit

No

Integer

Specifies the number of query records. The default value is 20. The value ranges from 0 to 100.

type

No

String

Specifies the types of the scaling actions to be queried. Different types are separated by commas (,).

  • NORMAL: indicates a common scaling action.

  • MANUAL_REMOVE: indicates manually removing instances from an AS group.

  • MANUAL_DELETE: indicates manually removing and deleting instances from an AS group.

  • MANUAL_ADD: indicates manually adding instances to an AS group.

  • ELB_CHECK_DELETE: indicates that instances are removed from an AS group and deleted based on the ELB health check result.

  • AUDIT_CHECK_DELETE: indicates that instances are removed from an AS group and deleted based on the OpenStack audit.

  • DIFF: indicates that the number of expected instances is different from the actual number of instances.

  • MODIFY_ELB: indicates the load balancer migration.

status

No

String

Specifies the status of the scaling action.

  • SUCCESS: The scaling action has been performed.

  • FAIL: Performing the scaling action failed.

  • DOING: The scaling action is being performed.

Request Message

  • Request parameters

    None

  • Example request

    This example shows how to query the scaling action logs of the AS group with ID e5d27f5c-dd76-4a61-b4bc-a67c5686719a. The start time is 2018-11-22T00:00:00Z, and the end time is 2018-11-22T14:00:00Z.

    GET https://{Endpoint}/autoscaling-api/v2/{project_id}/scaling_activity_log/e5d27f5c-dd76-4a61-b4bc-a67c5686719a?start_time=2018-11-22T00:00:00Z&end_time=2018-11-22T14:00:00Z
    

Response Message

  • Response parameters

    Table 2 Response parameters

    Parameter

    Type

    Description

    total_number

    Integer

    Specifies the total number of query records.

    start_number

    Integer

    Specifies the start line number.

    limit

    Integer

    Specifies the maximum number of resources to be queried.

    scaling_activity_log

    Array of scaling_activity_log objects

    Specifies scaling action logs. For details, see Table 3.

    Table 3 scaling_activity_log field description

    Parameter

    Type

    Description

    status

    String

    Specifies the status of the scaling action.

    • SUCCESS: The scaling action has been performed.

    • FAIL: Performing the scaling action failed.

    • DOING: The scaling action is being performed.

    start_time

    String

    Specifies the start time of the scaling action. The time format must comply with UTC.

    end_time

    String

    Specifies the end time of the scaling action. The time format must comply with UTC.

    id

    String

    Specifies the scaling action log ID.

    instance_removed_list

    Array of scaling_instance objects

    Specifies names of the ECSs that are removed from the AS group in a scaling action. For details, see Table 4.

    instance_deleted_list

    Array of scaling_instance objects

    Specifies names of the ECSs that are removed from the AS group and deleted in a scaling action. For details, see Table 4.

    instance_added_list

    Array of scaling_instance objects

    Specifies names of the ECSs that are added to the AS group in a scaling action. For details, see Table 4.

    instance_failed_list

    Array of scaling_instance objects

    Specifies the ECSs for which a scaling action fails. For details, see Table 4.

    instance_standby_list

    Array of scaling_instance objects

    Specifies the ECSs that are set to standby mode or for which standby mode is canceled in a scaling action. For details, see Table 4. This parameter is reserved.

    scaling_value

    String

    Specifies the number of added or deleted instances during the scaling.

    description

    String

    Specifies the description of the scaling action.

    instance_value

    Integer

    Specifies the number of instances in the AS group.

    desire_value

    Integer

    Specifies the expected number of instances for the scaling action.

    lb_bind_success_list

    Array of modify_lb objects

    Specifies the load balancers that are bound to the AS group. For details, see Table 5.

    lb_bind_failed_list

    Array of modify_lb objects

    Specifies the load balancers that failed to be bound to the AS group. For details, see Table 5.

    lb_unbind_success_list

    Array of modify_lb objects

    Specifies the load balancers that are unbound from the AS group. For details, see Table 5.

    lb_unbind_failed_list

    Array of modify_lb objects

    Specifies the load balancers that failed to be unbound from the AS group. For details, see Table 5.

    type

    String

    Specifies the type of the scaling action.

    Table 4 scaling_instance field description

    Parameter

    Type

    Description

    instance_name

    String

    Specifies the ECS name.

    instance_id

    String

    Specifies the ECS ID.

    failed_reason

    String

    Specifies the cause of the instance scaling failure.

    failed_details

    String

    Specifies details of the instance scaling failure.

    instance_config

    String

    Specifies the information about instance configurations.

    Table 5 modify_lb field description

    Parameter

    Type

    Description

    lbaas_listener

    lbaas_listener object

    Specifies information about an enhanced load balancer. For details, see Table 6.

    listener

    String

    Specifies information about a classic load balancer.

    failed_reason

    String

    Specifies the cause of a load balancer migration failure.

    failed_details

    String

    Specifies the details of a load balancer migration failure.

    Table 6 lbaas_listener field description

    Parameter

    Type

    Description

    listener_id

    String

    Specifies the listener ID.

    pool_id

    String

    Specifies the backend ECS group ID.

    protocol_port

    Integer

    Specifies the backend protocol port, which is the port on which a backend ECS listens for traffic.

    weight

    Integer

    Specifies the weight, which determines the portion of requests a backend ECS processes when being compared to other backend ECSs added to the same listener.

  • Example response

    {
        "limit": 20,
        "scaling_activity_log": [
        {
          "id": "8753a18c-931d-4cb8-8d49-6c99396af348",
          "instance_value": 0,
          "desire_value": 0,
          "scaling_value": 0,
          "start_time": "2018-11-22T13:46:20Z",
          "end_time": "2018-11-22T13:47:38Z",
          "status": "SUCCESS",
          "lb_bind_success_list": [
            {
              "lbaas_listener": {
                "weight": 1,
                "listener_id": null,
                "pool_id": "0f0a9dd8-2e1d-4432-8ca2-49adc75aa662",
                "protocol_port": 82
              }
            }
          ],
          "lb_bind_failed_list": [],
          "lb_unbind_success_list": [],
          "lb_unbind_failed_list": [],
          "type": "MODIFY_ELB"
        },
        {
          "id": "44152cf2-a005-4507-b6e9-66a2a64eff52",
          "instance_value": 0,
          "desire_value": 1,
          "scaling_value": 1,
          "start_time": "2018-11-22T13:44:22Z",
          "end_time": "2018-11-22T13:46:02Z",
          "instance_added_list": [
            {
              "instance_id": "8e273bac-d303-46dc-9883-628be2294bdf",
              "instance_name": "as-config-t66a_9W8L9SSK"
            }
          ],
          "instance_deleted_list": [],
          "instance_removed_list": [],
          "instance_failed_list": [],
          "status": "SUCCESS",
          "description": "{\"reason\":[{\"change_reason\":\"MANNUAL\",\"old_value\":0,\"change_time\":\"2018-11-22T13:44:19Z\",\"new_value\":1}]}",
          "type": "NORMAL"
        }
    ],
        "total_number": 2,
        "start_number": 0
    }
    

Returned Values

  • Normal

    200

  • Abnormal

    Returned Value

    Description

    400 Bad Request

    The server failed to process the request.

    401 Unauthorized

    You must enter the username and password to access the requested page.

    403 Forbidden

    You are forbidden to access the requested page.

    404 Not Found

    The server could not find the requested page.

    405 Method Not Allowed

    You are not allowed to use the method specified in the request.

    406 Not Acceptable

    The response generated by the server could not be accepted by the client.

    407 Proxy Authentication Required

    You must use the proxy server for authentication to process the request.

    408 Request Timeout

    The request timed out.

    409 Conflict

    The request could not be processed due to a conflict.

    500 Internal Server Error

    Failed to complete the request because of an internal service error.

    501 Not Implemented

    Failed to complete the request because the server does not support the requested function.

    502 Bad Gateway

    Failed to complete the request because the request is invalid.

    503 Service Unavailable

    Failed to complete the request because the system is unavailable.

    504 Gateway Timeout

    A gateway timeout error occurred.

Error Codes

See Error Codes.