Linux monitoramento com sysstat

Monitore o seu sistema com as ferramentas do SYSSTAT

O SYSSTAT é um pacote de softwares para monitoramento da performance do seu sistema Linux.
O pacote contém um conjunto de ferramentas para administradores de sistemas, que retornam informações cruciais sobre o uso da CPU, da memória, do fluxo de dados (E/S) etc.
Saída do comando dmesg com erro na porta USBTodas estas informações podem ser gravadas e analisadas com o intuito de detectar possíveis gargalos no sistema.

Motivos para usar o SYSSTAT

Entre as diversas funções do pacote de aplicativos, o site do desenvolvedor relaciona as seguintes:

  • As estatísticas fornecem médias dos valores, calculados sobre um período de amostra.
  • A maioria dos dados sobre o seu sistema podem ser gravados em um arquivo para uma inspeção posterior.
  • Permite configurar a extensão do histórico de dados a ser armazenado.
  • Detecta novos dispositivos on the fly — o que inclui novos discos conectados ao sistema, interfaces de rede etc., que sejam criados ou registrados dinamicamente.
  • Tem suporte tanto a máquinas UP (uniprocessors) quanto a SMP (Symmetric MultiProcessing.
  • Tem suporte a hotplug CPUs (detecta “automagicamente” processadores ao serem habilitados ou desabilitados) e a tickless CPUs.

    O que é o tickless

    “Anteriormente, o kernel do Linux interrompia periodicamente cada CPU em um sistema em uma frequência pré-determinada, 100 Hz, 250 Hz ou 1000 Hz, dependendo da plataforma. O kernel pesquisava a CPU sobre os processos que estava executando, e usava os resultados para a contabilidade do processo e carga de balanceamento.” — Documentação do Red Hat Linux.

  • Funciona em diversas arquiteturas, seja 32 ou 64 bits.
  • Consome muito pouco recurso da CPU — é escrito em C!
  • As estatísticas do sistema podem ser gravadas e exportadas para diversos formatos (CSV, XML, JSON etc).
  • Tem suporte a diversos idiomas, inclusive o português.
  • Há vários outros programas, que você pode baixar, que interagem com os dados do SYSSTAT — um deles é o isag e ele está incluído no pacote.

Como instalar o SYSSTAT

O principal programa do pacote é o sar.
Para usá-lo, é necessário instalar o pacote SYSSTAT. Veja como fazer isto no Ubuntu ou no Debian:

sudo apt-get update
sudo apt-get install sysstat

Quem usa o Red Hat ou Fedora, pode usar o yum:

yum install sysstat

Se você precisar instalar a partir do código fonte, consulte a página do desenvolvedor (link no final do artigo).

O QUE VEM NO PACOTE SYSSTAT?

O pacote instalado, contém vários aplicativos utilitários para monitorar a performance do seu sistema:

  • iostat — relata as estatísticas de uso da CPU, entradas/saídas dos dispostivos, das partições e da rede.
  • mpstat — exibe estatísticas individuais ou combinadas do uso do processador.
  • pidstat — lista estatísticas referentes aos processos em execução: E/S, CPU, memória etc.
  • sar — coleta, exibe e grava informações sobre as atividades no sistema, o que inclui o uso da CPU, da memória, dos discos, das interrupções, das interfaces de redes, das TTY, das tabelas do kernel etc.
  • sadc — é o coletor de dados de atividades do sistema, usadas como backend para o sar.
  • sa1 — o sa1 coleta e armazena dados binários no arquivo de dados diários das atividades do sistema.
  • sa2 — grava um relatório diário resumido de atividades. Constitui um frontend para o programa sar. É projetado para rodar do cron.
  • sadf — mostra os dados coletados pelo sar, em múltiplos formatos (CSV, XML, texto puro etc.) É útil para exportar dados sobre a performance do sistema para um banco de dados, ou para planilhas eletrônicas.
  • sysstat — trata-se da documentação do arquivo de configuração sysstat, que explica o significado das variáveis do sistema, usadas pelos outros comandos descritos.
  • nfsiostat-sysstat — reporta estatísticas de entrada e saída de de dados (E/S) dos sistemas de arquivos de rede (NFS — Network File System).
  • cifsiostat — relata as estatísticas do CIFS

Leia outros posts relacionados ao Linux neste site.

Como configurar o SYSSTAT

Antes de querer por os olhos nas estatísticas, é necessário se certificar de que o sistema está coletando seus dados.
Abra o arquivo /etc/default/sysstat e verifique a linha

ENABLED="true"

O valor da variável ENABLED tem que ser "true", se você quiser que o SYSSTAT colete dados no sistema.
Você precisa ter privilégios administrativos para alterar este arquivo.
Feita a alteração, é necessário reiniciar o serviço:

sudo service sysstat restart

ou

sudo /etc/init.d/sysstat start

A partir daí o SYSSTAT já estará ativo.

Toque final: o crontab

A principal ferramenta do SYSSTAT é o sar e você já pode usá-lo imediatamente.
Já o aplicativo sa2 foi projetado para rodar dentro do cron.
Se você não tem muita intimidade com o CRON ou o CRONTAB, sugiro ler este artigo.
No exemplo, que segue, o crontab está programado para executar o sa1 e o sa2.
O primeiro, a cada 10 minutos e o segundo, todo dia, às 22:00. Veja:

# Executa o sa1 a cada 10 minutos
*/10 * * * * root /usr/lib/sa/sa1 1 1
# Gera um relatório diário a partir dos dados do sa2, às 22:00 
00 22 * * * root /usr/lib/sa/sa2 -A

Com esta configuração no crontab, todo dia um arquivo novo será criado no diretório /var/log/sa.

Fontes:

Página do desenvolvedor: http://sebastien.godard.pagesperso-orange.fr/documentation.html
Mais informações sobre o sar: http://www.blackmoreops.com/2014/06/18/sysstat-sar-examples-usage/

Saiba mais sobre o CRONTAB: https://elias.praciano.com/?s=crontab

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), desenvolvedor web e geek, nos mais diversos assuntos. Entusiasta de software livre e hacker de LEGO, acredito em repassar meu conhecimento e ajudar as pessoas sempre que for possível.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *