Ad Widget

Collapse

Graficos de Termometro ou outros.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rmalheiro
    Junior Member
    Zabbix Certified Specialist
    • Mar 2013
    • 8

    #1

    Graficos de Termometro ou outros.

    Olá a todos,

    Alguém aqui utiliza outro tipo de gauges ou gráficos alem dos próprio zabbix?
    Pergunto isso por que por exemplo hoje coleto o dado de temperatura de uma maquina porém na hora de exibir apenas tenho a opção de colocar o grafico com o padrão do zabbix, seria possível utilizar uma outra biblioteca de gráficos com gauges por exemplo ou termômetros? Mesmo que de terceiros ou via API?
  • rmalheiro
    Junior Member
    Zabbix Certified Specialist
    • Mar 2013
    • 8

    #2
    É possível extrair dados do zabbix e informar por exemplo num gauge do google chart? Alguém já conseguiu?

    Comment

    • rmalheiro
      Junior Member
      Zabbix Certified Specialist
      • Mar 2013
      • 8

      #3
      Ok.

      Consegui resolver.

      Segue uma solução.

      Eu obtenho os dados de temperatura via IPMI

      com o comando no zabbix server:

      /usr/bin/ipmitool sdr |grep "Temp 1"

      e com os parâmetros a seguir filtro apenas o valor que sai na primeira linha.

      `/usr/bin/ipmitool sdr |grep "Temp 1" | awk '{print $4}' | head -1`

      com isso eu obtenho um valor tipo 20

      Ae o que eu fiz foi pegar um template do google chart e criei um arquivo chamado temp.gen

      CODE:

      <html>
      <head>
      <script type='text/javascript' src='https://www.google.com/jsapi'></script>
      <script type='text/javascript'>
      google.load('visualization', '1', {packages:['gauge']});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
      var data = google.visualization.arrayToDataTable([
      ['Label', 'Value'],
      ['TEMP C', valortemp],
      ]);

      var options = {
      width: 320, height: 320,
      redFrom: 25, redTo: 100,
      yellowFrom:22, yellowTo: 25,
      greenFrom:10, greenTo: 22,
      max:60,
      minorTicks: 5
      };

      var chart = new google.visualization.Gauge(document.getElementById ('chart_div'));
      chart.draw(data, options);
      }
      </script>
      </head>
      <body>
      <div id='chart_div'></div>
      </body>
      </html>

      Depois eu fiz um shel script que substitui o item valortemp pela saída do comando ipmitool e ae gerando um html onde eu puxo na tela do zabbix.

      geratemp.sh

      CODE:

      #!/bin/bash
      cd /var/www/html
      bxtemp=`/usr/bin/ipmitool sdr |grep "Temp 1" | awk '{print $4}' | head -1`
      valortemp=$bxtemp
      sed s/valortemp/$valortemp/g /var/www/html/sample.gen > temp.html

      Com isso consegui um gauge com valor da temperatura do ambiente.

      Pelo menos acho que da para entender.

      Comment

      • kebueno
        Junior Member
        • May 2015
        • 1

        #4
        Exemplo

        Amigo, Consegue um enviar o print de como ficou?



        Originally posted by rmalheiro
        Ok.

        Consegui resolver.

        Segue uma solução.

        Eu obtenho os dados de temperatura via IPMI

        com o comando no zabbix server:

        /usr/bin/ipmitool sdr |grep "Temp 1"

        e com os parâmetros a seguir filtro apenas o valor que sai na primeira linha.

        `/usr/bin/ipmitool sdr |grep "Temp 1" | awk '{print $4}' | head -1`

        com isso eu obtenho um valor tipo 20

        Ae o que eu fiz foi pegar um template do google chart e criei um arquivo chamado temp.gen

        CODE:

        <html>
        <head>
        <script type='text/javascript' src='https://www.google.com/jsapi'></script>
        <script type='text/javascript'>
        google.load('visualization', '1', {packages:['gauge']});
        google.setOnLoadCallback(drawChart);
        function drawChart() {
        var data = google.visualization.arrayToDataTable([
        ['Label', 'Value'],
        ['TEMP C', valortemp],
        ]);

        var options = {
        width: 320, height: 320,
        redFrom: 25, redTo: 100,
        yellowFrom:22, yellowTo: 25,
        greenFrom:10, greenTo: 22,
        max:60,
        minorTicks: 5
        };

        var chart = new google.visualization.Gauge(document.getElementById ('chart_div'));
        chart.draw(data, options);
        }
        </script>
        </head>
        <body>
        <div id='chart_div'></div>
        </body>
        </html>

        Depois eu fiz um shel script que substitui o item valortemp pela saída do comando ipmitool e ae gerando um html onde eu puxo na tela do zabbix.

        geratemp.sh

        CODE:

        #!/bin/bash
        cd /var/www/html
        bxtemp=`/usr/bin/ipmitool sdr |grep "Temp 1" | awk '{print $4}' | head -1`
        valortemp=$bxtemp
        sed s/valortemp/$valortemp/g /var/www/html/sample.gen > temp.html

        Com isso consegui um gauge com valor da temperatura do ambiente.

        Pelo menos acho que da para entender.

        Comment

        Working...