前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Grafana系列-统一展示-6-Zabbix仪表板

Grafana系列-统一展示-6-Zabbix仪表板

作者头像
东风微鸣
发布2023-09-01 13:33:50
5320
发布2023-09-01 13:33:50
举报
文章被收录于专栏:东风微鸣技术博客

知识储备

一个图表上的多个 Items

我们可以在 metric 字段内使用正则表达式来建立有大量 items 的图表。Grafana使用JavaScript正则表达式实现。例如,如果你需要显示CPU时间(user、system、iowait等),你可以在Item字段中使用这个regex创建图表:

代码语言:javascript
复制
/CPU (?!idle).* time/

Zabbix multi items with regex

另一种使用regex的情况是比较不同主机的相同指标。使用/.*/ regex来显示所有的指标或编写你自己的过滤器。例如,我想显示所有主机组中名称以backend 开头的主机的CPU系统时间。我使用/.*/表示 Group,/^backend/表示 Host,CPU system time 表示 Item。

Backend system time

Template Variable

你可以使用模板变量来创建高度可重用和互动的仪表盘。模板化的总体思路是允许Grafana从数据源获取不同的指标,并提供一种无需修改仪表盘就能即时改变的方法。对于Zabbix来说,这意味着你可以获得主机组、主机、应用程序或项目的列表,并将其作为一个变量添加。

创建变量

Type: 默认情况下,Query 类型被选中。这意味着Grafana会向数据源询问变量的值。但也有一些其他类型:Interval(只是一个时间间隔),Data source(你可以切换数据源,例如,如果你有一个以上的Zabbix实例,并且每个实例都作为数据源添加到Grafana中),Custom(你可以为变量设置任何预定义的值)和Constant。

Query 格式

Zabbix数据源中的模板变量查询是一个字符串,包含4个用大括号({})包裹的部分。

代码语言:javascript
复制
{host group}{host}{application}{item name}

如:

代码语言:javascript
复制
{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,它返回主机组的列表,想用它来查询所选组的主机。下面是这种情况下的查询:

代码语言:javascript
复制
{$group}{*}

Variables 用法

当你创建一个变量时,你可以把它作为数据源查询的一部分。Grafana也支持在不同的地方使用变量,如面板和 row 的标题、文本面板的内容等。

Query with variables

实战

这里以在 Grafana Dashboards - Zabbix DataSource[3] 里找到的第一个 Dashboard - Zabbix - Full Server Status(ID: 5363) 为例.

Zabbix - Full Server Status

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.

完整配置示例如下:

Zabbix Group Variable

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/

如下图:

Zabbix Panel Query

另外, 为了 Linux/Windows 指标的兼容性, 对于 CPU 总数, Item 可以调整为:

Item: /Number of (CPUs|cores)/

Zabbix Problems

另外, Grafana Zabbix Plugin 还自带 Zabbix Problems Panel. 可以和 Zabbix 的 Problems 对接, 实现较好的展示效果. 具体效果如下:

Problems Panel

其具体的 Query 如下:

•Query Mode: Problems•然后: Group Host Application Problem Tags 等按需填写.

具体配置如下:

Zabbix Problems Pannel Config

并且每个 Problem 还可以点击查看详情, 并跳转回 Zabbix 界面处理, 执行脚本, 认领该问题, 手动关闭... 可以说是非常强大了.

如下图:

Zabbix Problems Detail

📚️参考文档

•About Grafana-Zabbix - Grafana-Zabbix Documentation (alexanderzobnin.github.io)[4]

References

[1] Grafana 系列文章: https://ewhisper.cn/tags/Grafana/ [2] 使用 Grafana 统一监控展示 - 对接 Zabbix: https://ewhisper.cn/posts/38823/ [3] Grafana Dashboards - Zabbix DataSource: https://grafana.com/grafana/dashboards/?dataSource=alexanderzobnin-zabbix-datasource [4] About Grafana-Zabbix - Grafana-Zabbix Documentation (alexanderzobnin.github.io): https://alexanderzobnin.github.io/grafana-zabbix/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识储备
    • 一个图表上的多个 Items
      • Template Variable
        • 创建变量
      • Query 格式
        • Variables 用法
        • 实战
          • Variables
            • Group Variable
            • Host Variable
            • Disk Variable
          • Panel 查询
            • Zabbix Problems
        • 📚️参考文档
          • References
          相关产品与服务
          Grafana 服务
          Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档