2014-12-02 2 views
0

저는 흑연을 사용하여 통계를 얻고 변수에 대한 저당 계기를 렌더링하려고합니다. 흑연은 JSON을 사용하여 값을 뱉어 수 있습니다 다른 웹 페이지에서 값을 가져 와서 변수로 저장할 수 있습니까?

[{"target": "snmp.ssbSubstation.realEnergy.1", "datapoints": [[4511552439.0, 1417540920]]}]

또는 원시

을 : 소스의 전체 한 줄의

snmp.ssbSubstation.realEnergy.1,1417540860,1417540920,60|4511552439.0

당신이 JSON 또는 원시를 지정할 경우에 따라 반환. URL은 http://<graphite server>/render?target=snmp.ssbSubstation.realEnergy.1&format=raw&from=-1min

과 같이 형식이 지정됩니다. 4511552439.0을 잡고 계량기의 값으로 설정하고 grafana의 html 패널에서 렌더링하고 싶습니다. 이 작업을 수행하는 아주 간단한 방법이 있습니까?

답변

0

JSONP ajax 요청으로이 작업을 수행 할 수 있습니다. 아래 예제를 참고하십시오 (앱의 출발점).

jsFiddle here과 동일한 데모를 찾을 수 있습니다.

아마도 데이터 액세스가 더 잘 수행 될 수 있습니다. 2 차원 액세스는 조금 이상하게 보입니다 만 작동합니다.

저는 데이터를 시뮬레이트하기 위해 mocky.io를 사용했습니다.

// data format [{"target": "snmp.ssbSubstation.realEnergy.1", "datapoints": [[4511552439.0, 1417540920]]}] 
 

 
// http://www.mocky.io/v2/547df7d558eb49190856a759 
 

 
(function ($) { 
 
    var url = 'http://www.mocky.io/v2/547df7d558eb49190856a759'; // mocky.io demo source 
 

 
    var jsonCallback = function (data) { 
 
     var gauge = data[0].datapoints[0][0]; 
 
     console.log(gauge); 
 
     
 
     $('#data').html(JSON.stringify(data, null, 2)); 
 
     $("</p>").text('value for gauge ' + gauge).appendTo('#data'); 
 
    }; 
 

 
    $.ajax({ 
 
     type: 'GET', 
 
     url: url, 
 
     contentType: "application/json", 
 
     dataType: 'jsonp' 
 
    }).done(jsonCallback) 
 
    .fail(function (xhr) { 
 
     alert("error" + xhr.responseText); 
 
    }); 
 

 
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<pre id='data'></pre>

관련 문제