Sysdig - Uma poderosa ferramenta de monitoramento e solução de problemas do sistema para Linux
- 2294
- 339
- Leroy Lebsack
Sysdig é uma ferramenta de monitoramento e solução de problemas de sistema de código aberto, de plataforma cruzada, poderosa e flexível para o Linux; Ele também funciona no Windows e Mac OSX, mas com funcionalidade limitada e pode ser usado para análise do sistema, inspeção e depuração.
Normalmente, você empregaria uma mistura de várias ferramentas de monitoramento de desempenho e solução de problemas do Linux, incluindo as listadas abaixo para executar as tarefas de monitoramento e depuração do Linux:
- Strace - Descubra chamadas e sinais do sistema para um processo.
- TCPDUMP - Monitoramento de tráfego de rede bruta.
- NetStat - Monitoramento de conexões de rede.
- HTOP - Monitoramento de processos em tempo real.
- IFTOP - Monitoramento de largura de banda de rede em tempo real.
- LSOF - Veja quais arquivos são abertos por qual processo.
No entanto, sysdig Integra o que todas as ferramentas acima e muito mais, oferecem em um programa único e simples, mais ainda com suporte incrível de contêiner. Ele permite capturar, salvar, filtrar e examinar o comportamento real (fluxo de eventos) de sistemas Linux, bem como contêineres.
Ele vem com uma interface de linha de comando e uma poderosa interface interativa (csysdig) que permitem assistir à atividade do sistema em tempo real ou realizar um despejo de rastreamento e economizar para análises posteriores. Você pode assistir como o csysdig funciona no vídeo abaixo.
Recursos de sysdig:
- É rápido, estável e fácil de usar com abrangente bem documentado.
- Vem com suporte nativo para tecnologias de contêineres, incluindo Docker, LXC.
- É escritor em Lua; Oferece formões (scripts leves LUA) para processamento de eventos do sistema capturado.
- Suporta filtragem útil de saída.
- Suporta o rastreamento do sistema e do aplicativo.
- Pode ser integrado com Ansible, Puppet e Logstash.
- Ativar amostra de análise de log avançada.
- Ele também oferece recursos de análise de ataque ao servidor Linux (forense) para hackers éticos e mais.
Neste artigo, mostraremos como instalar o SYSDIG em um sistema Linux e usá -lo com exemplos básicos de análise do sistema, monitoramento e solução de problemas.
Como instalar o sysdig no Linux
Instalação sysdig O pacote é tão fácil quanto executar o comando abaixo, que verificará todos os requisitos; Se tudo estiver em vigor, ele fará o download e instalará o pacote do repositório Draios Apt/Yum.
# Curl -s https: // s3.Amazonaws.com/download.Draios.com/estável/install-sysdig | Bash ou $ curl -s https: // s3.Amazonaws.com/download.Draios.com/estável/install-sysdig | Sudo Bash
Depois de instalá -lo, você precisa correr sysdig como raiz porque requer acesso a áreas críticas, como /Proc sistema de arquivo, /dev/sysdig* dispositivos e necessidades para carregar automaticamente o módulo do kernel de Sysdig-sobo (caso não seja); Caso contrário, use o comando sudo.
O exemplo mais básico é executá-lo sem argumentos, isso permitirá que você visualize seu fluxo de eventos do sistema Linux atualizado em tempo real:
$ sudo sysdigAssista a eventos do sistema Linux
A saída acima (dados brutos) talvez não faça muito sentido para você, para uma saída mais útil csysdig:
$ sudo csysdigMonitore os eventos do sistema Linux
Observação: Para obter a sensação real dessa ferramenta, você precisa usar sysdig que produz dados brutos como vimos antes, a partir de um sistema Linux em execução: isso exige que você entenda como usar filtros e cinzéis.
Mas se você precisar de um meio indolor de usar sysdig - continue com csysdig.
Entendendo os cinzéis e filtros de sysdig
Sysdig cinzels são scripts mínimos da Lua para examinar o fluxo de eventos SYSDIG para realizar ações úteis para solucionar problemas e mais. O comando abaixo ajudará você a visualizar todos os formulários disponíveis:
$ sudo sysdig -cl
A captura de tela mostra uma lista de amostras de formões em diferentes categorias.
Veja os formões de sysdigSe você quiser descobrir mais informações sobre um cinzel específico, use o -eu
bandeira:
$ sudo sysdig -i topprocs_cpuVer informações de cinzel sysdig
Os filtros de sysdig adicionam mais energia ao tipo de saída que você pode obter dos fluxos de eventos, eles permitem que você personalize a saída. Você deve especificá -los no final de uma linha de comando.
Um filtro direto e comum é um básico “aula.campo = valor”Verifique, você também pode combinar formões com filtros para personalizações ainda mais poderosas.
Para visualizar uma lista de classes de campo disponíveis, campos e suas descrições, digite:
$ sudo sysdig -lVer classes de campo Sysdig
Criando arquivo de rastreamento do sistema Linux
Para despejar a saída de sysdig em um arquivo para análise posterior, use o -c
bandeira assim.
Você pode ler o arquivo de despejo de rastreamento usando o -r bandeira:
$ sudo sysdig -r rastreio.Scap
O -s
A opção é usada para especificar a quantidade de bytes de dados a serem capturados para cada evento do sistema. Neste exemplo, estamos filtrando eventos para o MongoD processo.
$ sudo sysdig -s 3000 -w rastreio.SCAP $ sudo sysdig -r rastreio.Scap Proc.Nome = MongoDCrie arquivo de rastreamento do MongoDB
Monitorando processos Linux
Para listar processos do sistema, digite:
$ sudo sysdig -c psMonitore os processos Linux
Monitore os processos por uso da CPU
Para assistir aos principais processos pela porcentagem de uso da CPU, execute este comando:
$ sudo sysdig -c topprocs_cpuMonitore os processos por uso da CPU
Monitorando conexões de rede e E/S
Para visualizar conexões de rede do sistema, execute:
$ sudo sysdig -c netstatMonitore conexões de rede
O comando a seguir o ajudará a listar as principais conexões de rede por bytes totais:
$ sudo sysdig -c topconn
Em seguida, você também pode listar os principais processos por E/S de rede da seguinte forma:
$ sudo sysdig -c Topprocs_net
Monitorando o arquivo do sistema de E/S
Você pode gerar os dados lidos e escritos por processos no sistema como abaixo:
$ sudo sysdig -c echo_fdsMonitore o sistema IO
Para listar os principais processos por (leia + write) bytes de disco, use:
$ sudo sysdig -c topprocs_file
Solução de problemas de desempenho do sistema Linux
Para ficar de olho nos gargalos do sistema (chamadas lentas do sistema), execute este comando:
$ sudo sysdig -c gargalosSolucionar problemas de desempenho do Linux
Acompanhe o tempo de execução de um processo
Para rastrear o tempo de execução de um processo, você pode executar este comando e despejar o rastreamento em um arquivo:
$ sudo sysdig -w Extime.scap -c proc_exec_timeRastrear o tempo de execução do processo
Em seguida, use um filtro para zero nos detalhes de um processo específico (PostGres Neste exemplo) da seguinte maneira:
$ sudo sysdig -r Extime.Scap Proc.Nome = PostGres
Descubra Rede Slow I/0
Este comando simples ajudará você a detectar rede lenta i/0:
$ sudo sysdig -c netlower
Assistindo a entradas de arquivo de log
O comando abaixo ajuda a exibir todas as mensagens escritas para syslog, se você estiver interessado em entradas de log para um processo específico, crie um despejo de rastreamento e filtá -lo de acordo como mostrado antes:
$ sudo sysdig -c spy_syslog
Você pode imprimir quaisquer dados escritos por qualquer processo para um arquivo de log da seguinte maneira:
$ sudo sysdig -c spy_logs
Monitorando solicitações de servidor HTTP
Se você possui um servidor HTTP, como Apache ou Nginx, em execução em nosso sistema, veja o log de solicitações do servidor com este comando:
$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Imprimir as solicitações HTTP]Monitore solicitações HTTP
Exibir conchas de login e atividade interativa do usuário
O comando abaixo permitirá que você visualize todos os IDs de login do shell:
$ sudo sysdig -c list_login_shells
Por último, mas não menos importante, você pode mostrar a atividade interativa de usuários do sistema como assim:
$ sudo sysdig -c spy_usersMonitore a atividade do usuário
Para obter mais informações e exemplos de uso, leia as páginas Sysdig e Csysdig Man:
$ MAN SYSDIG $ MAN CSYSDIG
Referência: https: // www.sysdig.org/
Verifique também essas ferramentas úteis de monitoramento de desempenho do Linux:
- BCC - Ferramentas de rastreamento dinâmico para monitoramento de desempenho do Linux, rede e muito mais
- Pydash - uma ferramenta de monitoramento de desempenho Linux baseada na Web
- Perf- Uma ferramenta de monitoramento e análise de desempenho para Linux
- COLLECTL: Uma ferramenta avançada de monitoramento de desempenho multifuncional para Linux
- NetData - Uma ferramenta de monitoramento de desempenho em tempo real para sistemas Linux
Conclusão
O Sysdig reúne funcionalidades de inúmeras ferramentas de linha de comando em uma interface notável, permitindo que você se aprofunda em seus eventos do sistema Linux para coletar dados, exceto para análises posteriores e oferece suporte ao contêiner incrível.
Para fazer qualquer pergunta ou compartilhar qualquer pensamento sobre esta ferramenta, use o formulário de feedback abaixo.
- « 23 Exemplos úteis de comando pkg para gerenciar pacotes em freebsd
- Como conectar -se ao MySQL sem senha root no terminal »