Grafana 安裝使用


Grafana 安裝使用

官方網址:https://grafana.com/

官方文檔:http://docs.grafana.org/

安裝 grafana

基於 RPM 的系統(CentOS,Fedora,OpenSuse,RedHat)

最新穩定版 CentOS / Fedora / OpenSuse / Redhat Linux
grafana-4.4.3 (x86-64 rpm) :https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm

直接使用 yum 安裝:

yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm

或者使用 rpm 方式安裝:( CentOS / Fedora / Redhat)

$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-4.4.3-1.x86_64.rpm

通過yum源方式安裝:

vim /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

yum install grafana

安裝包信息:

二進制文件: /usr/sbin/grafana-server
init.d 腳本: /etc/init.d/grafana-server
環境變量文件: /etc/sysconfig/grafana-server
配置文件: /etc/grafana/grafana.ini
啟動項: grafana-server.service
日志文件:/var/log/grafana/grafana.log
默認配置的sqlite3數據庫:/var/lib/grafana/grafana.db

啟動方式:

腳本啟動

service grafana-server start

以 grafana 用戶啟動 grafana 進程,grafana 用戶是在安裝過程中自動創建的。默認http端口:3000,默認用戶和用戶組是 admin

通過 systemd 啟動

systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server

systemctl enable grafana-server.service

環境配置文件:

systemd 和 init.d 腳本啟動都是加載的 /etc/sysconfig/grafana-server 文件。
可以在 /etc/sysconfig/grafana-server 文件中修改日志目錄,數據目錄和其他一些環境變量。

日志記錄:

默認情況日志記錄到 /var/log/grafana 文件。

數據庫:

默認配置指定的數據庫 sqlite3 在 /var/lib/grafana/grafana.db 。升級之前記得備份。
也可以用 mysql 或者 postgres,詳細配置參考:http://docs.grafana.org/installation/configuration/#database 或者后面的介紹的配置方法。

配置文件:

配置文件存放在 /etc/grafana/grafana.ini ,詳細的配置選項參考:http://docs.grafana.org/installation/configuration/

添加數據源:

Graphite
InfluxDB
OpenTSDB
Prometheus

服務器端圖形渲染:

服務器端映像(png)呈現是一個可選的特性,但在共享可視化時非常有用,例如在警報通知中。
如果圖像缺少文本,請確保已經安裝了字體包

yum install fontconfig
yum install freetype*
yum install urw-fonts

管理

配置:

grafana 后端有許多配置選項,可以在一個配置文件或環境變量中指定。
ini 配置文件以分號為注釋 ;
默認配置文件路徑:$WORKING_DIR/conf/defaults.ini
自定義配置文件:$WORKING/conf/custom.ini
自定義配置文件路徑可以使用 --config 參數覆蓋

注意:使用 rpm或者 deb 方式安裝的,配置文件默認在 /etc/grafana/grafana.ini
這個路徑是由 init.d 腳本 --config 參數指定的。

使用環境變量

下面列出的配置文件中的選項都可以被環境變量覆蓋,語法:

GF_<SectionName>_<KeyName>

配置文件選項:
# default section
instance_name = ${HOSTNAME}

[security]
admin_user = admin

[auth.google]
client_secret = 0ldS3cretKey

環境變量替換:
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey

[paths] 選項

數據,日志等文件的保存路徑

使用

基本概念

本文件“自下而上”介紹Grafana的基本概念,可以作為熟悉核心功能的起點。

數據源

Grafana支持許多不同的時間序列數據(數據源)存儲后端。每個數據源都有一個特定的查詢編輯器,該特定的查詢編輯器是針對特定數據源公開的功能和功能而定制的。

正式支持以下數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch。

每個數據源的查詢語言和功能顯然是非常不同的。您可以將來自多個數據源的數據合並到單個儀表板上,但每個面板都與屬於特定組織的特定數據源相關聯。

組織

Grafana支持多個組織,以支持各種部署模式,包括使用單個Grafana實例為多個潛在的不受信任的組織提供服務。

在很多情況下,Grafana將部署在一個單一的組織中。

每個組織都可以有一個或多個數據源。

