系列文章

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
  • 然后: Group Host Application Problem Tags 等按需填写.

具体配置如下:

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

如下图:

️参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

Grafana系列-统一展示-6-Zabbix仪表板的更多相关文章

  1. Grafana 系列文章(十二):如何使用Loki创建一个用于搜索日志的Grafana仪表板

    概述 创建一个简单的 Grafana 仪表板, 以实现对日志的快速搜索. 有经验的直接用 Grafana 的 Explore 功能就可以了. 但是对于没有经验的人, 他们如何能有一个已经预设了简单的标 ...

  2. 分布式监控系统Zabbix--使用Grafana进行图形展示

      今天介绍一款高颜值监控绘图工具Grafana,在使用Zabbix监控环境中,通常我们会结合Grafana进行图形展示.Grafana默认没有zabbix作为数据源,需要手动给zabbix安装一个插 ...

  3. Grafana 系列文章(三):Tempo-使用 HTTP 推送 Spans

    ️URL: https://grafana.com/docs/tempo/latest/api_docs/pushing-spans-with-http/ Description: 有时,使用追踪系统 ...

  4. Grafana 系列文章(四):Grafana Explore

    ️URL: https://grafana.com/docs/grafana/latest/explore/ Description: Explore Grafana 的仪表盘 UI 是关于构建可视化 ...

  5. Grafana 系列文章(十四):Helm 安装Loki

    前言 写或者翻译这么多篇 Loki 相关的文章了, 发现还没写怎么安装 现在开始介绍如何使用 Helm 安装 Loki. 前提 有 Helm, 并且添加 Grafana 的官方源: helm repo ...

  6. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

  7. 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建

    如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...

  8. Grafana 系列文章(一):基于 Grafana 的全栈可观察性 Demo

    ️Reference: https://github.com/grafana/intro-to-mlt 这是关于 Grafana 中可观察性的三个支柱的一系列演讲的配套资源库. 它以一个自我封闭的 D ...

  9. Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing

    ️URL: https://grafana.com/blog/2020/11/17/tracing-with-the-grafana-cloud-agent-and-grafana-tempo/ ✍A ...

  10. Grafana 系列文章(五):Grafana Explore 查询管理

    ️URL: https://grafana.com/docs/grafana/latest/explore/query-management/ Description: Explore 中的查询管理 ...

随机推荐

  1. mysql-开启日志记录功能

    开启日志记录功能 -- 开启功能 SET GLOBAL general_log = ON; -- 保存到文件 SET GLOBAL log_output = 'file'; 查看日志内容 -- 查看日 ...

  2. 使用Navicat查询后 , 在结果处更改数据

    参考资料: https://blog.csdn.net/weixin_43786801/article/details/125364995 问题: 在使用Navicat查询是,往往想直接对查询结果进行 ...

  3. MQ(创建MQ注意事项)

    创建MQ队列管理器时,需要注意的事项包括以下几点: 1) 队列管理器的日志类型以及日志文件的大小和个数,要根据用户数据量的大小.各个队列上的消息总容量,来计算日志的总容量,以免在系统运行过程中出现日志 ...

  4. 白鹭egret 控制屏幕方向

    this.stage.orientation=fangxiang; fangxiang值: portrait landscape auto

  5. 关于k8s微服务的基础知识分享总结

    1.说起k8s,先得讲讲微服务,来个图(百度上找到的图),初识 1.微服务架构强调的是一种架构模式,提倡将单一的应用程序,划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调配合, ...

  6. Goravel ORM 新增模型关联,用 Golang 写关联也可以跟 Laravel 一样简单

    关于 Goravel Goravel 是一个功能完备.具有良好扩展能力的 Web 应用程序框架.作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用.框架风格与 Laravel 保持一致,让 ...

  7. Kafka 事务

    更多内容,前往IT-BLOG 在了解 Kafka的事务之前,先说一下 Kafka中幂等和事务(Kafka 0.11.0.0版本引入的两个特性)以此来实现 Exactly once(精确一次)了解更多链 ...

  8. Conda in Windows under MSYS2 and Zsh 的问题解决

    Conda in Windows under MSYS2 and Zsh 的问题解决 在Window11上使用git bash 安装zsh,并配置p10k主题,主要问题就是prompt中无法显示con ...

  9. ES5新增数组常见方法(indexof/forEach/map/filter)

    新增的数组常见方法:以下说明中,红色为必选参数,蓝色为可选参数 1.indexOf(data,start); 用于返回某个数组或者字符串中规定字符或者字符串的位置: var arr = [" ...

  10. 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3

    基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/ ...