Ad Widget

Collapse

Configuração do Agente Zabbix

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Configuração do Agente Zabbix

    Olá pessoal.

    Eu estou tentando fazer um monitoramento via agente porém estou com alguns problemas...

    Configurei o agente para dar um comando da seguinte forma:
    Code:
    UserParameter=sum.fd.1,du -s /teste/
    Esse comando, retorna o seguinte:
    8730648 /teste/

    Com isso, eu não consigo montar um grafico.

    Minha pergunta é:
    Existe alguma forma de ignorar o diretório e considerar apenas a primeira parte do retorno via macro ou alguma coisa dentro do proprio zabbix?
    Ou ainda, se não for possivel a primeira opção, onde esses retornos são armazenados no BD?
    Eu conseguindo filtrar eles dentro do BD conseguiria monstar o grafico externamente.

    Aguardo o auxilio de alguem.
    Obrigado

    #2
    Pelo proprio shell você consegue

    usando o awk vc consegue amigo , tente adicionar a linha de comando | awk -F ' ' '{print $1}' , ficando assim :

    UserParameter=sum.fd.1,du -s /teste/ | awk -F ' ' '{print $1}'

    veja se o retorno é somente os valores , com isso você pode colocar para o zabbix receber numeros inteiros.

    Comment


      #3
      Originally posted by Jefte View Post
      usando o awk vc consegue amigo , tente adicionar a linha de comando | awk -F ' ' '{print $1}' , ficando assim :

      UserParameter=sum.fd.1,du -s /teste/ | awk -F ' ' '{print $1}'

      veja se o retorno é somente os valores , com isso você pode colocar para o zabbix receber numeros inteiros.
      Muito obrigado pela resposta!

      Isso me ajudou bastante!
      Poderia me informar o que significa essa parte que você acrescentou? Pode ser util em outras ocasiões

      Comment


        #4
        Em produção não funciona

        Fiz o que o amigo indicou e funcionou perfeitamente em ambiente de teste com pastas com não mais que 5GB
        Porém, quando coloquei em produção, devido a grande quantidade de arquivos, o comando du demora pra retornar. O caso mais critico é de uma pasta com 450GB que demorou quase 10 minutos pra retornar o valor do comando.

        Com isso, como o servidor Zabbix espera uma resposta imediata, ele não entende que o valor demora pra retornar.

        Existe alguma forma de eu configurar um atraso no agent ou no proprio servidor pra retornar o valor pro server?

        Agradeço a atenção.

        Comment


          #5
          Olá amigo , dê uma olhada sobre o comando awk , poderá te auxiliar muito em algumas empreitadas :
          http://www.dltec.com.br/blog/linux/u...-awk-no-linux/

          com relação ao tempo de reposta do comando , não sei qual a sua necessidade de tempo de coleta , mas vc pode direcionar a saida do comando para um arquivo e fazer o zabbix ler esse arquivo , é meio que uma "gambiarra" mas funciona ...
          vc precisaria de um script rodando esse comando:

          du -s /teste/ | awk -F ' ' '{print $1}' > arquivoTemporario.txt

          em seguida seu zabbix lendo esse arquivo com um cat arquivoTemporario.txt

          Só assim você irá burlar esse tempo !

          Comment


            #6
            Amigo, muito obrigado de novo. Isso irá me ajudar.
            Se voce puder me adantar uma dica...
            Eu li o link sobre o awk e, como um mero iniciante em linux não o conhecia. Por meio deste comando eu consigo pegar a ultima linha de um txt, por exemplo?
            Mais uma vez, obrigado!

            Comment


              #7
              [resolvido]

              Consegui resolver o problema graças ao amigo Jefte.
              Fiz algumas adaptações para que a minha necessidade fosse atendida.

              Conforme foi informado, eu inseri no Agent a seguinte linha:
              UserParameter=teste,tail -1 /log_disco/teste.txt

              Após isso, criei uma pasta na raiz e inseri o seguinte comando em crontab:
              30 * * * * echo "`du -s /dados/AT | awk -F ' ' '{print $1}'`" >> /log_disco/teste.txt

              e reiniciei o agent.

              Com isso, tenho os valores em um txt comum onde o Zabbix ira ler os valores contornando o problema com o tempo elevado de resposta quando se trata de um diretorio imenso.

              Obrigado

              Comment


                #8
                Comando uteis

                Procure por comandos como 'sed -n' 'wc -l' 'tail' todos podem te ajudar com tratamento de retorno...

                mas para você ler a ultima linha de um arquivo deve usar

                tail -1 nomedoarquivo.txt

                Comment

                Announcement

                Collapse
                No announcement yet.
                Working...
                X