Skip to content

Latest commit

 

History

History
324 lines (206 loc) · 7.8 KB

cloud-foundry-commands-of-application-autoscaler-0faf8a2.md

File metadata and controls

324 lines (206 loc) · 7.8 KB

Cloud Foundry Commands of Application Autoscaler

The Application Autoscaler plugin for the Cloud Foundry Command Line Interface (cf CLI) includes commands that you can use to get some insights into your scaling policies and for debugging.

Commands for the Application Autoscaler CLI Plugin

Command

Alias

Usage

Options

Description

Examples

cf autoscaling-policy

asp

cf autoscaling-policy APP_NAME [--output PATH_TO_FILE]

--output : dump the policy to a file in JSON format

Retrieve the scaling policy of an application. The policy will be displayed in JSON format.

View scaling policy, replace APP_NAME with the name of your application:


$ cf autoscaling-policy APP_NAME
									
Showing policy for app APP_NAME...
{
	"instance_min_count": 1,
	"instance_max_count": 5,
	"scaling_rules": [
		{
			"metric_type": "memoryused",
			"breach_duration_secs": 120,
			"threshold": 15,
			"operator": ">=",
			"cool_down_secs": 120,
			"adjustment": "+1"
		},
		{
			"metric_type": "memoryused",
			"breach_duration_secs": 120,
			"threshold": 10,
			"operator": "<",
			"cool_down_secs": 120,
			"adjustment": "-1"
		}
	]
}

Dump the scaling policy to a file in JSON format:


$ cf asp APP_NAME --output PATH_TO_FILE
									
Saving policy for app APP_NAME to PATH_TO_FILE...
OK

cf attach-autoscaling-policy

aasp

cf attach-autoscaling-policy APP_NAME PATH_TO_POLICY_FILE

 

Attach a scaling policy to an application. The policy file must be a JSON file. See policy specification for the policy format.

$ cf attach-autoscaling-policy APP_NAME PATH_TO_POLICY_FILE
									
Attaching policy for app APP_NAME...
OK

cf detach-autoscaling-policy

dasp

cf detach-autoscaling-policy APP_NAME

 

Detach the scaling policy from an application. The policy will be deleted when detached.

$ cf detach-autoscaling-policy APP_NAME
								
Detaching policy for app APP_NAME...
OK

cf autoscaling-metrics

asm

cf autoscaling-metrics APP_NAME METRIC_NAME [--start START_TIME] [--end END_TIME] [--asc] [--output PATH_TO_FILE]

  • METRIC_NAME : default metrics "memoryused, memoryutil, responsetime, throughput, cpu" or customized name for your own metrics.
  • --start : start time of metrics collected with format yyyy-MM-ddTHH:mm:ss+/-HH:mm or yyyy-MM-ddTHH:mm:ssZ, default to very beginning if not specified.
  • --end : end time of the metrics collected with format yyyy-MM-ddTHH:mm:ss+/-HH:mm or yyyy-MM-ddTHH:mm:ssZ, default to current time if not speficied.
  • --asc : display in ascending order, default to descending order if not specified
  • --output : dump the metrics to a file

Retrieve the aggregated metrics of an application. You can specify the start/end time of the returned query result and the display order (ascending or descending). The metrics are shown in a table.


$ cf autoscaling-metrics APP_NAME memoryused --start 2018-12-27T11:49:00+08:00 --end 2018-12-27T11:52:20+08:00 --asc
								
Retreiving aggregated metrics for app APP_NAME...
Metrics Name        Value       Timestamp
memoryused          62MB        2018-12-27T11:49:00+08:00
memoryused          62MB        2018-12-27T11:49:40+08:00
memoryused          61MB        2018-12-27T11:50:20+08:00
memoryused          62MB        2018-12-27T11:51:00+08:00
memoryused          62MB        2018-12-27T11:51:40+08:00

Description of table-columns:

  • Metrics Name: name of the current metric item
  • Value: the value of the current metric item with unit
  • Timestamp: collect time of the current metric item

cf autoscaling-history

ash

cf autoscaling-history APP_NAME [--start START_TIME] [--end END_TIME] [--asc] [--output PATH_TO_FILE]

  • --start : start time of the scaling history with format yyyy-MM-ddTHH:mm:ss+/-HH:mm or yyyy-MM-ddTHH:mm:ssZ, default to very beginning if not specified.

  • --end : end time of the scaling history with format yyyy-MM-ddTHH:mm:ss+/-HH:mm or yyyy-MM-ddTHH:mm:ssZ, default to current time if not speficied.

  • --asc : display in ascending order, default to descending order if not specified

  • --output : dump the scaling history to a file

Retrieve the scaling event history of an application. You can specify the start/end time of the returned query result, and the display order (ascending or descending). The scaling event history is shown in a table.


$ cf autoscaling-history APP_NAME --start 2018-08-16T17:58:53+08:00 --end 2018-08-16T18:01:00+08:00 --asc
									
Showing history for app APP_NAME...
Scaling Type        Status          Instance Changes        Time                            Action                                                          Error
dynamic             failed          2->-1                   2018-08-16T17:58:53+08:00       -1 instance(s) because throughput  10rps for 120 seconds        app does not have policy set
dynamic             succeeded       2->3                    2018-08-16T17:59:33+08:00       +1 instance(s) because memoryused >= 15MB for 120 seconds
scheduled           succeeded       3->6                    2018-08-16T18:00:00+08:00       3 instance(s) because limited by min instances 6

Description of table-columns:

  • Scaling Type: the trigger type of the scaling action, possible scaling types: dynamic and scheduled

    • dynamic: the scaling action is triggered by a dynamic rule (memoryused, memoryutil, responsetime or throughput)
    • scheduled: the scaling action is triggered by a recurring schedule or specific date rule
  • Status: the result of the scaling action: succeeded or failed

  • Instance Changes: how the instances number get changed (e.g. 1->2 means the application was scaled out from 1 instance to 2)

  • Time: the finish time of scaling action, no mater succeeded or failed

  • Action: the detail information about why and how the application scaled

  • Error: the reason why scaling failed

Related Information

What Is Application Autoscaler? ↗️

Initial Setup ↗️

Defining a Scaling Policy ↗️