Contents Previous Next

Comando mtmon_disco.pl

Este programa monitora a disponibilidade de área em disco. O padrão do sistema é gerar um alerta crítico quando a área usada passar de 95%. Os alertas podem ser configurados na linha de comando ou por filesystem no arquivo de configuração

Os limites para geração de eventos são definidos em termos de percentual ou tamanho absoluto da área livre no filesystem.

Filesystems com status de Read Only são ignorados.

Opções disponíveis na linha de comando :

--alerta

Identifica o filesystem com um aviso de alerta, que é representado na cor laranja no arquivo HTML gerado.

--config

O nome do arquivo de configuração padrão é $MTMON/etc/mtmon_disco.conf.

Quando se deseja ter configurações alternativas para horários diferentes, pode ser usada a opção --config para alterar os valores de alerta. Isto é útil para os casos onde uma notificação de eventos Warnings não são necessários.

--critico

Identifica o filesystem com um aviso crítico, que é representado na cor vermelha no arquivo HTML gerado.

--warning

Sinonimo de --alerta

--critical

Sinonimo de --critico

--soerros

Quando gera uma alerta, no dump enviado ao MTMON pode enviar a saída completa do comando df ou apenas as linhas dos filesystems com problemas. O default é mandar o df completo.

--html

Gera um arquivo no formato HTML com o resultado da verificação das áreas de disco.

 --html /tmp/exemplo.html

--nfs

O padrão de verificação é incluir apenas os diretórios locais. Com a opção --nfs, serão incluídos os diretórios montados via NFS ou CIFS.

Arquivo mtmon_disco.conf

O arquivo $MTMON/etc/mtmon_disco.conf é usado na definição dos limites usados pelo comando mtmon_disco.pl na verificação da área em disco.

O arquivo pode ter definidos os seguintes campos :

  [default]
     alerta=80 %
     critico=95%
     notifica=unix
     script=PATH/script.sh

  [/oracle/archive]
     alerta=0
     critico=50Mb
     notifica=oracle

  [/stand]
     ignorar=1

onde :

alerta
É a definição do limite de área usado no filesystem para gerar um evento de alerta. Se alerta=0, assume que apenas eventos críticos (vermelhos) serão reportados, ignorando eventos de alerta (amarelos).

critico
É a definição do limite de área usado no filesystem para gerar um evento crítico.

notifica
Define notificações distintas para os file systems monitorados.

ignorar
Quando um filesystem não deve ser monitorado, use esta opção e não será realizada nenhuma verificação para o filesystem. É útil para filesystems de banco de dados que já usam o recurso integralmente, como por exemplo, nos diretório onde estão os datafiles do ORACLE. Neste caso, pode ser necessário criar um plugin que verifique o uso das tablespaces no ORACLE, e trate o resultado adequadamente.

script
Esta variável define o script que será chamado quando um evento com severidade ocorrer no filesystem monitorado.

A sessão default é para definir o valor padrão dos limites usados pelo programa mtmon_disco.pl e as demais sessões são usadas para os filesystem representados pelo nome da sessão. O nome da sessão que define o critério de verificação pode ser o nome do filesystem ou do mount point. Para o filesystem abaixo, a sessão poderia se chamar /var ou /dev/hdb3.

  /dev/hdb3               116661     12878     97759  12% /var

Quando o limite é definido como percentual, o alerta deve ser um valor menor do que o parâmetro para crítico. Ou seja, quando o filesystem está em 70% é menos crítico do que quando está em 99%.

Quando o limite é definido em termos absolutos, por exemplo, 150000, 150Kb, 10Mb ou 3Gb, o alerta deve ser um valor maior do que o parâmetro para crítico. Ou seja, quando o filesystem tem 200Mb de área livre é menos crítico do que quando está com 10Mb de área livre.

Se não for incluído o caracter %, o programa define que valores maior do que 1000 são absolutos; valores definidos entre 0 e 110 é definição de percentual. A razão de 110% é por conta de alguns tipos de filesystem reservar 10% para o usuário root. Valores de 110 até 999 são usados para controle interno do plugin e não são tratados pelo programa, gerando erro de sintaxe.

Exemplos usando a opção --script

Quando é informada a opção script, o script definido é executado para cada filesystem monitorado antes de criar o evento. A execução será realizada para qualquer severidade.

Um exemplo bem útil é realizar um backup quando o diretório de archives do ORACLE está maior que um limite definido, permitindo que a própria monitoração recupere a situação sem precisar acionar algum recurso mais caro. Se o limite para gerar um evento de alerta (amarelo) for configurado e o próprio script faz o backup e libera a área, melhoramos a disponibiliade do sistema. Se houver um consumo de área maior do que o previsto num tempo reduzido, a recomendação é que seja gerado um evento vermelho, pois o risco se acentua mais.

As seguintes variáveis são repassadas para o script :

Considere o filesystem abaixo, em que ocorre disk full sempre que uma aplicação aborta de forma não planejada por conta da geração de um core.

# df /home/fprint
Filesystem    512-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd1          212992    202416    5%     1080     5% /home

Podemos criar um script, que tratará esta situação :

# cat /usr/local/Multitask/mtmon/bin/trata_mtmon_disco.sh
#!/bin/ksh

# $Id$

# Script chamado pelo plugin mtmon_disco.pl do MTMON.
# No arquivo $MTMON/etc/mtmon_disco.conf e' definida a opcao script que 
# identificara este script.

. /usr/local/bin/ComandosMT.sh

export device=$1
export diretorio=$2
export severidade=$3

[ "$diretorio" = '/home' ] || exit 0

$C_find /home -type f -name core -exec $C_rm -f {} \;

exit 0

Por fim, configuramos no arquivo $MTMON/etc/mtmon_disco.conf a opção script para que atue no filesystem quando atingir o limite definido :

[default]
   alerta=85%
   critico=90%
   script=/usr/local/Multitask/mtmon/bin/trata_mtmon_disco.sh

Contents Previous Next