Como Instalar o Sysdig para Monitorar seu Sistema Linux

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á logo ali!

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 ao longo do caminho 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 acompanhar, 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 outros pacotes que já instalou até agora em sua máquina.

1. Abra 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 da seguinte forma:

  • 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 Sysdig.
  • linux-headers-$(uname -r) – Fornece os arquivos necessários para construir módulos do kernel para o seu kernel em execução. Este pacote é necessário porque você pode instalar o Sysdig em uma máquina com um kernel padrão 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 do GPG do Sysdig (GPG) ao seu chaveiro APT. Este comando permite que você verifique se os pacotes baixados do 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 depois de ter adicionado 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. Execute o comando apt update abaixo para baixar os novos repositórios do Sysdig e atualizar as listas de pacotes do 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. Após 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 o seu pacote Sysdig está atualizado. A versão também oferece insights sobre se o lançamento do Sysdig impacta o 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 verificar o que está acontecendo com o seu sistema. A ferramenta de linha de comando do 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 os comandos do Sysdig com privilégios de sudo para ter acesso total ao seu sistema. Algumas atividades do sistema podem ser ocultadas por padrão para usuários não root, como a saída do sistema de arquivos /proc. O Sysdig também requer privilégios de sudo para carregar automaticamente os símbolos do kernel necessários para fazer 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 costuma ficar corrompido após uma instalação nova do Sysdig. O 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ê receberá 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 do csysdig parece semelhante a ferramentas de monitoramento como htop.

Monitoring System Processes using Csysdig

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

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

Viewing System Information via the Csysdig Views

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

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

Monitorando Processos que Consomem CPU com Chisels do Sysdig

O Sysdig oferece vários chisels prontos para uso que coletam automaticamente informações específicas do sistema, conhecidos como “chisels.” Talvez você esteja experimentando um desempenho lento em sua CPU. Se for o caso, executar o comando sysdig com um chisel especificado permite que você veja quais aplicativos/processos estão consumindo mais uso da sua CPU.

1. Execute o comando sysdig abaixo para listar os chisels 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 esse 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 nesta demonstração.

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.

Depois de entender a funcionalidade de um cinzel, você 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 estão usando a maior quantidade de CPU em seu sistema.

sudo sysdig -c topprocs_cpu

O Sysdig captura os 10 processos que consomem mais CPU nesta demonstração e os imprime no terminal. O processo mais intensivo em CPU será exibido no topo (sshd), tornando-os mais fáceis de encontrar.

Listing the process defined by the highest CPU utilization.

Monitoramento de 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 poderosa opção de filtragem que usa a sintaxe Lua para que você possa realizar uma filtragem eficaz.

Suponha que você esteja procurando apenas por processos sshd que contribuam 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 usa muita CPU.

sudo sysdig proc.name=sshd

Como mostrado abaixo, você obterá uma saída filtrada sem obter nenhuma outra informação de processo.

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

Listing the SSHD process

Criando um arquivo de log de eventos para monitorar seu sistema

Uma das ótimas funcionalidades que o Sysdig oferece são os arquivos de log de eventos, que permitem que você colete todas as informações sobre o que seu aplicativo ou o sistema fazem para análise posterior. Os arquivos de log de eventos fornecem as mesmas informações que as saídas da 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 no seu diretório pessoal, onde o Sysdig armazenará todas as saídas do sysdig.

A extensão do arquivo .scap permite salvar fluxos de dados em forma 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ê vai notar um novo arquivo chamado ata.scap no seu diretório home, 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ê se conecta ao seu servidor via SSH.

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 do seu sistema, aplicativos e segurança. Você também viu como criar um arquivo de log de eventos que permite gravar o comportamento do seu sistema.

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

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

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