Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Feedback negativo sobre esse exercício

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
}

Até este ponto no curso, não foi ensinado o que seria (), <<<, awk, por que solicitar isso num exercício se não foi ensinado ainda?

2 respostas

Olá, Bruno! Tudo certo?

Sinto muito por encontrar um exercício que utiliza conceitos que ainda não foram apresentados no curso. Vou tentar esclarecer um pouco o que cada parte do script faz para que você possa entender melhor.

  1. Função get_nginx(): esta função é responsável por coletar e exibir as métricas do Nginx.

  2. local metrics=$(curl -s "http://localhost/nginx_status"): aqui, o curl é usado para fazer uma solicitação HTTP ao servidor Nginx e obter o status. A opção -s suprime a barra de progresso do curl.

  3. if [[ -n "$metrics" ]]; then: esta linha verifica se a variável metrics não está vazia, ou seja, se o curl conseguiu obter alguma resposta do servidor.

  4. awk 'NR==1 {print $3}' <<< "$metrics" e awk 'NR==3 {print $2}' <<< "$metrics":

    • O awk é uma ferramenta poderosa para processamento de texto. Aqui, ele está sendo usado para extrair informações específicas das linhas retornadas pelo Nginx.
    • NR==1 {print $3} significa que estamos interessados na terceira coluna da primeira linha.
    • NR==3 {print $2} significa que estamos interessados na segunda coluna da terceira linha.
    • O operador <<< é usado para passar a variável metrics como entrada para o awk.
  5. echo: As linhas de echo são usadas para exibir as métricas coletadas.

A razão para o uso desses comandos pode ser que eles são ferramentas comuns e poderosas no mundo do Linux e DevOps. Mesmo que ainda não tenham sido explicados, são essenciais para manipular e extrair dados de forma eficiente.

Espero que isso ajude a entender melhor o exercício!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.
solução!

Olá,

Entendo eles serem ferramentas comuns no mundo de Linux e DevOps porém isso ainda não justifica num curso de 'Começando em DevOps' eles não serem apresentados. Muito menos cobrados.

Atenciosamente