gcp.autoscaler
GCP resource: https://cloud.google.com/compute/docs/reference/rest/v1/autoscalers
Filters
metrics
Supports metrics filters on resources.
All resources that have cloud watch metrics are supported.
Docs on cloud watch metrics
Google Supported Metrics https://cloud.google.com/monitoring/api/metrics_gcp
Custom Metrics https://cloud.google.com/monitoring/api/v3/metric-model#intro-custom-metrics
- name: firewall-hit-count
resource: gcp.firewall
filters:
- type: metrics
name: firewallinsights.googleapis.com/subnet/firewall_hit_count
aligner: ALIGN_COUNT
days: 14
value: 1
op: greater-than
properties:
aligner:
enum:
- ALIGN_NONE
- ALIGN_DELTA
- ALIGN_RATE
- ALIGN_INTERPOLATE
- ALIGN_MIN
- ALIGN_MAX
- ALIGN_MEAN
- ALIGN_COUNT
- ALIGN_SUM
- REDUCE_COUNT_FALSE
- ALIGN_STDDEV
- ALIGN_COUNT_TRUE
- ALIGN_COUNT_FALSE
- ALIGN_FRACTION_TRUE
- ALIGN_PERCENTILE_99
- ALIGN_PERCENTILE_95
- ALIGN_PERCENTILE_50
- ALIGN_PERCENTILE_05
- ALIGN_PERCENT_CHANG
type: string
days:
type: number
filter:
type: string
group-by-fields:
items:
type: string
type: array
metric-key:
type: string
missing-value:
type: number
name:
type: string
op:
enum:
- eq
- equal
- ne
- not-equal
- gt
- greater-than
- ge
- gte
- le
- lte
- lt
- less-than
- glob
- regex
- regex-case
- in
- ni
- not-in
- contains
- difference
- intersect
- mod
type: string
reducer:
enum:
- REDUCE_NONE
- REDUCE_MEAN
- REDUCE_MIN
- REDUCE_MAX
- REDUCE_MEAN
- REDUCE_SUM
- REDUCE_STDDEV
- REDUCE_COUNT
- REDUCE_COUNT_TRUE
- REDUCE_COUNT_FALSE
- REDUCE_FRACTION_TRUE
- REDUCE_PERCENTILE_99
- REDUCE_PERCENTILE_95
- REDUCE_PERCENTILE_50
- REDUCE_PERCENTILE_05
type: string
type:
enum:
- metrics
value:
type: number
required:
- value
- name
- op
Permissions - monitoring.timeSeries.list
Actions
set
Patches configuration parameters for the autoscaling algorithm.
The coolDownPeriodSec specifies the number of seconds that the autoscaler should wait before it starts collecting information from a new instance.
The cpuUtilization.utilizationTarget specifies the target CPU utilization that the autoscaler should maintain.
The loadBalancingUtilization.utilizationTarget specifies fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that autoscaler should maintain.
The minNumReplicas specifies the minimum number of replicas that the autoscaler can scale down to.
The maxNumReplicas specifies the maximum number of instances that the autoscaler can scale up to.
- Example:
policies:
- name: gcp-autoscaler-set
resource: gcp.autoscaler
filters:
- type: value
key: name
value: instance-group-2
actions:
- type: set
coolDownPeriodSec: 20
cpuUtilization:
utilizationTarget: 0.7
loadBalancingUtilization:
utilizationTarget: 0.7
minNumReplicas: 1
maxNumReplicas: 4
properties:
coolDownPeriodSec:
minimum: 15
type: integer
cpuUtilization:
properties:
utilizationTarget:
exclusiveMinimum: 0
maximum: 1
type: number
required:
- utilizationTarget
type: object
loadBalancingUtilization:
properties:
utilizationTarget:
exclusiveMinimum: 0
maximum: 1
type: number
required:
- utilizationTarget
type: object
maxNumReplicas:
exclusiveMinimum: 0
type: integer
minNumReplicas:
exclusiveMinimum: 0
type: integer
type:
enum:
- set
required:
- type
Permissions - compute.autoscalers.update