Autoscaling for instances
Autoscaling for instances Red Hat OpenStack Services on OpenShift 18.0 Configuring autoscaling in Red Hat OpenStack Services on OpenShift OpenStack Documentation Team rhos-docs@redhat.com
47,49c50,53 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id} 68,70c67,70 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id} oc edit oscp heat: enabled: true telemetry: apiOverride: {} enabled: true template: autoscaling: enabled: true heatInstance: heat ceilometer: enabled: true metricStorage: enabled: true oc get heat heat -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True oc get ceilometer ceilometer -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True oc get autoscaling autoscaling -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True oc get metricstorage metric-storage -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True oc rsh openstackclient openstack endpoint list --service alarming +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+ | 62d20961a3354daa8adf52db62cc809d | regionOne | aodh | alarming | True | public | https://aodh-public-openstack.apps.example.testing | | 8e526119b01248aba8d304de627a6267 | regionOne | aodh | alarming | True | internal | http://aodh-internal.openstack.svc:8042 | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+ oc rsh openstackclient openstack endpoint list --service orchestration +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+ | 77190103ae3b479290138ebeca4a54d7 | regionOne | heat | orchestration | True | internal | http://heat-api-internal.openstack.svc:8004/v1/%(tenant_id)s | | c302ee5ff5cc45709d20b2d4a872d08f | regionOne | heat | orchestration | True | public | https://heat-api-public-openstack.apps.example.testing/v1/%(tenant_id)s | +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+ oc rsh openstackclient openstack metric query up --disable-rbac -c instance -c container -c value +----------------------+----------------------+-------+ | instance | container | value | +----------------------+----------------------+-------+ | 10.217.1.27:9093 | alertmanager | 1 | | 10.217.1.27:9093 | prometheus | 0 | | 10.217.1.52:3000 | proxy-httpd | 1 | | 10.217.0.169:3000 | | 1 | | 192.168.122.100:9100 | | 1 | | 192.168.122.101:9100 | | 1 | +----------------------+----------------------+-------+ oc rsh openstackclient mkdir -p /tmp/templates cat <<EOF > /tmp/templates/instance.yaml heat_template_version: wallaby description: Template to control scaling of VNF instance parameters: metadata: type: json image: type: string description: image used to create instance default: cirros flavor: type: string description: instance flavor to be used default: m1.small network: type: string description: project network to attach instance to default: private external_network: type: string description: network used for floating IPs default: public resources: vnf: type: OS::Nova::Server properties: flavor: {get_param: flavor} image: { get_param: image } metadata: { get_param: metadata } networks: - port: { get_resource: port } port: type: OS::Neutron::Port properties: network: {get_param: network} security_groups: - basic floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: {get_param: external_network } floating_ip_assoc: type: OS::Neutron::FloatingIPAssociation properties: floatingip_id: { get_resource: floating_ip } port_id: { get_resource: port } EOF cat <<EOF > /tmp/templates/resources.yaml resource_registry: "OS::Nova::Server::VNF": /tmp/templates/instance.yaml EOF cat <<EOF > /tmp/templates/autoscaling.yaml heat_template_version: wallaby description: Example auto scale group, policy and alarm resources: autoscalinggroup: type: OS::Heat::AutoScalingGroup properties: cooldown: 300 desired_capacity: 1 max_size: 3 min_size: 1 resource: # Configure the resource to be autoscaled type: OS::Nova::Server::VNF properties: metadata: {"metering.server_group": {get_param: "OS::stack_id"}} scaleup_policy: type: OS::Heat::ScalingPolicy properties: adjustment_type: change_in_capacity auto_scaling_group_id: { get_resource: autoscalinggroup } cooldown: 300 scaling_adjustment: 1 scaledown_policy: type: OS::Heat::ScalingPolicy properties: adjustment_type: change_in_capacity auto_scaling_group_id: { get_resource: autoscalinggroup } cooldown: 300 scaling_adjustment: -1 cpu_alarm_high: type: OS::Aodh::PrometheusAlarm properties: description: Scale up if CPU > 80% threshold: 80 # 80% comparison_operator: gt alarm_actions: - str_replace: template: trust+url params: url: {get_attr: [scaleup_policy, signal_url]} query: str_replace: # ceilometer_cpu metric is in ns. Divide the rate by 10000000 to get percentage # The time duration in [] should be higher than ceilometer polling interval # You can add {ceilometer polling} to {prometheus scrape interval} to calculate the value. # The default value is 150s. template: "(rate(ceilometer_cpu{server_group=~'stack_id'}[150s]))/10000000" params: stack_id: {get_param: OS::stack_id} cpu_alarm_low: type: OS::Aodh::PrometheusAlarm properties: description: Scale up if CPU < 20% threshold: 20 # 20% comparison_operator: lt alarm_actions: - str_replace: template: trust+url params: url: {get_attr: [scaledown_policy, signal_url]} query: str_replace: # ceilometer_cpu metric is in ns. Divide the rate by 10000000 to get percentage # The time duration in [] should be higher than ceilometer polling interval # You can add {ceilometer polling} to {prometheus scrape interval} to calculate the value. # The default value is 150s. template: "(rate(ceilometer_cpu{server_group=~'stack_id'}[150s]))/10000000" params: stack_id: {get_param: OS::stack_id} outputs: scaleup_policy_signal_url: value: {get_attr: [scaleup_policy, signal_url]} scaledown_policy_signal_url: value: {get_attr: [scaledown_policy, signal_url]} EOF oc rsh openstackclient openstack stack create -t /tmp/templates/autoscaling.yaml -e /tmp/templates/resources.yaml stack1 openstack stack show stack1 -c id -c stack_status +--------------+--------------------------------------+ | Field | Value | +--------------+--------------------------------------+ | id | 9ac44c45-4917-4cd5-a713-9ef7828d8457 | | stack_status | CREATE_COMPLETE | +--------------+--------------------------------------+ export STACK_ID=USD(openstack stack show stack1 -c id -f value) openstack stack resource list USDSTACK_ID +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | resource_name | physical_resource_id | resource_type | resource_status | updated_time | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | scaleup_policy | 3cfb2a746dcf4fb6b3284b6c164e4ff5 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | scaledown_policy | ef60360ae7564abda088e67b3cc542f4 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_low | 95503054-aada-457c-b586-f98a88b00962 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_high | 65be604f-1262-4567-851d-ac28ae1bb178 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | autoscalinggroup | 8c4fea31-3beb-47b7-841d-fe82fb284628 | OS::Heat::AutoScalingGroup | CREATE_COMPLETE | 2024-03-26T09:17:54Z | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ openstack server list --long | grep USDSTACK_ID | 9e2e9266-d69e-4de1-8b3a-e75f7111d1d9 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-hdtuapbjxcow-q366nn4k5utr | ACTIVE | None | Running | private=192.168.0.209, 192.168.122.205 | cirros | 239959f7-3d16-4744-8eca-435cdfc1a4cf | m1.small | nova | edpm-compute-0.ctlplane.example.com | metering.server_group='9ac44c45-4917-4cd5-a713-9ef7828d8457' | UP | openstack alarm list +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | 65be604f-1262-4567-851d-ac28ae1bb178 | prometheus | stack1-cpu_alarm_high-q5yw2fg4h2vh | ok | low | True | | 95503054-aada-457c-b586-f98a88b00962 | prometheus | stack1-cpu_alarm_low-hjmpszetdpsw | alarm | low | True | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ openstack stack resource list USDSTACK_ID +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | resource_name | physical_resource_id | resource_type | resource_status | updated_time | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | scaleup_policy | 3cfb2a746dcf4fb6b3284b6c164e4ff5 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | scaledown_policy | ef60360ae7564abda088e67b3cc542f4 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_low | 95503054-aada-457c-b586-f98a88b00962 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_high | 65be604f-1262-4567-851d-ac28ae1bb178 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | autoscalinggroup | 8c4fea31-3beb-47b7-841d-fe82fb284628 | OS::Heat::AutoScalingGroup | CREATE_COMPLETE | 2024-03-26T09:17:54Z | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ openstack metric query "(rate(ceilometer_cpu{server_group=~'ac2e87ba-f55e-46e7-8f8d-f09fe91d63d1'}[150s]))/10000000" +---------+--------------------------------------+----------------------------------------+----------------------------------+--------------------------------------+-------------------------------------------------------------------------+--------------------------------------+------+------+----------------------------------+----------------------------------------------------------+--------------------+ | counter | cpu | instance | project | resource | resource_name | server_group | type | unit | user | vm_instance | value | +---------+--------------------------------------+----------------------------------------+----------------------------------+--------------------------------------+-------------------------------------------------------------------------+--------------------------------------+------+------+---------------------------- oc rsh openstackclient openstack server list | grep cirros ssh cirros@192.168.122.8 [instance ~]USD sudo dd if=/dev/zero of=/dev/null & [instance ~]USD sudo dd if=/dev/zero of=/dev/null & [instance ~]USD sudo dd if=/dev/zero of=/dev/null & openstack alarm list +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | 3000766d-a7fc-4187-98ea-cafd1239c160 | prometheus | stack1-cpu_alarm_low-n3iy7oaffq4i | ok | low | True | | 899f8242-96dd-4bad-a7f9-0b9526ea6032 | prometheus | stack1-cpu_alarm_high-riua4sthkvcs | alarm | low | True | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ openstack server list +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+ | 53ffb3c5-a425-4929-b01d-50d653fe23f8 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-qn7drottgjek-3oiecx4gkowi | ACTIVE | private=192.168.0.116, 192.168.122.204 | cirros | m1.small | | 9e2e9266-d69e-4de1-8b3a-e75f7111d1d9 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-hdtuapbjxcow-q366nn4k5utr | ACTIVE | private=192.168.0.209, 192.168.122.205 | cirros | m1.small | +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+ openstack server list +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | 477ee1af-096c-477c-9a3f-b95b0e2d4ab5 | ex-3gax-4urpikl5koff-yrxk3zxzfmpf-server-2hde4tp4trnk | ACTIVE | - | Running | internal1=10.10.10.13, 192.168.122.17 | | e1524f65-5be6-49e4-8501-e5e5d812c612 | ex-3gax-5f3a4og5cwn2-png47w3u2vjd-server-vaajhuv4mj3j | ACTIVE | - | Running | internal1=10.10.10.9, 192.168.122.8 | | 6c88179e-c368-453d-a01a-555eae8cd77a | ex-3gax-fvxz3tr63j4o-36fhftuja3bw-server-rhl4sqkjuy5p | ACTIVE | - | Running | internal1=10.10.10.5, 192.168.122.5 | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ sudo killall dd openstack alarm list +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | 98dbbf20-44ec-4aa9-bb42-14f75b184dad | prometheus | stack1-cpu_alarm_high-xed3bp5mrscw | ok | low | True | | d3dd58e9-b802-4b52-9c00-7932e59a49c2 | prometheus | stack1-cpu_alarm_low-bjql75566bkn | alarm | low | True | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ oc rsh openstackclient openstack stack event list example 2017-03-06 11:12:43Z [example]: CREATE_IN_PROGRESS Stack CREATE started 2017-03-06 11:12:43Z [example.scaleup_group]: CREATE_IN_PROGRESS state changed 2017-03-06 11:13:04Z [example.scaleup_group]: CREATE_COMPLETE state changed 2017-03-06 11:13:04Z [example.scaledown_policy]: CREATE_IN_PROGRESS state changed 2017-03-06 11:13:05Z [example.scaleup_policy]: CREATE_IN_PROGRESS state changed 2017-03-06 11:13:05Z [example.scaledown_policy]: CREATE_COMPLETE state changed 2017-03-06 11:13:05Z [example.scaleup_policy]: CREATE_COMPLETE state changed 2017-03-06 11:13:05Z [example.cpu_alarm_low]: CREATE_IN_PROGRESS state changed 2017-03-06 11:13:05Z [example.cpu_alarm_high]: CREATE_IN_PROGRESS state changed 2017-03-06 11:13:06Z [example.cpu_alarm_low]: CREATE_COMPLETE state changed 2017-03-06 11:13:07Z [example.cpu_alarm_high]: CREATE_COMPLETE state changed 2017-03-06 11:13:07Z [example]: CREATE_COMPLETE Stack CREATE completed successfully 2017-03-06 11:19:34Z [example.scaleup_policy]: SIGNAL_COMPLETE alarm state changed from alarm to alarm (Remaining as alarm due to 1 samples outside threshold, most recent: 95.4080102993) 2017-03-06 11:25:43Z [example.scaleup_policy]: SIGNAL_COMPLETE alarm state changed from alarm to alarm (Remaining as alarm due to 1 samples outside threshold, most recent: 95.8869217299) 2017-03-06 11:33:25Z [example.scaledown_policy]: SIGNAL_COMPLETE alarm state changed from ok to alarm (Transition to alarm due to 1 samples outside threshold, most recent: 2.73931707966) 2017-03-06 11:39:15Z [example.scaledown_policy]: SIGNAL_COMPLETE alarm state changed from alarm to alarm (Remaining as alarm due to 1 samples outside threshold, most recent: 2.78110858552) openstack alarm-history show 022f707d-46cc-4d39-a0b2-afd2fc7ab86a +----------------------------+------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------+ | timestamp | type | detail | event_id | +----------------------------+------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------+ | 2017-03-06T11:32:35.510000 | state transition | {"transition_reason": "Transition to ok due to 1 samples inside threshold, most recent: | 25e0e70b-3eda-466e-abac-42d9cf67e704 | | | | 2.73931707966", "state": "ok"} | | | 2017-03-06T11:17:35.403000 | state transition | {"transition_reason": "Transition to alarm due to 1 samples outside threshold, most recent: | 8322f62c-0d0a-4dc0-9279-435510f81039 | | | | 95.0964497325", "state": "alarm"} | | | 2017-03-06T11:15:35.723000 | state transition | {"transition_reason": "Transition to ok due to 1 samples inside threshold, most recent: | 1503bd81-7eba-474e-b74e-ded8a7b630a1 | | | | 3.59330523447", "state": "ok"} | | | 2017-03-06T11:13:06.413000 | creation | {"alarm_actions": ["trust+http://fca6e27e3d524ed68abdc0fd576aa848:delete@192.168.122.126:8004/v1/fd | 224f15c0-b6f1-4690-9a22-0c1d236e65f6 | | | | 1c345135be4ee587fef424c241719d/stacks/example/d9ef59ed-b8f8-4e90-bd9b- | | | | | ae87e73ef6e2/resources/scaleup_policy/signal"], "user_id": "a85f83b7f7784025b6acdc06ef0a8fd8", | | | | | "name": "example-cpu_alarm_high-odj77qpbld7j", "state": "insufficient data", "timestamp": | | | | | "2017-03-06T11:13:06.413455", "description": "Scale up if CPU > 80%", "enabled": true, | | | | | "state_timestamp": "2017-03-06T11:13:06.413455", "rule": {"evaluation_periods": 1, "metric": | | | | | "cpu_util", "aggregation_method": "mean", "granularity": 300, "threshold": 80.0, "query": "{\"=\": | | | | | {\"server_group\": \"d9ef59ed-b8f8-4e90-bd9b-ae87e73ef6e2\"}}", "comparison_operator": "gt", | | | | | "resource_type": "instance"}, "alarm_id": "022f707d-46cc-4d39-a0b2-afd2fc7ab86a", | | | | | "time_constraints": [], "insufficient_data_actions": null, "repeat_actions": true, "ok_actions": | | | | | null, "project_id": "fd1c345135be4ee587fef424c241719d", "type": | | | | | "gnocchi_aggregation_by_resources_threshold", "severity": "low"} | | +----------------------------+------------------+-----------------------------------------------------------------------------------------------------+------------------------------------- exit oc logs -l component=engine,service=heat --tail=-1 | awk '/Updating stack/,/Stack CREATE completed successfully/ {print USD0}' oc logs aodh-0 -c aodh-evaluator | grep -i alarm | grep -i transition | grep -v DEBUG oc rsh openstackclient openstack stack show stack1 -c id +-------+--------------------------------------+ | Field | Value | +-------+--------------------------------------+ | id | 1ae77e51-ba09-452c-bc09-385f0791a366 | +-------+--------------------------------------+ openstack metric query "rate(ceilometer_cpu{server_group='1ae77e51-ba09-452c-bc09-385f0791a366'}[150s])/1000000000*100/1" -c resource_name -c value +-------------------------------------------------------------------------+-------+ | resource_name | value | +-------------------------------------------------------------------------+-------+ | st-ih4tya6-bf63mo4vvyqp-pvdwdmvzov5c-vnf-x4f535xcvjyp:instance-00000003 | 0.525 | +-------------------------------------------------------------------------+-------+ openstack metric query "rate(ceilometer_cpu{server_group='1ae77e51-ba09-452c-bc09-385f0791a366'}[150s] offset 10m)/1000000000*100/1" -c resource_name -c value +-------------------------------------------------------------------------+-------------------+ | resource_name | value | +-------------------------------------------------------------------------+-------------------+ | st-ih4tya6-3ul7w6w66st7-mmvkxuwghjxl-vnf-dj7k7665csuv:instance-00000002 | 38.40833333333333 | +-------------------------------------------------------------------------+-------------------+ oc rsh openstackclient openstack stack show stack1 -c id -c stack_status +--------------+--------------------------------------+ | Field | Value | +--------------+--------------------------------------+ | id | 0d6e19a9-2e1c-4728-b9ed-320da60c3c9d | | stack_status | CREATE_COMPLETE | +--------------+--------------------------------------+ export STACK_ID=USD(openstack stack show stack1 -c id -f value) openstack server list --long --fit-width -c ID -c Name -c Properties | grep "metering.server_group='USDSTACK_ID'" | 94a776a6-ab74-41ec-9c21-26d3ca0a0138 | autoscaling_server_stack1-autoscalinggroup-l3qthrzpad67-nonm7balfxrn-sx6oebhyi3qo | metering.server_group='168364ae-afe2-4275-af28-aae01ee63b00' | INSTANCE_ID=94a776a6-ab74-41ec-9c21-26d3ca0a0138 openstack metric query "ceilometer_cpu{resource='USDINSTANCE_ID'}" -c resource -c resource_name -c value -c unit +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+ | resource | resource_name | unit | value | +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+ | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | ns | 204290000000 | +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+ openstack metric list | grep ceilometer | ceilometer_cpu | | ceilometer_disk_device_allocation | | ceilometer_disk_device_capacity | | ceilometer_disk_device_read_bytes | | ceilometer_disk_device_read_latency | | ceilometer_disk_device_read_requests | | ceilometer_disk_device_usage | | ceilometer_disk_device_write_bytes | | ceilometer_disk_device_write_latency | | ceilometer_disk_device_write_requests | | ceilometer_image_size | | ceilometer_memory_usage | | ceilometer_network_incoming_bytes | | ceilometer_network_incoming_bytes_delta | | ceilometer_network_incoming_packets | | ceilometer_network_incoming_packets_drop | | ceilometer_network_incoming_packets_error | | ceilometer_network_outgoing_bytes | | ceilometer_network_outgoing_bytes_delta | | ceilometer_network_outgoing_packets | | ceilometer_network_outgoing_packets_drop | | ceilometer_network_outgoing_packets_error | openstack server show USDINSTANCE_ID -cflavor -f value m1.small (692533fe-0912-417e-b706-5d085449db53) openstack flavor show 692533fe-0912-417e-b706-5d085449db53 -c vcpus -f value 1 openstack metric query "rate(ceilometer_cpu{resource=~'USDINSTANCE_ID'}[150s])/1000000000*100/1" -c resource_name -c value -c resource +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+ | resource | resource_name | value | +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+ | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | 0.6166666666666667 | +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+ openstack metric query "rate(ceilometer_cpu{resource=~'USDINSTANCE_ID'}[150s] offset 10m)/1000000000*100/1" -c resource_name -c value -c resource +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+ | resource | resource_name | value | +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+ | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | 0.6083333333333333 | +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+