Como instalar o Sysdig para monitorar o seu sistema Linux

O seu sistema Linux é uma excelente plataforma para servidores e desktops. Mas, como qualquer outro sistema complexo, é crucial ter um monitoramento adequado para manter o seu sistema no seu melhor desempenho. Felizmente, Sysdig está ao seu alcance!

Sysdig é uma ferramenta abrangente de monitoramento para Linux que pode monitorar o seu sistema em busca de ameaças, erros, padrões de uso e muito mais. E neste tutorial, você aprenderá a instalar o Sysdig, destacando opções de configuração específicas para melhorar o monitoramento do seu sistema Linux.

Continue lendo e nunca mais perca um ‘alerta’!

Pré-requisitos

Este tutorial será uma demonstração prática. Se deseja seguir junto, certifique-se de ter o seguinte.

  • A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
  • A non-root user with sudo privileges.

Instalando o Sysdig no Linux

A ferramenta de linha de comando Sysdig geralmente está disponível na maioria das distribuições Linux modernas, e você pode instalá-la como qualquer outro pacote que já tenha instalado no seu sistema.

1. Abra o seu terminal e execute o comando apt update abaixo para garantir que você tenha as últimas atualizações dos repositórios de sua distribuição. Este comando atualiza as listas de pacotes do seu sistema e pode levar alguns minutos para ser concluído.

sudo apt update -y
Updating your System’s Package Lists

2. Em seguida, execute o comando apt install abaixo para baixar (curl) e instalar os pacotes necessários para o Sysdig. Este comando também instala alguns módulos adicionais usados posteriormente neste tutorial, conforme a seguir:

  • gnupg – O GNU Privacy Guard é uma ferramenta para comunicação segura e armazenamento de dados. Este pacote permite o download da chave GPG pública do Sysdig para verificar a validade dos pacotes do Sysdig.
  • software-properties-common – Fornece uma maneira rápida de gerenciar suas fontes de software via ambiente de linha de comando ou GUI. Este pacote permite que você use o comando add-apt-repository para adicionar os repositórios de pacotes do Sysdig.
  • linux-headers-$(uname -r) – Fornece os arquivos necessários para construir módulos do kernel para seu kernel em execução. Este pacote é necessário porque você pode instalar o Sysdig em uma máquina com um kernel de estoque mais antigo.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
Installing the Necessary Packages for Sysdig

3. Execute o comando curl abaixo para adicionar a chave pública GPG do Sysdig ao keyring do seu APT. Este comando permite verificar se os pacotes baixados de sysdig.com são válidos e não foram modificados.

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

Você receberá uma mensagem OK após adicionar com sucesso a chave, como mostrado abaixo.

Adding the GPG key to APT”s Keyring

4. Agora, execute o comando curl abaixo para baixar silenciosamente (-s) os repositórios do Sysdig como draios.list e adicioná-lo ao seu sistema. A extensão .list informa ao seu APT que o arquivo é uma lista de URLs para repositórios, em vez de apenas uma URL.

curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

5. Rerun the comando apt update abaixo para baixar os novos repositórios do Sysdig e atualizar as listas de pacotes do seu APT com as informações dos novos repositórios.

sudo apt update -y

Você verá a seguinte saída se o seu APT estiver configurado corretamente.

Updating your APT’s Package Lists

6. Depois de baixar os repositórios do Sysdig, execute o comando apt install abaixo para instalar o sysdig em sua máquina. Este comando baixa e instala o pacote sysdig e seus pacotes de suporte.

sudo apt install sysdig -y
Installing Sysdig

7. Por fim, execute o comando sysdig abaixo para verificar a versão do Sysdig instalada em sua máquina.

sudo sysdig --version

O número da versão ajuda a determinar se seu pacote Sysdig está atualizado. A versão também fornece informações sobre se o lançamento do Sysdig impacta no desempenho do sistema.

Como mostrado abaixo, 0.28.0 é a versão mais recente do sysdig até o momento desta escrita. Seu número de versão pode ser diferente.

