Zabbix: monitorando quantidade de arquivos em um diretório Windows

Hoje iremos mostrar de uma forma simples como monitorar a quantidade de arquivos em um determinado diretório no Windows com o Zabbix.

Cenário a ser monitorado

Necessitamos monitorar a quantidade de arquivos existentes no diretório C:\Monitorar, caso atinja 11 arquivos, uma trigger será disparada.

Como iremos monitorar.

Iremos utilizar o comando DIR e o FIND do CMD do Windows com alguns parâmetros específicos juntamente com o chave do Zabbix agente system.run.

O comando que iremos utilizar para verificar a quantidades de arquivos no diretório é:

 

dir C:\Monitorar /b /a-d-s | find /c /v ""

Onde:

dir: Exibe uma lista com todos os arquivos e subpastas;

/b: A opção  retornará apenas uma lista de nomes de arquivos;

/a: A opção lista todos os arquivos (all files);

-d: A opção elimina a listagens das pastas, logo serão listados apenas arquivos;

-s: A opção elimina a listagens dos arquivos do sistema (system files);

|: concatena o comando anterior com um novo comando;

find: Pesquisa uma sequência de texto em um arquivo ou diretório e exibe todas as linhas em que foi encontrada;

/c: Conta o número de linhas que contêm a sequência;

/v: Exibe todas as linhas que NÃO contêm a sequência especificada;

“”: A cadeia vazia “” é tratada como nunca correspondente.

Onde find /c /v “”: 

A cadeia vazia “” é tratada como nunca correspondente. O sinalizador /v reverte o teste, então agora corresponde a tudo e em seguida  /c retorna a contagem:

O comando dir C:\Monitorar /b /a-d-s  lista todos os arquivos do diretório especificado que não sejam arquivos do sistema concatenado com o comando find /c /v  “” que retorna, toda contagem dos arquivos listados pelo dir.

Abaixo o teste do comando:

 

Criando o item

Iremos utilizar a chave system.run nativa do Zabbix Agent. Iremos criar um item no host Windows que iremos monitorar o diretório.

Chave Zabbix:

system.run[dir C:\Monitorar /b /a-d-s | find /c /v ""]

 

1) Criando o item no Zabbix

 

2) Criando Trigger para o item

Lembrando que para utilizar o system.run, o parâmetro EnableRemoteCommands deve estar habilitado. Verifique no arquivo de configuração se está definido como 1, se não edite e alterar para 1

EnableRemoteCommands=1

 

3) Realizar um restart no Zabbix Agent no host que foi criado o item

 

4) Validar em Dados recentes se o item está sendo coletado

 

5) Verificar se a Trigger foi disparada

 

Não conhecia o system.run? Iremos falar mais sobre o comando no próximo artigo. Até breve.