Using InfluxDB in Grafana,influxDB在grafana中使用

grafana帶有功能豐富的數據源插件influxDB。支持豐富的查詢編輯器、註釋和templating(模版)查詢。sql

增長數據源(Adding the data source) 數據庫

  1. 點擊頂部Grafana圖標打開側邊的菜單。
  2. 在 Dashboards連接下的側菜單中,您應該找到一個名爲Data Sources的連接。
  3. 在頂部點擊 + Add data source按鈕。
  4. 在Type下拉選項中選擇 InfluxDB。

 

Edit/ADD data source後端

 name :數據源名稱。這就是在面板和查詢中引用數據源的方式。api

defalut:默認的數據源意味着它將被預先選中用於新的面板。瀏覽器

Typeapp

Http settings

Url:您的http協議、ip和influxDB api的端口(influxdb api端口是默認的8086)編輯器

Access:proxy:經過grafana後端訪問,Direct:直接經過瀏覽器訪問函數

Http Auth

Basic Auth編碼

with Credentialsspa

Tls client Auth

With CA Cert

InfluxDB Details

Database:influxdb數據庫名稱

User:數據庫用戶名

Password:數據庫用戶密碼

Defalut group by time

注意:若是你沒有在你的側菜單中看到Data Sources連接,這意味着你當前的用戶沒有當前組織的Admin角色。

詳細見;http://docs.grafana.org/features/datasources/influxdb/

 

Proxy vs Direct access

Proxy access means that the Grafana backend will proxy all requests from the browser. So requests to InfluxDB will be channeled through grafana-server. This means that the URL you specify needs to be accessible from the server you are running Grafana on. Proxy access mode is also more secure as the username & password will never reach the browser.

 

Query Editor

 

 你在graph或singlestat面板的metrics 頁籤找到influxDB編輯器。我也能夠經過單擊面板標題,而後edit。編輯器容許您選擇metrics頁籤。

Filter data (WHERE)

where 若要添加標記篩選器,請單擊Where加號圖標」+「。您能夠經過單擊remove tag filters 來刪除所選擇的條件。

The $timeFilter or $__timeFilter Variable

$timefilter返回當前選擇的時間範圍爲表達。

例如,time range表達時間爲Last 7 days ,表達式爲time > now() - 7d。

Grafana 會自動添加 $timeFilter,influxDB須要手動添加

若是你使用原始查詢,請至少確保where有$timeFilter,也總用時間區間和聚合函數功能。 不然InfluxDB 很容易返回成千上萬數據點提供瀏覽。

 

Regex matching

You can type in regex patterns for metric names or tag filter values, be sure to wrap the regex pattern in forward slashes (/). Grafana will automatically adjust the filter tag condition to use the InfluxDB regex match condition operator (=~)。

Field & Aggregation functions

在select行中,能夠指定要使用的字段和函數。若是你有一個時間組(group by time),你須要一個聚合函數,像derivative 。
編輯器嘗試簡化並統一查詢的這一部分。以下例子

以上將產生如下InfluxDB SELECT子句:

Select multiple fields

使用加號按鈕並選擇 Field > field來添加另外一個SELECT子句。你也能夠指定一個星號*選擇全部字段

ALIAS BY

 能夠將Series取個別名。 

 

 

Group By

GROUP BY,單擊組結尾處的+圖標。從出現的下拉列表中選擇一個標記。您能夠經過單擊標籤刪除該組,而後單擊X圖標。

$interval:沒有特別指定,默認是5分鐘,$interval與auto一個意思 ,

Group by time interval

設置這邊能夠改變$interval的值。我這寫的時候 基本要大於5分鐘,目前不是很清楚緣由。

 

Group by time是很重要的,不然Grafana查詢會返回成千上萬的數據點會慢下來。
對於每一個查詢,將時間字段分組爲空,並根據圖的時間範圍和像素寬度計算該組。
若是使用fill(0)或fill(null),則按時間間隔爲自動組設置一個低限
下限只能在您查詢的按組時間選項中設置。
在間隔以前添加一個更大的符號來設置一個下限。
例如:若是InfluxDB的metrics 爲每60秒

 

Text Editor Mode (RAW)

您能夠經過點擊漢堡圖標「」切換到原始查詢模式,更換數據庫,而後切換編輯器模式。

若是你使用原始查詢確認你的查詢至少有WHERE $timeFilter,也請一直有group by time 和聚合函數,不然InfluxDB能夠返回的數據點,將瀏覽器數十萬。

Templating

metric 查詢中,沒必要硬編碼諸如server, application and sensor name 之類的東西,而是能夠在它們的位置使用變量。
變量顯示在dashboard頂部的下拉式選擇框中。這些下拉菜單就能夠很容易地改變在你的儀表板顯示的數據。

Query variable

若是你添加的template變量,類型爲Query,你能夠寫一個InfluxDB(meta data)查詢。這些查詢能夠返回諸如measurement 名稱, key 名稱or key 值。

例如,你能夠有一個變量包含標籤爲hostname的全部值,若是你指定一個查詢在templating variable Query設置。

SHOW TAG VALUES WITH KEY = "hostname"

還能夠建立嵌套變量。例如,若是您有另外一個變量,例如region。而後,您能夠擁有hosts變量,只顯示當前選擇區域中的主機,查詢以下:

SHOW TAG VALUES WITH KEY = "hostname" WHERE region =~ /$region/

你能夠爲一個給定的measurement獲取key的名字。
SHOW TAG KEYS [FROM <measurement_name>]

若是有一個帶有key的變量,能夠在一個組子句中使用這個變量。這將容許您經過在儀表板頂部使用變量下拉菜單來更改組。

Ad hoc filters variable

InfluxDB支持特殊的「Ad hoc filters variable」變量類型。這個變量容許您任意指定任意數量的 key/value過濾器。這些過濾器將自動應用到全部的InfluxDB查詢。

Annotations(註釋)

annotations容許您在圖表頂部覆蓋豐富的事件信息。經過Dashboard menu / Annotations view添加註釋查詢。

一個查詢例子:

對於InfluxDB須要輸入一個查詢,像上面的例子。where須要在 $timeFilter部分。若是隻選擇一個列,就不須要在列映射字段中輸入任何內容。tag字段能夠是一個逗號分隔的字符串。SELECT title, description from events WHERE $timeFilter order asc
相關文章
相關標籤/搜索