Verifying Sysdig Version Installed

Monitorando Sistemas Linux com csysdig

Agora que você tem o Sysdig instalado, você pode usar o Sysdig para analisar o que está acontecendo no seu sistema. A ferramenta de linha de comando Sysdig possui muitas opções que fornecem diferentes visualizações do seu sistema e sua atividade. O exemplo mais básico é o comando csysdig.

Execute o comando csysdig sem nenhuma opção para ver o que está acontecendo no seu sistema agora. O comando mostrará a atividade de todos os processos em execução atualmente.

Observe que você deve executar com privilégios de sudo para ter acesso total ao seu sistema. Alguma atividade do sistema pode estar oculta por padrão para usuários não root, como a saída do sistema de arquivos /proc. Sysdig também requer privilégios de sudo para carregar automaticamente os símbolos do kernel necessários para muitos de seus truques, como o módulo do kernel sysdig-probe

sudo csysdig

Se você encontrar o seguinte erro, será necessário reinstalar o pacote ncurses-term. O pacote ncurses-term tende a ficar corrompido após uma instalação fresca do Sysdig. Sysdig depende do pacote ncurses-term para suportar sua interface de usuário ncurses.

Getting an Error while Running csysdig

Se o comando csysdig for bem-sucedido, você obterá a seguinte saída organizada em abas.

Description
PID The Process ID that assigned by the Linux kernel. You use PIDs to identify and manage processes.
PPID The parent process ID of the process. You use PPID to trace the process back through its parent processes. Together, PID and PPID uniquely identify a process on your system.
CPU The percentage of CPU used by the application since it started can be seen on a scale from 0 to 100%, where 100% equals total CPU usage. You use CPU usage to find applications that are hogging system resources.
USER The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
TH The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
VIRT The total amount of virtual memory used by the application. You use VIRT to find applications that are hogging your system’s memory.
RES The number of resident memory pages a process has, as mapped to physical memory. You use RES to find applications that are hogging your system’s memory.
FILE The disk’s file descriptor used by the application. You use FILE to see which files are being read or written frequently, usually an indication of I/O activity.
NET The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.
Command The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.

À primeira vista, a interface csysdig parece semelhante a ferramentas de monitoramento como o htop.

Monitoring System Processes using Csysdig

Pressione F2 e as guias superiores irão mudar para exibir um novo conjunto de informações organizadas em guias à esquerda, como mostrado abaixo.

O Sysdig chama essas “visualizações” porque são diferentes visualizações do sistema, organizadas pelo tipo de informação que mostram, oferecendo mais contexto. E como essas visualizações são baseadas em scripts LUA, você pode personalizar os scripts para extrair dados diferentes do sistema e alterar a visualização conforme preferir.

Viewing System Information via the Csysdig Views

Por padrão, os scripts LUA estão localizados no diretório /usr/share/sysdig/chisels, como mostrado abaixo.

ls /usr/share/sysdig/chisels
Listing files (scripts) in the /usr/share/sysdig/chisels directory

Monitorando Processos Consumidores de CPU com Sysdig Chisels

O Sysdig oferece vários cinzéis prontos para uso que coletam automaticamente informações específicas do sistema, conhecidos como “cinzéis“. Talvez você esteja enfrentando lentidão no desempenho de sua CPU. Se for o caso, executar o comando sysdig com um cinzel especificado permite que você veja quais aplicativos/processos estão consumindo a maior parte do uso da sua CPU.

1. Execute o comando sysdig abaixo para listar os cinzéis disponíveis.

sudo sysdig -cl

A captura de tela abaixo mostra apenas alguns cinzéis. Mas você pode encontrar e aprender a lista completa de todos os cinzéis disponíveis na documentação oficial.

Os cinzéis do Sysdig também são scripts LUA. Você pode criar seus próprios cinzéis para monitorar informações específicas do sistema ou implementar sua própria visualização, mas este tópico está além do escopo deste tutorial.

Showing Sysdig Chisels

