Ad Widget

Collapse

Graficos contínuos

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • spaww
    Senior Member
    Zabbix Certified Specialist
    • May 2009
    • 178

    #1

    Graficos contínuos

    Caros,

    Estou no processo de monitoração das impressoras (não do servidor de impressão) do meu parque. Tais impressoras podem ser, ou não, desligadas a qualquer momento pelos usuários finais.

    Isso está me gerando gráficos com "soluços"... faixas de tempo sem dados...

    Para gráficos de disponibilidade tudo bem visto que é uma faixa de tempo que não fora coletado nenhum dado. Mas para a coleta de informações cumulativas (quantidade de páginas impressas, níveis de toner, etc) este gráfico já não serve tendo tais partes sem dados.

    Alguma idéia de como resolver isso ?

    []s,
    Adail Horst
    INEP
    Adail Horst
    OCA/OCP - Oracle Application Server
    ZABBIX Certified Specialist
    http://www.spinola.net.br/blog (Blog sobre Zabbix e tecnologia)
  • zabbix_zen
    Senior Member
    • Jul 2009
    • 426

    #2
    Ola spaww.

    Não sei como está a fazer a colecta de dados e o correspondente envio para o Zabbix.
    Mas num cenário de ter uma script que extrai os dados e depois a envia por zabbix_sender(ou seja, um qualquer cenário que você controla o fluxo de informação) é relativamente simples.

    ->Script colecta dados
    ->se o valor retornado for nulo, forçar guardar o valor NULL, NVL, NULO, ou qualquer string autoexplicativa à sua escolha.
    ->enviar o valor da variavel por zabbix_sender para o Zabbix Server.
    (O Zabbix Server não vai compreender o significado desse valor e manterá o valor anteriormente colectado, mantendo o seu gráfico continuo)

    Comment

    • spaww
      Senior Member
      Zabbix Certified Specialist
      • May 2009
      • 178

      #3
      Originally posted by zabbix_zen
      Ola spaww.

      Não sei como está a fazer a colecta de dados e o correspondente envio para o Zabbix.
      Mas num cenário de ter uma script que extrai os dados e depois a envia por zabbix_sender(ou seja, um qualquer cenário que você controla o fluxo de informação) é relativamente simples.

      ->Script colecta dados
      ->se o valor retornado for nulo, forçar guardar o valor NULL, NVL, NULO, ou qualquer string autoexplicativa à sua escolha.
      ->enviar o valor da variavel por zabbix_sender para o Zabbix Server.
      (O Zabbix Server não vai compreender o significado desse valor e manterá o valor anteriormente colectado, mantendo o seu gráfico continuo)
      Eu Coleto via snmp Diretamente, não tenho como "forçar" um valor.
      Adail Horst
      OCA/OCP - Oracle Application Server
      ZABBIX Certified Specialist
      http://www.spinola.net.br/blog (Blog sobre Zabbix e tecnologia)

      Comment

      • exkg
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified Specialist
        • Mar 2007
        • 718

        #4
        Oi Adail,

        Na pratica o dado nao existe (nao foi coletado) e nao vai ter grafico.

        Concordo que 'graficos com buracos' nao sao nada agradaveis.

        Imagino que existem algumas abordagens / possibilidades:

        - 'mascarar' essa falta de dados (com um script como sugerido pelo zabbix_zen)

        PROS: ficamos sem os buracos no grafico;
        CONTRAS: isso vai criar um grafico 'falso' com dados que nao sao reais. Isso pode confundir quem estah avaliando o comportamento padrao de algum item;


        - conviver com os 'buracos'
        PROS: nao sei se tem algum (mas dah para afirmar que um buraco no grafico eh um indicativo de problema na coleta);
        CONTRAS: ter o impacto visual negativo de ver o grafico 'picotado'


        Se nao me engano o CACTI (e outros baseados em RRD) tratam as falhas nas coletas 'preenchendo' o buraco com uma linha reta entre o valor mais antigo e o mais recente.

        O ZABBIX armazena os dados de graficos em tabelas especificas e o grafico eh exibido com base nos valores armazenados. Quando o grafico eh 'montado' o ZABBIX NAO faz verificacoes se existe ou nao dado no intervalo selecionado.


        []s,
        Luciano
        --
        Luciano Alves
        www.zabbix.com
        Brazil | México | Argentina | Colômbia | Chile
        Zabbix Performance Tuning

        Comment

        • spaww
          Senior Member
          Zabbix Certified Specialist
          • May 2009
          • 178

          #5
          Originally posted by exkg
          Oi Adail,

          Na pratica o dado nao existe (nao foi coletado) e nao vai ter grafico.

          Concordo que 'graficos com buracos' nao sao nada agradaveis.

          Imagino que existem algumas abordagens / possibilidades:

          - 'mascarar' essa falta de dados (com um script como sugerido pelo zabbix_zen)

          PROS: ficamos sem os buracos no grafico;
          CONTRAS: isso vai criar um grafico 'falso' com dados que nao sao reais. Isso pode confundir quem estah avaliando o comportamento padrao de algum item;


          - conviver com os 'buracos'
          PROS: nao sei se tem algum (mas dah para afirmar que um buraco no grafico eh um indicativo de problema na coleta);
          CONTRAS: ter o impacto visual negativo de ver o grafico 'picotado'


          Se nao me engano o CACTI (e outros baseados em RRD) tratam as falhas nas coletas 'preenchendo' o buraco com uma linha reta entre o valor mais antigo e o mais recente.

          O ZABBIX armazena os dados de graficos em tabelas especificas e o grafico eh exibido com base nos valores armazenados. Quando o grafico eh 'montado' o ZABBIX NAO faz verificacoes se existe ou nao dado no intervalo selecionado.


          []s,
          Luciano
          Solução 4... engenharia reversa e fazer aquela ferramenta de gráficos em flash gerar o que eu preciso....
          Adail Horst
          OCA/OCP - Oracle Application Server
          ZABBIX Certified Specialist
          http://www.spinola.net.br/blog (Blog sobre Zabbix e tecnologia)

          Comment

          • exkg
            Senior Member
            Zabbix Certified Trainer
            Zabbix Certified Specialist
            • Mar 2007
            • 718

            #6
            Na verdade basta pegar os dados jah coletados que ficam nas tabelas TRENDS*


            Code:
            mysql> desc trends_uint;
            +-----------+---------------------+------+-----+---------+-------+
            | Field     | Type                | Null | Key | Default | Extra |
            +-----------+---------------------+------+-----+---------+-------+
            | itemid    | bigint(20) unsigned | NO   | PRI | 0       |       | 
            | clock     | int(11)             | NO   | PRI | 0       |       | 
            | num       | int(11)             | NO   |     | 0       |       | 
            | value_min | bigint(20) unsigned | NO   |     | 0       |       | 
            | value_avg | bigint(20) unsigned | NO   |     | 0       |       | 
            | value_max | bigint(20) unsigned | NO   |     | 0       |       | 
            +-----------+---------------------+------+-----+---------+-------+
            6 rows in set (0.04 sec)
            
            mysql> desc trends;
            +-----------+---------------------+------+-----+---------+-------+
            | Field     | Type                | Null | Key | Default | Extra |
            +-----------+---------------------+------+-----+---------+-------+
            | itemid    | bigint(20) unsigned | NO   | PRI | 0       |       | 
            | clock     | int(11)             | NO   | PRI | 0       |       | 
            | num       | int(11)             | NO   |     | 0       |       | 
            | value_min | double(16,4)        | NO   |     | 0.0000  |       | 
            | value_avg | double(16,4)        | NO   |     | 0.0000  |       | 
            | value_max | double(16,4)        | NO   |     | 0.0000  |       | 
            +-----------+---------------------+------+-----+---------+-------+
            6 rows in set (0.00 sec)
            
            mysql> select * from trends limit 10;
            +--------+------------+-----+-----------+-----------+-----------+
            | itemid | clock      | num | value_min | value_avg | value_max |
            +--------+------------+-----+-----------+-----------+-----------+
            |  19494 | 1231524000 |   3 |    1.0000 |    1.0067 |    1.0100 | 
            |  19494 | 1231527600 |  33 |    1.0000 |    1.0093 |    1.0500 | 
            |  19494 | 1231531200 |  30 |    1.0000 |    1.0089 |    1.0400 | 
            |  19494 | 1231765200 |   9 |    0.1200 |    0.1422 |    0.1800 | 
            |  19494 | 1231768800 |  44 |    0.0500 |    0.1520 |    0.2700 | 
            |  19494 | 1231772400 |  39 |    0.0600 |    0.1058 |    0.1600 | 
            |  19494 | 1231776000 |  22 |    0.0000 |    0.0368 |    0.1100 | 
            |  19494 | 1231779600 |  35 |    0.0000 |    0.0287 |    0.0800 | 
            |  19494 | 1231783200 |  32 |    0.0000 |    0.0440 |    0.1000 | 
            |  19494 | 1231786800 |  29 |    0.0000 |    0.0075 |    0.0300 | 
            +--------+------------+-----+-----------+-----------+-----------+
            10 rows in set (0.00 sec)
            
            mysql> select * from trends_uint limit 10; 
            +--------+------------+-----+-----------+-----------+-----------+
            | itemid | clock      | num | value_min | value_avg | value_max |
            +--------+------------+-----+-----------+-----------+-----------+
            |  18435 | 1220284800 |   2 |         1 |         1 |         1 | 
            |  18435 | 1220295600 |   1 |         1 |         1 |         1 | 
            |  18435 | 1220353200 |   1 |         1 |         1 |         1 | 
            |  18435 | 1220356800 |  56 |         1 |         1 |         1 | 
            |  18435 | 1220360400 |  41 |         1 |         1 |         1 | 
            |  18435 | 1220364000 |  57 |         1 |         1 |         1 | 
            |  18435 | 1220367600 |  51 |         1 |         1 |         1 | 
            |  18435 | 1220371200 |  39 |         1 |         1 |         1 | 
            |  18435 | 1220374800 |  45 |         1 |         1 |         1 | 
            |  18435 | 1220378400 |  45 |         1 |         1 |         1 | 
            +--------+------------+-----+-----------+-----------+-----------+
            10 rows in set (0.00 sec)

            Nelas estao TODOS os dados utilizados para a montagem dos graficos.


            []s,
            Luciano
            --
            Luciano Alves
            www.zabbix.com
            Brazil | México | Argentina | Colômbia | Chile
            Zabbix Performance Tuning

            Comment

            • spaww
              Senior Member
              Zabbix Certified Specialist
              • May 2009
              • 178

              #7
              Achei aqui q teoricamente teria q fazer uma conversão de Unix TimeStamp para data de "gente" kkkk ...
              Vc ja fez esta conversão ??
              SELECT clock, CONVERT_TZ(FROM_UNIXTIME(trends.`clock`),'+00:00', '-03:00') FROM `trends`
              order by clock desc
              Last edited by spaww; 07-01-2010, 22:48.
              Adail Horst
              OCA/OCP - Oracle Application Server
              ZABBIX Certified Specialist
              http://www.spinola.net.br/blog (Blog sobre Zabbix e tecnologia)

              Comment

              Working...