Bom dia/tarde!
get_nginx() {
local metrics=$(curl -s "http://localhost/nginx_status")
if [[ -n "$metrics" ]]; then
local active_connections=$(awk 'NR==1 {print $3}' <<< "$metrics")
local requests_per_second=$(awk 'NR==3 {print $2}' <<< "$metrics")
echo "Active connections: $active_connections"
echo "Requests per second: $requests_per_second"
else
echo "Failure in collecting Nginx metrics."
fi
}
get_nginx
Acredito que a solução dá a entender que ela retorna o valor da quantidade de requisições processadas por segundo, mas não acho que seja o caso. Ao analisar a documentação do nginx https://nginx.org/en/docs/http/ngx_http_stub_status_module.html ele cita que o segundo valor é a quantidade de requisições manipuladas naquele instante.
Acho que a variável deveria ser renomeada ou efetivamente calcular quantidade por segundo.