Sysdig - Uma poderosa ferramenta de monitoramento e solução de problemas do sistema para Linux

Sysdig - Uma poderosa ferramenta de monitoramento e solução de problemas do sistema para Linux

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:

  1. Strace - Descubra chamadas e sinais do sistema para um processo.
  2. TCPDUMP - Monitoramento de tráfego de rede bruta.
  3. NetStat - Monitoramento de conexões de rede.
  4. HTOP - Monitoramento de processos em tempo real.
  5. IFTOP - Monitoramento de largura de banda de rede em tempo real.
  6. 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 sysdig 
Assista 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 csysdig 
Monitore 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 sysdig

Se você quiser descobrir mais informações sobre um cinzel específico, use o -eu bandeira:

$ sudo sysdig -i topprocs_cpu 
Ver 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 -l 
Ver 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 = MongoD 
Crie arquivo de rastreamento do MongoDB

Monitorando processos Linux

Para listar processos do sistema, digite:

$ sudo sysdig -c ps 
Monitore 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_cpu 
Monitore 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 netstat 
Monitore 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_fds 
Monitore 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 gargalos 
Solucionar 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_time 
Rastrear 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_users 
Monitore 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:

  1. BCC - Ferramentas de rastreamento dinâmico para monitoramento de desempenho do Linux, rede e muito mais
  2. Pydash - uma ferramenta de monitoramento de desempenho Linux baseada na Web
  3. Perf- Uma ferramenta de monitoramento e análise de desempenho para Linux
  4. COLLECTL: Uma ferramenta avançada de monitoramento de desempenho multifuncional para Linux
  5. 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.