自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

15分鐘帶你入門(mén) Grafana

開(kāi)發(fā) 開(kāi)發(fā)工具
本文結(jié)合 ElasticSearch 大致介紹了 Grafana 的基礎(chǔ)概念以及最佳實(shí)踐。Grafana 作為一個(gè)監(jiān)控儀表盤(pán)系統(tǒng),它的出現(xiàn),不需要我們針對(duì)數(shù)據(jù)應(yīng)用分析進(jìn)行額外的開(kāi)發(fā),只需要通過(guò)配置就能得到我們想要的圖表。

簡(jiǎn)介

Grafana 是一款用 GO 語(yǔ)言開(kāi)發(fā)的開(kāi)源數(shù)據(jù)可視化工具,可以做數(shù)據(jù)監(jiān)控和數(shù)據(jù)統(tǒng)計(jì),帶有告警功能。

特點(diǎn):

可視化。Grafana 擁有快速靈活的客戶(hù)端圖表,面板插件有許多不同方式的可視化指標(biāo)和日志,官方庫(kù)中具有豐富的儀表盤(pán)插件,比如熱圖、折線圖、圖表等多種展示方式,讓我們復(fù)雜的數(shù)據(jù)展示的美觀而優(yōu)雅。

報(bào)警和通知。可視化地為最重要的指標(biāo)定義警報(bào)規(guī)則。Grafana 將持續(xù)評(píng)估它們,并發(fā)送通知。

動(dòng)態(tài)儀表盤(pán):使用模板變量創(chuàng)建動(dòng)態(tài)和可重用的儀表板,這些模板變量作為下拉菜單出現(xiàn)在儀表板頂部。

混合數(shù)據(jù)源:在同一個(gè)圖中混合不同的數(shù)據(jù)源!可以根據(jù)每個(gè)查詢(xún)指定數(shù)據(jù)源。這甚至適用于自定義數(shù)據(jù)源。

注釋?zhuān)鹤⑨寔?lái)自不同數(shù)據(jù)源圖表。將鼠標(biāo)懸停在事件上可以顯示完整的事件元數(shù)據(jù)和標(biāo)記。

過(guò)濾器:Grafana 使用 Ad-hoc 過(guò)濾器允許動(dòng)態(tài)創(chuàng)建新的鍵/值過(guò)濾器,這些過(guò)濾器會(huì)自動(dòng)應(yīng)用于使用該數(shù)據(jù)源的所有查詢(xún)。

安裝

Mac 下需要首先安裝 brew 這個(gè)包管理工具,再安裝 Grafana 就方便多了:

brew update
brew install grafana

啟停命令。通過(guò)下面命令可以后臺(tái)啟動(dòng)/停止 Grafana,默認(rèn)端口 3000。

// start
brew services start grafana
// stop
brew services stop grafana

查看 Grafana 版本:

grafana-server -v

瀏覽器登錄:http://127.0.0.1:3000/。

默認(rèn)的用戶(hù)名和密碼是:admin/admin。

下載安裝特定版本

mac 環(huán)境如下:

  • 第一步,下載
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-8.4.6.darwin-amd64.tar.gz
  • 第二步,解壓
tar -zxvf grafana-enterprise-8.4.6.darwin-amd64.tar.gz
  • 第三步,啟動(dòng)。進(jìn)入解壓目錄,./bin/grafana-server web

基礎(chǔ)概念

組織與用戶(hù)

Organization(組織) 是一個(gè)很大的概念,每個(gè)用戶(hù)可以擁有多個(gè) Organization,Grafana 有一個(gè)默認(rèn)的組織。用戶(hù)登錄后可以在不同的 Organization 之間切換,前提是該用戶(hù)擁有多個(gè) Organization。不同的 Organization 之間完全不一樣,包括 datasource,dashboard 等都不一樣。創(chuàng)建一個(gè) Organization 就相當(dāng)于開(kāi)了一個(gè)全新的視圖,所有的 datasource,dashboard 等都要再重新開(kāi)始創(chuàng)建。

User(用戶(hù)),這個(gè)概念應(yīng)該很簡(jiǎn)單,不用多說(shuō)。Grafana 里面用戶(hù)有三種角色 admin,editor,viewer。在2.1版本及之后新增了一種角色read only editor(只讀編輯模式),這種模式允許用戶(hù)修改 DashBoard,但是不允許保存。每個(gè) user 可以擁有多個(gè) Organization。

  • admin 權(quán)限最高,可以執(zhí)行任何操作,包括創(chuàng)建用戶(hù),新增 Datasource,創(chuàng)建DashBoard。
  • editor 角色不可以創(chuàng)建用戶(hù),不可以新增 Datasource,可以創(chuàng)建 DashBoard。
  • viewer 角色僅可以查看 DashBoard。

數(shù)據(jù)源

前文說(shuō)過(guò),Grafana 支持多種數(shù)據(jù)源。

可以執(zhí)行多種簡(jiǎn)單或復(fù)雜 Elasticsearch 查詢(xún),以可視化存儲(chǔ)在 Elasticsearch 中的日志。

