Monitorando tamanho de diretórios com Zabbix

Este post mostra como listar todos os subdiretórios dentro de um diretório e monitorar o tamanho destes.

Para isso será necessário a utilização de um aplicativo (escrito por mim) que tem 2 funções: 1 – Listar todos os subdiretórios dentro de um diretório; 2 – Calcular o espaço em disco utilizado por estes diretórios. Este aplicativo chama-se ZabbixDirSize.exe e está disponível aqui (ZabbixDirSize).

 

Configurando o agente

Edite o arquivo de configuração do agente e adicione as linhas abaixo:

1 UnsafeUserParameters=1
2 UserParameter=ds.subdirs[*],C:\Zabbix\ZabbixDirSize.exe --sub-dirs "$1" "$2" "$3" "$4" "$5"
3 UserParameter=ds.subdirs.size[*],C:\Zabbix\ZabbixDirSize.exe --size "$1"

Nas linhas acima criamos 2 chaves ds.subdirs e ds.subdirs.size, a primeira lista todos os diretórios dentro de um diretório específico e a segunda retorna o tamanho utilizado por um diretório.

A chave ds.subdirs está passando até 5 diretórios (pai) para o executável. Caso deseje mais diretórios basta incluir as variaveis no final da linha ($6, $7, etc…)

Edite o caminho do executável ZabbixDirSize.exe conforme o seu ambiente. Para que este executável funcione corretamente é necessário estar instalado na maquina o .NET 2.0 ou superior.

Criando o Host no Zabbix, configuração a localização automática de subdiretórios dentro de um diretório específico e criando os itens de captura e gráficos.

Crie o host dentro do Zabbix

Inserindo Host

Clique no item Discovery rules

002

Clique no item Create discovery rules

003

Configure a regra de descoberta conforme a imagem abaixo, inserindo a chave ds.subdirs[] colocando entre colchetes o nome do diretório em que deseja listar todos os subdiretórios. Clique no botão Save.

Neste parâmetro pode ser passado mais de um diretório pai, bastando dentro dos colchetes colocar os diretórios separados por virgula, ficando desta forma: ds.subdirs[d:\dir1,c:\Dir3,d:\dir3]

004

Após salvo será aberto a tela conforma a imagem abaixo. Clique em Item prototypes.

005

Clique no botão Create item prototype

006

Configure o item conforme tela abaixo, observando os seguintes items, depois clique em Save

  • Name: Used space on $1
  • Type: Zabbix agent
  • Key: ds.subdirs.size[{#DIRPATH}]
  • Type information: Numeric (unsigned)
  • Data Type: Decimal
  • Units: B
  • Update interval: 21600
  • New application: Directory

007

Depois clique em Graph prototype e clique em Create graph prototype. Configure conforme os itens abaixo

  • Name: Used space on {#DIRPATH}
  • Width: 600
  • Height: 340

009

Depois clique em Add prototype, selecione o item Used space on {#DIRPATH}.

010

Altere o Draw Style para Dashed Line e clique em Save

011

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: