influxDB在grafana中使用


Using InfluxDB in Grafana,influxDB在grafana中使用

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

增加數據源(Adding the data source) 

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

 

Edit/ADD data source

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

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

Type

Http settings

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

Access:proxy:通過grafana后端訪問,Direct:直接通過瀏覽器訪問

Http Auth

Basic Auth

with Credentials

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添加注釋查詢。

一個查詢例子:

SELECT title, description from events WHERE $timeFilter order asc

對於InfluxDB需要輸入一個查詢,像上面的例子。where需要在 $timeFilter部分。如果只選擇一個列,就不需要在列映射字段中輸入任何內容。tag字段可以是一個逗號分隔的字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM