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.
Todas 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
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