46 lines
1018 B
Plaintext
46 lines
1018 B
Plaintext
var cpu_percentile = stream
|
|
|from()
|
|
.measurement('docker_cpu')
|
|
.where(lambda: "cont_image" =~ /sharelatex-web/ AND "cpu" == 'cpu-total')
|
|
|window()
|
|
.period(10s)
|
|
.every(1s)
|
|
|percentile('usage_percent', 95.0)
|
|
|log()
|
|
|
|
var scale_out = cpu_percentile
|
|
@scale()
|
|
.simulate(FALSE)
|
|
.debug(TRUE)
|
|
.id('1s33') // web service
|
|
.when('percentile > 90')
|
|
.by('current + 2')
|
|
.min_instances(1)
|
|
.max_instances(6)
|
|
.cooldown('10s')
|
|
|
|
var scale_in = cpu_percentile
|
|
@scale()
|
|
.simulate(FALSE)
|
|
.debug(TRUE)
|
|
.id('1s33') // web service
|
|
.when('percentile < 30')
|
|
.by('current - 2')
|
|
.min_instances(1)
|
|
.max_instances(6)
|
|
.cooldown('10s')
|
|
|
|
scale_out
|
|
|influxDBOut()
|
|
.database('metrics')
|
|
.measurement('autoscaling')
|
|
.flushInterval(1d)
|
|
.buffer(1)
|
|
|
|
scale_in
|
|
|influxDBOut()
|
|
.database('metrics')
|
|
.measurement('autoscaling')
|
|
.flushInterval(1d)
|
|
.buffer(1)
|