所有儀表板由特定組織擁有。

注意:請務必記住,大多數度量數據庫不提供任何類型的個人用戶系列身份驗證。因此,在Grafana中,數據源和儀表板可用於特定組織中的所有用戶。

用戶

用戶是Grafana的命名帳戶。用戶可以屬於一個或多個組織,並可以通過角色分配不同級別的權限。

Grafana支持各種各樣的內部和外部方式供用戶驗證自己。這些包括從其自己的集成數據庫,外部SQL服務器或外部LDAP服務器。

行是儀表板內的邏輯分隔符,用於將面板組合在一起。

行總是12“單位”寬。這些單位根據瀏覽器的水平分辨率自動縮放。您可以通過設置自己的寬度來控制一行中面板的相對寬度。

使用抽象單位,使Grafana在所有的屏幕上看起來都很棒,而且體積很小。

注意:使用MaxDataPoint功能,無論您的分辨率還是時間范圍,Grafana都可以為您顯示完美的數據點數量。
根據所選的模板變量,利用重復行功能動態創建或刪除整個行(可以填充面板)。

可以通過單擊行標題來折疊行。如果您保存了一個折疊的行的儀表板,它將保存在該狀態,並且不會預加載這些圖,直到該行被展開。

面板

面板是Grafana的基本可視化構建塊。每個面板提供一個查詢編輯器(取決於面板中選擇的數據源),允許您通過使用查詢編輯器提取完美的可視化以在Panel上顯示
每個Panel都有各種各樣的造型和格式化選項,讓您創建完美的圖片。

面板可以在儀表板上拖放並重新排列。他們也可以調整大小。
目前有四種面板類型:Graph,Singlestat,Dashlist,Table和Text。
像“ 圖形”面板的面板允許您根據需要繪制出許多指標和系列。像Singlestat這樣的其他面板需要將單個查詢減少到單個數字。Dashlist和Text是不連接到任何數據源的特殊面板。

通過在面板配置中使用Dashboard Templating變量字符串(包括通過查詢編輯器配置的數據源的查詢),可以使面板更具動態性。
利用重復面板功能,根據所選擇的模板化變量動態創建或刪除面板。

面板上的時間范圍通常是儀表板時間選擇器中設置的時間范圍,但可以通過使用面板特定時間覆蓋來覆蓋。

面板(或整個儀表板)可以通過各種方式輕松共享。您可以發送鏈接到有誰登錄您的Grafana的人。您可以使用快照功能將當前正在查看的所有數據編碼為靜態和交互式JSON文檔; 它比通過電子郵件屏幕截圖好得多!

查詢編輯器

查詢編輯器公開了數據源的功能,並允許您查詢其包含的指標。
使用查詢編輯器在時間序列數據庫中構建一個或多個查詢(一個或多個系列)。該面板將立即更新,允許您實時有效地探索數據,並為該特定面板構建完美的查詢。
您可以在查詢本身的查詢編輯器中使用模板變量。這提供了一種基於“儀表板”上選擇的“模板化”變量動態探索數據的強大方法。

Grafana允許您在查詢編輯器中按照它們所在的行來引用查詢。如果您向圖形添加第二個查詢,則可以通過鍵入#A來引用第一個查詢。這提供了一種簡單而方便的方法來構建復合查詢。

儀表板

儀表板是所有在一起的地方。儀表板可以被認為是由一組或多組組成並排列成一行或多行的組件。
儀表板的時間段可以由儀表板右上方的儀表板時間選擇器控制。

儀表板可以利用模板來使它們更具動態性和交互性。
儀表板可以使用注釋來顯示面板上的事件數據。這可以幫助將Panel中的時間序列數據與其他事件相關聯。
儀表板(或特定面板)可以通過各種方式輕松共享。您可以發送鏈接到有誰登錄您的Grafana的人。您可以使用快照功能將當前正在查看的所有數據編碼為靜態和交互式JSON文檔; 它比通過電子郵件屏幕截圖好得多!

儀表板可以被標記,儀表板選擇器可以快速,可搜索訪問特定機構中的所有儀表板。

新變化

特性

圖形面板