右側(cè)設(shè)置 -- 數(shù)據(jù)源 -- Add data source -- ElasticSearch。

圖片

其中 Index name 是為時(shí)間字段指定默認(rèn)值,并指定 Elasticsearch 索引的名稱(chēng)。您可以使用索引名稱(chēng)或通配符的時(shí)間模式。

Access

這里對(duì) Access 進(jìn)行解釋一下,它設(shè)置了如何處理對(duì)數(shù)據(jù)源的請(qǐng)求。如果沒(méi)有其他說(shuō)明,服務(wù)器應(yīng)該是首選的方式。

  • 服務(wù)器訪問(wèn)模式(默認(rèn))

所有請(qǐng)求都將從瀏覽器發(fā)出到 Grafana 后端/服務(wù)器,后者再將請(qǐng)求轉(zhuǎn)發(fā)到數(shù)據(jù)源,從而避免可能的跨源資源共享(CORS)要求。如果選擇此訪問(wèn)方式,則需要可以從 Grafana 后端/服務(wù)器訪問(wèn)該 URL。

  1. 瀏覽器(直接)訪問(wèn)(將會(huì)被廢除)

所有請(qǐng)求都將從瀏覽器直接向數(shù)據(jù)源發(fā)出,并且可能要遵守跨域資源共享(CORS)的要求。如果選擇此訪問(wèn)方式,則需要可以從瀏覽器訪問(wèn)URL。

如果選擇瀏覽器訪問(wèn),則必須更新您的 Elasticsearch 配置,以允許其他域從瀏覽器訪問(wèn) Elasticsearch。您可以通過(guò)在 elasticsearch.yml 配置文件中為選項(xiàng)指定這些來(lái)實(shí)現(xiàn)。

這個(gè)版本會(huì)在未來(lái)的版本中廢除,假如選中這個(gè)模式會(huì)有如下提示:

Browser access mode in the Elasticsearch datasource is deprecated and will be removed in a future release.

http.cors.enabled: true
http.cors.allow-origin: "*"

儀表盤(pán)(Dashboard)

我們接下來(lái)介紹一下 Grafana 中的重要 UI 界面——儀表盤(pán)。

圖片

  • Dashboard。通過(guò)數(shù)據(jù)源定義好可視化的數(shù)據(jù)來(lái)源之后,對(duì)于用戶(hù)而言最重要的事情就是實(shí)現(xiàn)數(shù)據(jù)的可視化。在 Grafana 中,我們通過(guò) Dashboard 來(lái)組織和管理我們的數(shù)據(jù)可視化圖表。
  • Row。在 Dashboard 頁(yè)面中,我們還可以定義一個(gè) Row(行),來(lái)組織和管理一組相關(guān)的 Panel。
  • Panel。在一個(gè) Dashboard 中一個(gè)最基本的可視化單元為一個(gè) Panel(面板)。通過(guò) Panel 的 Query Editor(查詢(xún)編輯器)我們可以為每一個(gè) Panel 添加查詢(xún)的數(shù)據(jù)源以及數(shù)據(jù)查詢(xún)方式。每一個(gè) Panel 都是獨(dú)立的,可以選擇一種或者多種數(shù)據(jù)源進(jìn)行查詢(xún)。比如我們使用 ElasticSearch,那么我們可以使用 Lucene 語(yǔ)句進(jìn)行查詢(xún)。

最佳實(shí)踐 - 編輯圖表

Metric Query editor

指標(biāo)查詢(xún)編輯器。ElasticSearch 的 Metric Query editor 支持選擇多種指標(biāo)(Metrics)和分組(Group By)??梢酝ㄟ^(guò)添加或者刪除的圖標(biāo)進(jìn)行。

圖片

Query

使用 lucene 查詢(xún)語(yǔ)句。lucene 語(yǔ)法可以參看傳送門(mén)[1],語(yǔ)法中也可以使用變量。

我大概梳理了一下,常見(jiàn)的語(yǔ)法有以下:

圖片

Metrics指標(biāo)

Metrics。指標(biāo)配置,每種數(shù)據(jù)源提供不同的選項(xiàng),我這里用的是Elasticsearch。

根據(jù)自己的需求選擇,比如 Unique Count(根據(jù)某個(gè)字段去重,計(jì)算 UV 的時(shí)候)。比如我們需要計(jì)算百分位,就選擇 Percentiles。

圖片

集成了 ElasticSearch 中很多聚合的方法,比如 Min/Max/Count 等。

Group by

聚合分組方式,每個(gè)指標(biāo)屬性不同。

圖片

Date Histogram,根據(jù)時(shí)間聚合。

圖片

Terms 根據(jù)某個(gè)字段進(jìn)行聚合,一般用于生成表格。

圖片

Expression 計(jì)算

可以通過(guò) Expression 計(jì)算出相應(yīng)的結(jié)果。