2. Em seguida, execute o comando abaixo para ver as informações detalhadas (-i) sobre um cinzel específico, como topprocs_cpu neste demo.

sudo sysdig -i topprocs_cpu

Você pode ver todas as informações sobre o cinzel topprocs_cpu abaixo, incluindo o nome do cinzel, categoria e uma breve descrição do que o cinzel faz.

Neste exemplo, o cinzel topprocs_cpu é categorizado como Uso da CPU e mostra o processo principal definido pelo maior uso de CPU.

Assim que você entender a funcionalidade de um cinzel, pode começar a usar esse cinzel.

Showing All Information About the topprocs_cpu Chisel

3. Execute o comando sysdig abaixo, especificando o cinzel correto (-c topprocs_cpu) para encontrar os aplicativos que usam a maior quantidade de CPU em seu sistema.

sudo sysdig -c topprocs_cpu

O Sysdig captura os 10 principais processos que consomem CPU neste demo e os imprime no terminal. O processo mais intensivo em CPU será exibido no topo (sshd), tornando-os mais rápidos de encontrar.

Listing the process defined by the highest CPU utilization.

Monitorando Informações do Sistema Filtradas

Em alguns casos, a saída é enorme, tornando difícil filtrar as informações do sistema com base em um cinzel específico. Felizmente, o Sysdig oferece uma opção de filtro poderosa que utiliza a sintaxe Lua para que você possa realizar filtragens eficazes.

Suponha que você esteja procurando apenas por processos sshd que contribuem para o alto uso da CPU. Você pode definir uma expressão de filtro por um PID específico ou nome do processo.

Execute o comando sysdig abaixo para mostrar apenas o processo sshd que consome muita CPU.

sudo sysdig proc.name=sshd

Como mostrado abaixo, você obterá uma saída filtrada sem obter informações de outros processos.

A partir da saída, você pode obter mais informações sobre o processo sshd, como por que ele usa mais CPU ou memória, e assim por diante.

Listing the SSHD process

Criando um Arquivo de Log de Eventos para Monitorar seu Sistema

Uma das ótimas características que o Sysdig oferece são os arquivos de log de eventos, que permitem coletar todas as informações sobre o que sua aplicação ou o sistema fazem para análises posteriores. Os arquivos de log de eventos fornecem as mesmas informações que as saídas de linha de comando nos exemplos anteriores, mas são salvos em um arquivo no disco.

1. Execute o comando abaixo para criar um arquivo (-w) chamado ata.scap em seu diretório home, onde o Syslog armazenará todas as saídas do sysdig.

A extensão de arquivo .scap permite salvar fluxos de dados em formato de texto legível.

sudo sysdig -w ata.scap

2. Em seguida, execute o comando ls -la abaixo para listar todos os arquivos no diretório de trabalho.

ls -la

Você notará um novo arquivo chamado ata.scap no seu diretório pessoal, conforme mostrado abaixo.

Listing All Files in Home Directory

3. Por fim, execute o comando abaixo para que o Sysdig leia (-r) o arquivo de log de eventos do Sysdig (ata.scap) e imprima o comportamento do seu sistema quando você faz SSH no seu servidor.

sudo sysdig -r ata.scap
Viewing the ata.scap File

Conclusão

Neste artigo, você aprendeu como instalar o Sysdig no Ubuntu 20.04 e usar o csysdig para coletar informações sobre o seu sistema, aplicativos e segurança. Você também abordou a criação de um arquivo de log de eventos que permite registrar o comportamento do seu sistema.

Neste ponto, você percebeu que ter o Sysdig instalado no seu sistema fornece ferramentas poderosas. E essas ferramentas ajudam a obter mais insights sobre como o seu sistema, aplicativos e infraestrutura funcionam.

Agora, com esse conhecimento recém-adquirido, que tal aprender a decodificar o tráfego HTTP com o Sysdig? Ou como rastrear gargalos de aplicativos com tracers do Sysdig?

Source:
https://adamtheautomator.com/sysdig/