系列文章
- Grafana 系列文章
??Notes:
關于 Grafana系列-統一展示-6-Zabbix 資料源, 其實已經在之前的文章: 使用 Grafana 統一監控展示 - 對接 Zabbix 里詳細介紹過了, 感興趣的請移步閱讀.
知識儲備
一個圖表上的多個 Items
我們可以在 metric 欄位內使用正則運算式來建立有大量 items 的圖表,Grafana使用JavaScript正則運算式實作,例如,如果你需要顯示CPU時間(user、system、iowait等),你可以在Item欄位中使用這個regex創建圖表:
/CPU (?!idle).* time/

另一種使用regex的情況是比較不同主機的相同指標,使用/.*/ regex來顯示所有的指標或撰寫你自己的過濾器,例如,我想顯示所有主機組中名稱以backend 開頭的主機的CPU系統時間,我使用/.*/表示 Group,/^backend/表示 Host,CPU system time 表示 Item,

Template Variable
你可以使用模板變數來創建高度可重用和互動的儀表盤,模板化的總體思路是允許Grafana從資料源獲取不同的指標,并提供一種無需修改儀表盤就能即時改變的方法,對于Zabbix來說,這意味著你可以獲得主機組、主機、應用程式或專案的串列,并將其作為一個變數添加,
創建變數
Type: 默認情況下,Query 型別被選中,這意味著Grafana會向資料源詢問變數的值,但也有一些其他型別:Interval(只是一個時間間隔),Data source(你可以切換資料源,例如,如果你有一個以上的Zabbix實體,并且每個實體都作為資料源添加到Grafana中),Custom(你可以為變數設定任何預定義的值)和Constant,
Query 格式
Zabbix資料源中的模板變數查詢是一個字串,包含4個用大括號({})包裹的部分,
{host group}{host}{application}{item name}
如:
{Zabbix servers}{Zabbix server}{CPU}{*}
{Frontend}{web01.mydomain.com}{*}{*}
每個部分都可以是對應 metric 的名稱或*(表示所有 metric),
示例:
{*}回傳所有可用的主機組的串列{*}{*}Zabbix 中的所有主機{Network}{*}回傳 group: Network 中的所有主機{Linux servers}{*}{*}回傳Linux server group 中主機的所有應用程式{Linux Servers}{backend01}{CPU}{*}回傳backend01中屬于CPU應用的所有 items,
你可以使用另一個變數作為查詢的一部分,例如,你有一個變數group,它回傳主機組的串列,想用它來查詢所選組的主機,下面是這種情況下的查詢:
{$group}{*}
Variables 用法
當你創建一個變數時,你可以把它作為資料源查詢的一部分,Grafana也支持在不同的地方使用變數,如面板和 row 的標題、文本面板的內容等,

實戰
這里以在 Grafana Dashboards - Zabbix DataSource 里找到的第一個 Dashboard - Zabbix - Full Server Status(ID: 5363) 為例.

Variables
Group Variable
- Name: Group
- Type: Query
- Data source: zabbix
- Query Type: Group
- Group:
/env:[a-z].*/這里默認是/.*/, 即所有的 Group, 但是可以根據實際情況, 撰寫正則選擇部分 group, 如/env:[a-z].*/就是選擇以env:[a-z]開頭的group.
完整配置示例如下:

Host Variable
- Name: Host
- Type: Query
- Data source: zabbix
- Query Type: Host
- Group:
$Group即根據 Group Variable 的結果進一步查詢 - Host:
/.*/即查詢對應 Group 下的所有 Host
Disk Variable
- Name: Disk
- Type: Query
- Data source: zabbix
- Query Type: Application
Panel 查詢
?? 對于不同版本的 Zabbix, Item 名字可能不盡相同, 需要按需調整.
如在我這里, 該 Dashboard 的 Total memory panel 無法正常顯示. 需要將調整, 調整后如下:
- Query Mode: Metrics
- Group:
$Group - Host:
$Host - Application: Memory
- Item:
/Memory utilization|Available memory/
如下圖:

另外, 為了 Linux/Windows 指標的兼容性, 對于 CPU 總數, Item 可以調整為:
Item: /Number of (CPUs|cores)/
Zabbix Problems
另外, Grafana Zabbix Plugin 還自帶 Zabbix Problems Panel. 可以和 Zabbix 的 Problems 對接, 實作較好的展示效果. 具體效果如下:

其具體的 Query 如下:
- Query Mode: Problems
- 然后:
GroupHostApplicationProblemTags等按需填寫.
具體配置如下:

并且每個 Problem 還可以點擊查看詳情, 并跳轉回 Zabbix 界面處理, 執行腳本, 認領該問題, 手動關閉... 可以說是非常強大了.
如下圖:

???參考檔案
- About Grafana-Zabbix - Grafana-Zabbix Documentation (alexanderzobnin.github.io)
三人行, 必有我師; 知識共享, 天下為公. 本文由東風微鳴技術博客 EWhisper.cn 撰寫.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/552229.html
標籤:其他
下一篇:返回列表
