2016-04-13 37 views
1

我使用Grafana監視數據,它向我展示了HTML5 Canvas元素中的圖。我想知道是否可以通過JavaScript訪問這些數據?畫布圖 - 檢索Grafana的數據

我知道Canvas是一個Graphic對象,但由於我可以與圖形進行交互,將鼠標懸停在特定點上並獲取更多數據,我認爲它必須以某種方式獲得此數據。

Interaction example

可惜我找不到任何方式做到這一點。有誰知道是否以及如何做到這一點?

我檢查了Canvas元素的方法,並檢查了互聯網。

在此先感謝!

乾杯

+1

畫布本身只是形象,thi它是可以被「繪製」的東西。它不包含有關該圖片的信息。要獲得與圖形相關的數據,您需要弄清楚正在做什麼以及從哪裏獲取數據。 – IrkenInvader

+0

有道理,現在我也明白爲什麼Canvas無法回饋數據。 應該是來自AngularJS,會檢查這個 謝謝! – the0MIKE

回答

1

canvas元素基本上是你可以畫在白板上。這意味着它用於一些神奇的用戶界面和數據表示,例如您所引用的圖表。這也意味着除了當前的圖像之外,你無法看到關於畫布的任何邏輯(在所有通常的畫布功能中實際繪製等)。

要找到您需要的數據,您需要查看與它捆綁在一起的JS。但是,如果數據來自Grafana這樣的服務,那麼它可能會有一個附帶的API。幸運的是,你應該能夠通過使用他們的API獲取你想要的數據。

請求示例:

GET /api/datasources/1 HTTP/1.1 
Accept: application/json 
Content-Type: application/json 
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk 

迴應示例:

HTTP/1.1 200 
Content-Type: application/json 

{ 
    "id":1, 
    "orgId":1, 
    "name":"test_datasource", 
    "type":"graphite", 
    "access":"proxy", 
    "url":"http://mydatasource.com", 
    "password":"", 
    "user":"", 
    "database":"", 
    "basicAuth":false, 
    "basicAuthUser":"", 
    "basicAuthPassword":"", 
    "isDefault":false, 
    "jsonData":null 
} 

更在http://docs.grafana.org/reference/http_api/#get-a-single-data-sources-by-id

0

畫布本身只是保持圖像,認爲它是一些可以「畫」。它不包含有關該圖片的信息。要獲得與圖形相關的數據,您需要弄清楚正在做什麼以及從哪裏獲取數據。

謝謝@IrkenInvader

0

您可以將圖形數據導出爲CSV或JSON文件,只需點擊圖形標題閱讀,然後漢堡菜單,然後出口