Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

1. Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

kelion
kelion2

(usa CentOS)

Enviado em 14/05/2020 - 05:18h

Boa noite,

Preciso que o Zabbix verifique o conteúdo de um arquivo .txt em um determinado diretório periodicamente por exemplo de minuto em minuto e me retorne com o conteúdo do arquivo para caso esse arquivo fique sem atualizar eu saiba e caso apareça alguma linha de escrito "erro x" por exemplo, eu possa adicionar um alerta, e também verifique se novos arquivos estão sendo criados nesse diretório. Alguém já fez algo parecido?


  


2. Re: Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/05/2020 - 17:23h


kelion2 escreveu:

Boa noite,

Preciso que o Zabbix verifique o conteúdo de um arquivo .txt em um determinado diretório periodicamente por exemplo de minuto em minuto e me retorne com o conteúdo do arquivo para caso esse arquivo fique sem atualizar eu saiba e caso apareça alguma linha de escrito "erro x" por exemplo, eu possa adicionar um alerta, e também verifique se novos arquivos estão sendo criados nesse diretório. Alguém já fez algo parecido?

Boa tarde Kelion,
Não conheço o Zabbix.....
Segue sugestão em bash:
#!/bin/bash

DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";

while :;do
SUM=$(sha256sum < "${DIR}/${ARQ}");
QTDD=$(ls -1 ${DIR}|wc -l);
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"
done



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

kelion
kelion2

(usa CentOS)

Enviado em 17/05/2020 - 14:41h

msoliver escreveu:


kelion2 escreveu:

Boa noite,

Preciso que o Zabbix verifique o conteúdo de um arquivo .txt em um determinado diretório periodicamente por exemplo de minuto em minuto e me retorne com o conteúdo do arquivo para caso esse arquivo fique sem atualizar eu saiba e caso apareça alguma linha de escrito "erro x" por exemplo, eu possa adicionar um alerta, e também verifique se novos arquivos estão sendo criados nesse diretório. Alguém já fez algo parecido?

Boa tarde Kelion,
Não conheço o Zabbix.....
Segue sugestão em bash:
#!/bin/bash

DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";

while :;do
SUM=$(sha256sum < "${DIR}/${ARQ}");
QTDD=$(ls -1 ${DIR}|wc -l);
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"
done



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Boa tarde Marcelo,

Desde ja venho agradecer a ajuda esta ajudando bastante, porem estou tendo de adapta-lo ao zabbix, e esta dando time out acho que e por que ele fica executando direto
e dentro do Iten do Zabbix tem um intervalo onde eu chamo esse script.
Pergunta 1 teria como quebrar esse script em 3 menores 1- que veja se esta atualizando, 2- veja se esta tendo erro e imprima a linha do erro se não der não tem problema so de alertar sobre o erro ja ajuda muito e o 3 que verifique se novos arquivos foram criados no diretório. porem que execute apenas uma vez e pare.

Pergunta 2 tem algum curso de Bash que você poderia me recomendar gostei bastante dos recursos.

Pergunta 3 essa e pra todos.

Meu Linux e um CentOS 8 e estou tentando mapear uma pasta compartilhada e ja tentei diversas opções que achei no google, se eu entrar no ubuntu e executar os mesmos comandos funciona o mapeamento mais no CentOs8 não

mount.cifs //ip_do_server/Pasta /root/Pasta2 -o username=user,password='senha',uid=100,gid=1000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

mount -t cifs //ip-server/pasta /root/pasta2BridgeMQ -o username=user,password='senha',uid=100,gid=1000,umask=000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Porem diretórios existem, consigo pinga a outra maquina, e mapear pelo ubuntu.




4. Re: Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/05/2020 - 23:00h


kelion2 escreveu:

msoliver escreveu:


kelion2 escreveu:

Boa noite,

Preciso que o Zabbix verifique o conteúdo de um arquivo .txt em um determinado diretório periodicamente por exemplo de minuto em minuto e me retorne com o conteúdo do arquivo para caso esse arquivo fique sem atualizar eu saiba e caso apareça alguma linha de escrito "erro x" por exemplo, eu possa adicionar um alerta, e também verifique se novos arquivos estão sendo criados nesse diretório. Alguém já fez algo parecido?

Boa tarde Kelion,
Não conheço o Zabbix.....
Segue sugestão em bash:
#!/bin/bash

DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";

while :;do
SUM=$(sha256sum < "${DIR}/${ARQ}");
QTDD=$(ls -1 ${DIR}|wc -l);
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"
done



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Boa tarde Marcelo,

Desde ja venho agradecer a ajuda esta ajudando bastante, porem estou tendo de adapta-lo ao zabbix, e esta dando time out acho que e por que ele fica executando direto
e dentro do Iten do Zabbix tem um intervalo onde eu chamo esse script.
Pergunta 1 teria como quebrar esse script em 3 menores 1- que veja se esta atualizando, 2- veja se esta tendo erro e imprima a linha do erro se não der não tem problema so de alertar sobre o erro ja ajuda muito e o 3 que verifique se novos arquivos foram criados no diretório. porem que execute apenas uma vez e pare.

Pergunta 2 tem algum curso de Bash que você poderia me recomendar gostei bastante dos recursos.

Pergunta 3 essa e pra todos.

Meu Linux e um CentOS 8 e estou tentando mapear uma pasta compartilhada e ja tentei diversas opções que achei no google, se eu entrar no ubuntu e executar os mesmos comandos funciona o mapeamento mais no CentOs8 não

mount.cifs //ip_do_server/Pasta /root/Pasta2 -o username=user,password='senha',uid=100,gid=1000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