Grafana的主板簡單地命名為Graph。它提供了非常豐富的圖形選項

單擊面板的標題會顯示一個菜單。該edit選項為面板打開其他配置選項。

常規選項卡允許自定義面板的外觀和菜單選項。

一般選項

Title - 儀表板上的面板標題
Span - 列中的面板寬度
Height - 面板內容高度(以像素為單位)

Drilldown / detail link 部分允許添加可以鏈接到其他儀表板或URL的面板的動態鏈接。

每個鏈接都有一個標題,一個類型和參數。鏈接可以是鏈接dashboard或absolute鏈接。如果是儀表板鏈接,則該dashboard值必須是儀表板的名稱。如果是absolute鏈接,則URL是鏈接的URL。

params允許在鏈接中添加其他URL參數。格式是由name=value多個參數分隔的&。可以使用模板變量作為值添加$myvar。

當鏈接到使用模板變量的另一個儀表板時,可以使用var-myvar=value該模板變量將鏈接填充到所需的值。

度量

“度量”標簽定義要呈現的系列數據和源。每個數據源提供不同的選項。

“軸”和“網格”選項卡控制軸,網格和圖例的顯示。

該Left Y和Right Y可以使用自定義的:

Unit - Y值的顯示單位
Grid Max - 最大Y值。(默認為自動)
Grid Min - 最小Y值。(默認為自動)
Label - Y軸標簽(默認為“”)
也可以通過取消選中相應的框來隱藏軸Show Axis。

X軸模式

有三個選項:

默認選項是Time,表示x軸表示時間,數據按時間分組(例如,按小時或分鍾)。

該Series選項意味着數據按序列分組,而不是按時間分組。y軸仍然表示該值。

該Histogram選項將圖形轉換為直方圖。直方圖是一種將數字分成范圍的條形圖,通常稱為桶或倉。較高的酒吧顯示更多數據在該范圍內。這里更詳細地描述了直方圖和水桶。

圖例

通過選中Show復選框來隱藏圖例。如果顯示,可以通過選中Table復選框將其顯示為值列表。使用Hide empty復選框可以從圖例中隱藏沒有值的系列。

圖例值

附加值可以沿着圖例名稱顯示: - Total- 從度量查詢返回的所有值的總和- - 從度量查詢Current返回的最后一個值 - Min- 從度量查詢返回的所有值的最小值- - 從Max最大值返回的所有值度量查詢 - Avg- 從度量查詢返回的所有值的平均值 - Decimals- 控制為圖例值顯示的小數位數(以及圖形懸停工具提示)

圖例值由Grafana根據客戶端計算,取決於您的度量標准查詢使用的聚合或點合並類型。所有上述圖例值都不能同時進行。例如,如果您繪制像請求/秒的速率,這可能是使用平均值作為聚合器,則圖例中的總計不會代表請求的總數。這只是Grafana收到的所有數據點的總和。

閾值

閾值允許您向圖形添加任意行或部分,以便更容易查看圖表何時跨越特定閾值。

圖表選項

Bar - 將值顯示為條形圖
Lines - 以線圖顯示值
Points - 顯示值的點

單體組

Singlestat面板允許您顯示SINGLE系列的一個主要摘要統計信息。它將系列減少為單個數字(通過查看系列中的最大值,最小值,平均值或值)。Singlestat還提供了對狀態或面板背景進行着色的閾值。它也可以將單個數字轉換為文本值,並顯示該系列的sparkline摘要。

Singlestat面板配置

singlestat面板有一個普通的查詢編輯器,可以讓您定義精確的指標查詢,如許多其他面板。通過“選項”選項卡,您可以訪問特定於Singlestat的功能。

腳本化儀表板

如果您有許多公制名稱以定義的模式更改(新服務器等),則不斷創建新的儀表板是令人煩惱的。

使用腳本化的儀表板,您可以使用javascript動態創建儀表板。在文件夾grafana安裝文件夾下public/dashboards/有一個名為的文件scripted.js。此文件包含腳本化儀表板的示例。您可以使用url訪問它:http://grafana_url/dashboard/script/scripted.js?rows=3&name=myName

如果您打開scripted.js,您可以看到它如何從ARGS變量讀取url參數,然后添加行和面板。

