Image default
How To

Monitore a leitura/escrita em disco no Linux com o iotop

Para quem administra servidores Linux e Unix em ambiente crítico, é necessário estar atento a muitas variáveis. Dentre elas, e a que pode causar grande impacto é com relação à escrita no disco. O comando iotop (pronuncia-se “aiotop”)  é um grande aliado do administrador, pois com ele ele poderá monitorar as aplicações/processos que mais utilizam o disco rígido, tanto para leitura como para escrita.

Em um cenário de análise forense, pode-se verificar qual aplicação está consumindo recursos do disco rígido, e assim tomar alguma ação reativa.

De acordo com a documentação do iotop, ele tem a seguinte função:

Monitorar informações de uso de I/O (Entrada/Saída) do kernel do Linux (é necessário ter a versão 2.6.20 ou superior) e exibir uma tabela de uso corrente de I/O por processos ou threads no sistema. Em uma coluna pode-se ver a quantidade de leitura ou escrita (em KB, MB ou GB) de informações por cada processo/thread durante um determinado período.

Instalando o Iotop

Para distribuições baseadas no Debian, digite no terminal:

$ sudo apt-get install iotop

E nas que são baseadas no Red Hat (CentOS, Fedora, etc), digite:

$ sudo yum install iotop

ou (para versões mais novas do Fedora/CentOS):

$ sudo dnf install iotop

Como usar?

Existem diversos parâmetros a serem utilizados com o iotop, mas vamos no ater à somente ao da leitura/escrita. Então, para verificar a leitura/escrita por parte de processos/threads digite:

$ sudo iotop --only

Teremos um resultado parecido com:

iotop

Conforme a imagem acima, constatamos o seguinte:

  • PID do processo: 21117
  • Usuário: mysql
  • Escrita no disco: 1406.25 K/s (ou 1 MB/s)
  • Comando utilizado: mysqld –basedir=/usr…

Vemos que o MySQL está efetuando escrita no disco à uma velocidade de 1MB/s. Cabe ao administrador avaliar se este é um valor aceitável ou não. Cada caso é um caso.

Outro recurso interessante do iotop, é que você pode agendar a sua execução e salvar em um arquivo o conteúdo das informações coletadas. A sintaxe abaixo do iotop é muito para o modo não interativo, ou seja, sem a interação do usuário:

$ sudo iotop --only --iter=4 >> /tmp/iotop.log

No comando acima informamos ao iotop que ele colete somente as informações relacionadas à leitura/escrita, bem como fazer no máximo 4 interações com o sistema (algo como 4 coletas).

Para agendar a sua execução diária e de hora em hora, primeiramente crie um arquivo chamado iotop no diretório do Cron relacionado à execuções diárias (Dica do blog Linux Descomplicado):

$ sudo touch /etc/cron.d/iotop

E adicione o conteúdo abaixo no arquivo criado, direcionando as informações para /var/log/iotop (arquivo que conterá os logs do iotop):

* * * * * root /usr/sbin/iotop --only –iter=60 >> /var/log/iotop

No comando acima aumentamos a interação para 60 e adicionamos o arquivo de logs que conterá as informações geradas pelo iotop.

Para maiores informações sobre o uso do iotop, digite no terminal:

$ man iotop

Fonte:

http://www.linuxdescomplicado.com.br/2013/12/saiba-como-monitorar-o-uso.html
http://www.cyberciti.biz/hardware/linux-iotop-simple-top-like-io-monitor/

Posts similares

Instale e configure o Linux Malware Detect e ClamAV no Linux

O Analista

Linux: Procure por backdoors em seu sistema utilizando o BackdoorMan

O Analista

“Recuperando” a senha do roteador através da ferramenta Hydra

O Analista