关于运维:Grafana系列统一展示6Zabbix仪表板

8次阅读

共计 2369 个字符,预计需要花费 6 分钟才能阅读完成。

系列文章

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

具体配置如下:

并且每个 Problem 还能够点击查看详情, 并跳转回 Zabbix 界面解决, 执行脚本, 认领该问题, 手动敞开 … 能够说是十分弱小了.

如下图:

📚️参考文档

  • About Grafana-Zabbix – Grafana-Zabbix Documentation (alexanderzobnin.github.io)

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

正文完
 0