Comandos Linux e habilidades de shell
curl: O cliente Web de linha de comando que executa a Web
curl é o cliente HTTP de bolso de todas as caixas de ferramentas de operações: diagnóstico, amigável ao pipeline e honesto sobre o que retornou. A superfície da sua bandeira parece enorme e a maior parte não está em jogo: cerca de uma dúzia de bandeiras cobrem o uso operacional diário, e conhecê-las é a diferença entre verificações de saúde programadas e verificações de sorte. A regra que mais economiza paginação é trivial: defina --max-time todas as vezes, porque a paciência do curl é infinita e a sua não.
Pontos principais
- Olhe antes de baixar: curl -sSI https://host retorna método, cabeçalhos e status sem corpo; adicione -v quando handshakes TLS, proxies ou cabeçalhos de hosts se comportam de maneira estranha.
- A disciplina de tempo limite não é negociável: --connect-timeout 5 elimina conexões mortas, --max-time 15 elimina conexões lentas; uma verificação de integridade sem ambos pode durar mais que a interrupção que deveria detectar.
- Os códigos de saída são o contrato em scripts: 7 é conexão recusada, 28 é tempo limite, 22 é um erro HTTP descoberto por --fail; leia o código, não apenas a saída, ou seu monitoramento não aprenderá nada.
- Combine visibilidade com aplicação: -w '%{http_code} %{time_total}\n' relata o que aconteceu, enquanto --fail-with-body revela o corpo do erro; sem um desses, o fracasso se parece exatamente com o sucesso.
- Teste o que os usuários realmente acessam: --resolve example.com:443:10.1.2.3 verifica um back-end nomeado sem jogos DNS e -H 'Host: vhost.example.com' cobre o lado vhost da mesma solicitação.
- As transferências recebem sinalizadores deliberados: -o nomeia a saída, -L segue os redirecionamentos que você revisou, --retry 3 --retry-delay 2 suaviza upstreams instáveis e -F lida com uploads multipartes com os quais nunca se importou.
- Cabeçalhos e soquetes carregam o mundo não-navegador: -H 'Authorization: Bearer ...' para APIs e --unix-socket /run/app/app.sock para testar serviços locais que nunca tocam no TCP.
- Conheça as duas armadilhas clássicas: variáveis de ambiente de proxy que sequestram uma solicitação que -v expõe em segundos e redirecionamentos que transformam silenciosamente um POST em um GET, a menos que você queira dizer isso.
Nota de campo
A verificação de integridade que ficou suspensa por quinze minutos foi curl sem --max-time dentro de um loop cron e durou mais que a interrupção que deveria detectar. Os tempos limite agora vão antes do URL, em princípio.
Perguntas frequentes
Por que curl saiu de 0 quando o site retornou 500? O sucesso do
curl significa que o transporte funcionou; Erros de nível HTTP são invisíveis sem --fail (saída 22) ou uma leitura de %{http_code} de -w. Os scripts de monitoramento insistem em um dos dois.
curl ou wget para scripts?
curl para APIs, cabeçalhos, corpos POST e controle preciso; wget para espelhamento e recursão. Para um GET único, ambos funcionam, e um pipeline misturando os dois geralmente é um sinal de que ninguém decidiu qual deles era o dono do trabalho.
Ignorar a verificação de TLS é justificado?
Para um diagnóstico interativo em relação a um certificado de laboratório autoassinado, às vezes; em qualquer coisa com script ou cron, não. -k desativa a única verificação que impede um intermediário de possuir sua transferência.
Como posso descobrir onde uma solicitação lenta realmente para?
Variáveis de tempo: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' executar algumas vezes separa a instabilidade do DNS da dor do aperto de mão causada pelas paralisações de back-end.
Como a Kinetikatech ajuda com comandos linux e habilidades de shell
É isto que fazemos todos os dias: Os comandos e hábitos de script que decidem se um administrador opera um servidor ou o combate: pesquise, transforme, transfira e supervisione textos e processos com as ferramentas presentes em cada instalação básica. Nosso serviço Segurança de servidores Linux e Gestão de servidores cobre tudo de ponta a ponta: avaliação, implementação, monitoramento 24/7 e resposta de emergência em 30 minutos.