Ad Widget

Collapse

Criação de Item para um Serviço especifico.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mariocarvalhope25
    Junior Member
    • Sep 2011
    • 6

    #1

    Criação de Item para um Serviço especifico.

    Pessoal, estou precisando monitorarar alguns serviços especificos no linux que não tem no template do zabbix.

    O primeiro seria o status do serviço do postgres

    1 - Já criei o arquivo postgresql.conf dento de /etc/zabbix/ e já coloquei o Include no /etc/zabbix/zabbix_server.conf

    2 - No arquivo /etc/zabbix/postgresql.conf adicionei a seguinte linha
    UserParameter=postgresql-servico, service postgresql status

    3 - No servidor do zabbix eu já testei com o seguinte comando
    zabbix_get -s IP -k postgresql-servico

    Minha dúvida agora é a seguinte,
    Como faço para criar o item no zabbix ?
    Já tentei com várias chaves e toda vez apareçe o status como "Não suportado"
    net.tcp.service.perf[postgresql-servico]
    net.tcp.service[postgresql-servico]
    service_state[postgresql-servico]


    Alguém poderia me ajudar ?

    Abração!
  • nayara
    Member
    • Mar 2010
    • 43

    #2
    Olá!!


    Na chave é só você colocar o nome do comando personalizado, no seu caso é postgresql-servico .





    Originally posted by mariocarvalhope25
    Pessoal, estou precisando monitorarar alguns serviços especificos no linux que não tem no template do zabbix.

    O primeiro seria o status do serviço do postgres

    1 - Já criei o arquivo postgresql.conf dento de /etc/zabbix/ e já coloquei o Include no /etc/zabbix/zabbix_server.conf

    2 - No arquivo /etc/zabbix/postgresql.conf adicionei a seguinte linha
    UserParameter=postgresql-servico, service postgresql status

    3 - No servidor do zabbix eu já testei com o seguinte comando
    zabbix_get -s IP -k postgresql-servico

    Minha dúvida agora é a seguinte,
    Como faço para criar o item no zabbix ?
    Já tentei com várias chaves e toda vez apareçe o status como "Não suportado"
    net.tcp.service.perf[postgresql-servico]
    net.tcp.service[postgresql-servico]
    service_state[postgresql-servico]


    Alguém poderia me ajudar ?

    Abração!

    Comment

    • mariocarvalhope25
      Junior Member
      • Sep 2011
      • 6

      #3
      Nayara,


      Acabei de colocar e mesmo assim apareçeu o status "Não Suportado"
      No campo "Tipo" seria o "Agente Zabbix" não é?

      Comment

      • nayara
        Member
        • Mar 2010
        • 43

        #4
        Olá,

        Teoricamente seria fazer isso mesmo, veja se consegue reproduzir o meu exemplo.

        Estou monitorando a versão de PHP em um servidor de aplicação linux.

        No zabbix_agent.conf adicionei a seguinte linha

        UserParameter=php_version, php -v |grep -v "Copyright" |grep -v Zend

        Segue a tela da minha configuração do item.
        Observe que o primeiro parâmetro é a chave do item no zabbix.

        Ah não se esqueça de voltar o status do item como ativo, pois já tive muitos problemas que ele demora para verificar novamente se o item é suportado ou não.

        Verifique também se o tipo de informação está como texto, pois o linux retornará uma string para o zabbix
        Attached Files
        Last edited by nayara; 05-09-2011, 17:09.

        Comment

        • mariocarvalhope25
          Junior Member
          • Sep 2011
          • 6

          #5
          Nayara,

          Aparentemente no ITEM agora está OK.
          O problema está sendo na triggers.

          O retorno do ITEM vai ser o seguinte:
          [root@srvmonitoramento ~]# zabbix_get -s 10.0.0.8 -k postgresql-servidor.servico
          postmaster (pid 81610 81489 81281 81238 81008 80891 80636 80441 80187 80083 4614 4135 3386 2921 822 766) está em execução...

          No triggers coloquei da seguinte forma:
          Expressão (Alterar método de entrada): {FL01ostgresql-servidor.servico.last(0)}=1

          Independente do valor que eu coloque no final (0 ou 1 ) não acontece nada.

          Comment

          • nayara
            Member
            • Mar 2010
            • 43

            #6
            Olá,

            Bom, o problema está porque o item retorna uma string.

            Eu colocaria o UserParameter da seguinte forma:

            UserParameter=postgresql-servico, service postgresql status |grep "está em execução" | wc -l

            Desta forma o zabbix retornará 1 quando o servidor estiver OK ou 0 quando estiver down. Fica mais fácil de tratar

            Comment

            • mariocarvalhope25
              Junior Member
              • Sep 2011
              • 6

              #7
              Ótimo.
              Eu tinha feito um .sh pra fazer o check da seguinte forma

              #!/bin/bash
              post=`service postgresql status`
              post2="postmaster está parado"
              if [ "$post" == "$post2" ]
              then echo "O serviço está parado"
              else
              echo "O serviço está funcionando"
              fi

              Estava funcionando, mas da forma que você colocou está bem mais prático.

              Problema Resolvido!
              Muito obrigado pela ajuda Nay.

              Comment

              • loalvares
                Member
                • Jun 2011
                • 35

                #8
                Que tal utilizar Postbix?

                Você já pensou em utilizar o postbix?



                Eu utilizo e além de trazer o status, traz diversas informações importantes sobre a performance do banco.

                Comment

                • mariocarvalhope25
                  Junior Member
                  • Sep 2011
                  • 6

                  #9
                  Me diz um exemplo de como eu implementaria ...

                  Comment

                  • joel.molling
                    Junior Member
                    • Nov 2010
                    • 12

                    #10
                    Mario..

                    Crie um item com esta chave "proc.num[postmaster]".

                    Isto irá monitorar o processo "pai" do seu post. E logo, faça uma trigger com sum(#2)=0

                    Comment

                    • theocastelo
                      Member
                      Zabbix Certified Specialist
                      • Oct 2012
                      • 81

                      #11
                      Pessoal,

                      Desculpa reviver essa thread, mas estou com um problema parecido com esse, preciso monitorar o apache e o postgres num servidor virtual Linux ubuntu, tentei fazer as configurações que o colega acima fez, porém ele dá sempre que o agente não suporta o item.

                      service.state não me retorna dado nenhum...

                      proc.num[apache2] me retorna o número 6.. que acredito que é o numero de processos apache rodando, porém, preciso saber se o serviço tá up ou down.. e criar um trigger se ele ficar down...

                      Alguém pode me auxiliar nisso?

                      Grato desde já...

                      Comment

                      • nayara
                        Member
                        • Mar 2010
                        • 43

                        #12
                        Olá Theo,

                        Você pode fazer isso de duas formas:

                        1- Se não existe nenhum processo do apache rodando, obviamente o serviço está down. Então sua trigger fica sendo se o numero de processos for menor do que 1, alerta!!.
                        2- O segundo e, acho melhor é o monitoramento web. As vezes existe processo do apache rodando, mas por algum motivo ele está travado. O monitoramento web também pode simular uma conexão no seu postgres, assim vc verifica o serviço por completo.


                        Especificamente para o postgres, você pode chamar um shell que simula uma conexão com o banco de dados (usando uma espécie de "sqlplus do oracle" para postgres, desconheço isso hehe), neste shell vc faz a conexão, chama um select qualquer, se tiver up, retorna 1, se down 0. Ai faz uma trigger no zabbix com isso... Não tenho nenhum postgres no meu ambiente, por isso não consigo simular...



                        Originally posted by theocastelo
                        Pessoal,

                        Desculpa reviver essa thread, mas estou com um problema parecido com esse, preciso monitorar o apache e o postgres num servidor virtual Linux ubuntu, tentei fazer as configurações que o colega acima fez, porém ele dá sempre que o agente não suporta o item.

                        service.state não me retorna dado nenhum...

                        proc.num[apache2] me retorna o número 6.. que acredito que é o numero de processos apache rodando, porém, preciso saber se o serviço tá up ou down.. e criar um trigger se ele ficar down...

                        Alguém pode me auxiliar nisso?

                        Grato desde já...

                        Comment

                        Working...