示例

var rows = 1;
var seriesName = 'argName';

if(!_.isUndefined(ARGS.rows)) {
  rows = parseInt(ARGS.rows, 10);
}

if(!_.isUndefined(ARGS.name)) {
  seriesName = ARGS.name;
}

for (var i = 0; i < rows; i++) {

  dashboard.rows.push({
    title: 'Scripted Graph ' + i,
    height: '300px',
    panels: [
      {
        title: 'Events',
        type: 'graph',
        span: 12,
        fill: 1,
        linewidth: 2,
        targets: [
          {
            'target': "randomWalk('" + seriesName + "')"
          },
          {
            'target': "randomWalk('random walk2')"
          }
        ],
      }
    ]
  });

}

return dashboard;

更多例子

您可以在public/dashboards/grafana安裝目錄中找到更多示例。

警報引擎和規則指南

警報僅在Grafana v4.0及更高版本中可用。

條件

目前唯一存在的條件類型是Query允許您指定查詢字母,時間范圍和聚合功能的條件。

查詢條件示例

avg() OF query(A, 5m, now) IS BELOW 14

avg()控制每個系列的值如何減少到可與閾值進行比較的值。單擊該功能將其更改為另一個聚合功能。
query(A, 5m, now)該字母定義要從“ 度量標准”選項卡執行什么查詢。第二個參數定義了時間范圍,5m, now意味着從現在到現在5分鍾。您還10m, now-2m可以定義從現在開始的10分鍾到現在的2分鍾的時間范圍。如果您想忽略最近2分鍾的數據,這將非常有用。
IS BELOW 14定義閾值的類型和閾值。您可以點擊IS BELOW更改閾值類型。

在警報規則中使用的查詢不能包含任何模板變量。目前我們只支持AND和OR操作條件之間的連續執行。例如,我們按以下順序有3個條件:condition:A(評估為:TRUE)OR條件:B(計算結果為:FALSE)AND條件:C(計算結果為:TRUE),結果將計算為(( TRUE或FALSE)AND TRUE)= TRUE。

我們計划在將來添加其他條件類型,例如Other Alert,您可以在其中包括另一個警報在您的條件下的狀態,以及Time Of Day。

故障排除

測試規則
您可以做的第一級故障排除是按測試規則按鈕。您將獲得結果,您可以擴展到可以查看從查詢返回的原始數據。

還可以通過檢查grafana-server日志進行進一步的故障排除。如果它不是錯誤或由於某些原因,日志不會說任何您可以啟用某些相關組件的調試日志記錄。這是在Grafana的ini配置文件中完成的。

顯示故障排除警報時可能相關的記錄器的示例。

[log]
filters = alerting.scheduler:debug \
          alerting.engine:debug \
          alerting.resultHandler:debug \
          alerting.evalHandler:debug \
          alerting.evalContext:debug \
          alerting.extractor:debug \
          alerting.notifier:debug \
          alerting.notifier.slack:debug \
          alerting.notifier.pagerduty:debug \
          alerting.notifier.email:debug \
          alerting.notifier.webhook:debug \
          tsdb.graphite:debug \
          tsdb.prometheus:debug \
          tsdb.opentsdb:debug \
          tsdb.influxdb:debug \

警報通知

警報僅在Grafana v4.0及更高版本中可用。
當警報更改狀態時,會發出通知。每個警報規則都可以有多個通知。但為了向警報規則添加通知,您首先需要添加和配置notification通道(可以是電子郵件,Pagerduty或其他集成)。這通過“通知通道”頁面完成。

通知通道設置

警報通知通道
在“通知通道”頁面上,點擊New Channel按鈕進入可以配置和設置新通知通道的頁面。

您指定名稱和類型,並鍵入特定選項。您還可以測試通知,以確保其正常工作和設置。

鍵盤快捷鍵

Grafana v4引入了一些功能強大的鍵盤快捷鍵。您現在可以通過鼠標懸停在面板上來對焦。專注於面板,您可以輕松點擊e切換面板編輯模式,或v切換全屏模式。p r移除面板。p s打開共享模態。

