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.