較低版本不支持 Expression。可以通過(guò) Transform 進(jìn)行處理。在傳遞查詢(xún)的結(jié)果集以進(jìn)行可視化之前,對(duì)結(jié)果進(jìn)行一層轉(zhuǎn)換??梢灾С置^(guò)濾字段、跨查詢(xún)進(jìn)行計(jì)算等等。

別名使用

可以用固定值,也可以使用分組變量:

圖片

Templating(模板)

在指標(biāo)查詢(xún)除了硬編碼的方式,Grafana 支持變量注入的方式。變量顯示為儀表板頂部的下拉選擇框。這些下拉框可以方便地更改儀表板中顯示的數(shù)據(jù)。

設(shè)置變量

在 Dashboard 的設(shè)置中,我們找到 Variables 的設(shè)置,點(diǎn)擊 New,進(jìn)入設(shè)置頁(yè)面,其中 Type 類(lèi)型包含多種,我們常見(jiàn)的就是 Query??梢酝ㄟ^(guò) JSON 字符串來(lái)自定義,它的語(yǔ)法如下:

圖片

默認(rèn)大小限制為 500。你可以通過(guò) size 進(jìn)行設(shè)置。

你可以在 Query 中使用其他變量,當(dāng)其他變量變化時(shí),查詢(xún)的結(jié)果也會(huì)隨之變化。

{"find": "terms", "field": "@hostname", "query": "@source:$source"}

adhoc Filter 是提供給用戶(hù)可以自定義條件。官網(wǎng)提供的 demo[2]

使用變量

變量是值的占位符。您可以在指標(biāo)查詢(xún)和面板標(biāo)題中使用變量。因此,當(dāng)您使用儀表板頂部的下拉菜單更改值時(shí),面板的指標(biāo)查詢(xún)將更改以反映新值。

可以使用以下兩種語(yǔ)法:

  • $<varname> eg: @hostname:$hostname
  • [[varname]] eg: @hostname:[[hostname]]

以上是官網(wǎng)的使用,個(gè)人發(fā)現(xiàn),類(lèi)似 ES 中模板字符串的寫(xiě)法也是可以的。

name: ${name} AND env: test AND NOT a: ""

總結(jié)

本文結(jié)合 ElasticSearch 大致介紹了 Grafana 的基礎(chǔ)概念以及最佳實(shí)踐。Grafana 作為一個(gè)監(jiān)控儀表盤(pán)系統(tǒng),它的出現(xiàn),不需要我們針對(duì)數(shù)據(jù)應(yīng)用分析進(jìn)行額外的開(kāi)發(fā),只需要通過(guò)配置就能得到我們想要的圖表。

Grafana 的功能是強(qiáng)大而且靈活的,本文只是一個(gè)入門(mén)的介紹,更多的大家用到的時(shí)候還是得去看官網(wǎng)文檔[3]。

參考

  • Using Elasticsearch in Grafana[4]
  • 入門(mén)系列文章[5]
  • ES官方文檔[6]
  • lucene 語(yǔ)法[7]

參考資料

[1]傳送門(mén): https://segmentfault.com/a/1190000002972420

[2]demo: https://play.grafana.org/d/CknOEXDMk/elasticsearch-templated?orgId=1d

[3]官網(wǎng)文檔: https://grafana.com/docs/grafana/latest/

[4]Using Elasticsearch in Grafana: https://grafana.com/docs/grafana/latest/datasources/elasticsearch/#logs

[5]入門(mén)系列文章: https://juejin.cn/column/7023032795333132302

[6]ES官方文檔: https://www.elastic.co/guide/en/kibana/current/lucene-query.html

[7]lucene 語(yǔ)法: https://www.elastic.co/guide/en/elasticsearch/reference/7.15/query-dsl-query-string-query.html#query-string-syntax

責(zé)任編輯:武曉燕 來(lái)源: 前端雜貨鋪
相關(guān)推薦

2013-06-27 09:41:19

LuaLua語(yǔ)言Lua語(yǔ)言快速入門(mén)

2022-06-16 07:31:41

Web組件封裝HTML 標(biāo)簽

2022-02-17 09:24:11

TypeScript編程語(yǔ)言javaScrip

2021-02-03 14:31:53

人工智能人臉識(shí)別

2024-09-13 08:49:45

2025-03-13 06:22:59

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2020-09-14 11:30:26

HTTP3運(yùn)維互聯(lián)網(wǎng)

2021-06-18 07:34:12

Kafka中間件微服務(wù)

2020-10-13 18:22:58

DevOps工具開(kāi)發(fā)

2014-04-22 09:42:12

Bash腳本教程

2016-09-13 20:58:41

MySQ基礎(chǔ)入門(mén)Sql

2020-10-19 18:07:00

云計(jì)算技術(shù)應(yīng)用

2020-11-23 16:23:59

CSS設(shè)計(jì)技術(shù)

2025-01-24 08:38:47

2018-04-24 14:52:48

LinuxBash腳本

2019-12-05 10:00:03

架構(gòu)Redis服務(wù)器

2021-04-20 13:59:37

云計(jì)算

2024-01-16 07:46:14

FutureTask接口用法

2024-08-30 08:50:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)