點擊?你的鍵盤打開快捷鍵幫助模態。

全球

g h 轉到首頁儀表板
g p 轉到個人資料
s o 打開搜索
s s 用加星標過濾器打開搜索
s t 在標簽視圖中打開搜索
esc 退出編輯/設置視圖
儀表板

mod+s 保存儀表板
mod+h 隱藏行控件
d r 刷新所有面板
d s 儀表板設置
d v 切換主動/查看模式
d k 切換報亭模式(隱藏頂部導航)
mod+o 切換共享圖形十字准線
專注面板

e 切換面板編輯視圖
v 切換面板全屏視圖
p s 打開面板共享模態
p r 刪除面板
聚焦行

r c 折疊行
r r 刪除行
時間范圍

t z 縮短時間范圍
t 移動時間范圍
t 向前移動時間范圍

教程

在反向代理之后運行Grafana

應該直接讓Grafana在逆向代理之后運行。但這里有一些您可能遇到的事情。

鏈接和重定向將不會正確呈現,除非您設置了server.domain設置。

[server]
domain = foo.bar
要使用子路徑前http://foo.bar/grafana一定要包括/grafana在root_url結束。否則Grafana將無法正常運行。參見下面的例子

例子

以下是在反向代理之后運行Grafana的一些示例配置。

Grafana配置(ex http://foo.bar.com

[server]
domain = foo.bar

Nginx配置

server {
  listen 80;
  root /usr/share/nginx/www;
  index index.html index.htm;

  location / {
   proxy_pass http://localhost:3000/;
  }
}

子路徑示例(http://foo.bar.com/grafana)

Grafana配置與子路徑

[server]
domain = foo.bar
root_url = %(protocol)s://%(domain)s:/grafana

Nginx配置與子路徑

server {
  listen 80;
  root /usr/share/nginx/www;
  index index.html index.htm;

  location /grafana/ {
   proxy_pass http://localhost:3000/;
  }
}

如何設置Grafana的高可用性

警報不支持高可用性。
設置Grafana的高可用性是相當簡單的。歸結為兩件事:

對多個grafana實例使用共享數據庫。
考慮如何存儲用戶會話。
配置多個服務器以使用相同的數據庫

首先,您需要做的是在其他服務器上設置mysql或postgres,並配置Grafana以使用該數據庫。您可以在grafana配置的[數據庫]部分中找到這樣做的配置。Grafana現在將把數據庫中的所有長期數據都保留下來。還值得考慮如何設置數據庫以實現高可用性,但不在本指南的范圍之內。

用戶會話

要考慮的第二件事是如何處理用戶會話以及如何平衡服務器之間的負載。默認情況下,Grafana將用戶會話存儲在磁盤上,如果您sticky sessions在負載均衡器中使用,則可以正常工作。Grafana還支持將會話數據存儲在數據庫中,redis或memcache可以在您的負載平衡器中使用循環。如果您使用mysql / postgres進行會話存儲,則首先需要一個表來存儲會話數據。有關[sessions]的詳細信息

對於Grafana本身,如果將會話存儲在磁盤或數據庫/ redis / memcache上,這並不重要。但是我們建議您將會話存儲在redis / memcache中,因為它可以更容易地從組中添加/遠程實例。

插件

安裝插件

安裝插件的最簡單方法是使用與grafana捆綁在一起的CLI工具grafana-cli。在修改插件后進行任何修改之前,需要重新啟動grafana-server。

Grafana插件目錄

在Linux系統上,grafana-cli會假設grafana插件目錄是/var/lib/grafana/plugins。可以通過指定-pluginsDir標志來覆蓋grafana-cli將要操作的目錄。在Windows系統上,必須為每個呼叫指定此參數。

Grafana-cli命令

列出可用的插件

grafana-cli plugins list-remote
安裝最新版本的插件

grafana-cli plugins install
安裝一個特定版本的插件

grafana-cli plugins install
列出已安裝的插件

grafana-cli plugins ls

更新所有安裝的插件

grafana-cli plugins update-all
更新一個插件

grafana-cli plugins update
刪除一個插件

grafana-cli plugins remove

2017-9-1


免責聲明!

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



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