mount -t cifs //ip-server/pasta /root/pasta2BridgeMQ -o username=user,password='senha',uid=100,gid=1000,umask=000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Porem diretórios existem, consigo pinga a outra maquina, e mapear pelo ubuntu.

Boa noite Kelion.
Respondendo a pergunta 01.
Sim, pode dividir em 03 partes....
#!/bin/bash
#Busca a string "erro"
DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
#############################################
#!/bin/bash
#Checa se o arquivo foi alterado
DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";
SUM=$(sha256sum < "${DIR}/${ARQ}");
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
#############################################
#!/bin/bash
#Checa se A qtdd de arquivos no Dir, foi alterada
DIR="DIRETORIO_ALVO";

QTDD=$(ls -1 ${DIR}|wc -l);
sleep 1;
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"

Obs.:
Retirei O "laço" (looping), não fica executando indefinidamente....

Pergunta 02
Aprendi como autodidata.
Tem muito material bom aqui no VOL, e demais sites.
Além do man e help de cada comando...
Não esqueça de ler o man bash..... muito útil.....

Pergunta 03.
Desconheço...
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Monitoramento de Arquivo Txt e Diretorio. [RESOLVIDO]

kelion
kelion2

(usa CentOS)

Enviado em 18/05/2020 - 22:01h

msoliver escreveu:


kelion2 escreveu:

msoliver escreveu:


kelion2 escreveu:

Boa noite,

Preciso que o Zabbix verifique o conteúdo de um arquivo .txt em um determinado diretório periodicamente por exemplo de minuto em minuto e me retorne com o conteúdo do arquivo para caso esse arquivo fique sem atualizar eu saiba e caso apareça alguma linha de escrito "erro x" por exemplo, eu possa adicionar um alerta, e também verifique se novos arquivos estão sendo criados nesse diretório. Alguém já fez algo parecido?

Boa tarde Kelion,
Não conheço o Zabbix.....
Segue sugestão em bash:
#!/bin/bash

DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";

while :;do
SUM=$(sha256sum < "${DIR}/${ARQ}");
QTDD=$(ls -1 ${DIR}|wc -l);
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"
done



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Boa tarde Marcelo,

Desde ja venho agradecer a ajuda esta ajudando bastante, porem estou tendo de adapta-lo ao zabbix, e esta dando time out acho que e por que ele fica executando direto
e dentro do Iten do Zabbix tem um intervalo onde eu chamo esse script.
Pergunta 1 teria como quebrar esse script em 3 menores 1- que veja se esta atualizando, 2- veja se esta tendo erro e imprima a linha do erro se não der não tem problema so de alertar sobre o erro ja ajuda muito e o 3 que verifique se novos arquivos foram criados no diretório. porem que execute apenas uma vez e pare.

Pergunta 2 tem algum curso de Bash que você poderia me recomendar gostei bastante dos recursos.

Pergunta 3 essa e pra todos.

Meu Linux e um CentOS 8 e estou tentando mapear uma pasta compartilhada e ja tentei diversas opções que achei no google, se eu entrar no ubuntu e executar os mesmos comandos funciona o mapeamento mais no CentOs8 não

mount.cifs //ip_do_server/Pasta /root/Pasta2 -o username=user,password='senha',uid=100,gid=1000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

mount -t cifs //ip-server/pasta /root/pasta2BridgeMQ -o username=user,password='senha',uid=100,gid=1000,umask=000,iocharset=utf8
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Porem diretórios existem, consigo pinga a outra maquina, e mapear pelo ubuntu.

Boa noite Kelion.
Respondendo a pergunta 01.
Sim, pode dividir em 03 partes....
#!/bin/bash
#Busca a string "erro"
DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";
if grep -qi '\berro\b' ${DIR}/${ARQ};then
echo "Encontrada a String:[erro] em: ${DIR}/${arq}"
fi
#############################################
#!/bin/bash
#Checa se o arquivo foi alterado
DIR="DIRETORIO_ALVO";
ARQ="ARQUIVO_ALVO";
SUM=$(sha256sum < "${DIR}/${ARQ}");
sleep 1;
[[ "${SUM}" = "$(sha256sum < "${DIR}/${ARQ}")" ]] && printf "%()T - Não Alterado\n" || printf "%()T - Alterado\n"
#############################################
#!/bin/bash
#Checa se A qtdd de arquivos no Dir, foi alterada
DIR="DIRETORIO_ALVO";

QTDD=$(ls -1 ${DIR}|wc -l);
sleep 1;
DIF=$(( $(ls -1 ${DIR}|wc -l) - ${QTDD}))
((${DIF} > 0)) && printf "%()T ${DIF} Arquivo(s) novos em ${DIR}\n" || printf "%()T ${DIF} Sem ARqs Novos\n"

Obs.:
Retirei O "laço" (looping), não fica executando indefinidamente....

Pergunta 02
Aprendi como autodidata.
Tem muito material bom aqui no VOL, e demais sites.
Além do man e help de cada comando...
Não esqueça de ler o man bash..... muito útil.....

Pergunta 03.
Desconheço...
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________




Salve,

Resolvido a questão do mapeamento.
O CentOS8 tem suas particularidades.
Segue:mount -t cifs //ip-servidor/compartilhamento/pasta /diretorios/destino-o username=usuario,password='senha',uid=100,gid=1000,umask=000,iocharset=utf8

Agradeço a Ajuda ! o Script bash esta funcionando bem também estarei fazendo alguns ajustes com o ambiente.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts