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.
Função get_nginx(): esta função é responsável por coletar e exibir as métricas do Nginx.
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.
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.
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.
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 ✓.