9 图表

描述

这些参数以及相应 dashboard widget 字段对象的可选属性值,可用于在 dashboard.create 和 dashboard.update 方法中配置 Graph widget。

在创建或更新 dashboard 时,不会对 widget fields 属性进行校验。 这使用户可以修改 内置 widget 并创建 自定义 widget,但也会带来错误创建或更新 widget 的风险。 为确保成功创建或更新 Graph widget,请参阅下表中概述的参数行为。

参数

图形小部件支持以下参数。

参数 仪表板小部件字段 名称 值
Refresh interval 0 rf_rate 0 - 无刷新;
10 - 10 秒;
30 - 30 秒;
60 - (默认) 1 分钟;
120 - 2 分钟;
600 - 10 分钟;
900 - 15 分钟。
Reference 1 reference 任何由 5 个字符组成的 string 值(例如 ABCDE 或 JBPNL)。此值在该 widget 所属的仪表板内必须唯一。

参数行为:
- 必填

数据集

以下参数支持用于配置 数据集。

属性名中的第一个数字(例如 ds.0.hosts.0、ds.0.items.0)表示特定的数据集,而第二个数字(如果存在)表示已配置的主机或监控项。

参数 type 名称 值
数据集类型 0 ds.0.dataset_type 0 - 监控项列表;
1 - (默认) 监控项模式。
监控项 4 ds.0.itemids.0 监控项 ID。

在 模板前端 上配置小部件时,只应设置在模板上配置的监控项。

注意:要配置多个监控项,请为每个监控项创建一个 dashboard widget field 对象,并在属性名中递增编号。

参数行为:
- 如果 数据集类型 设置为 "监控项列表" 且未设置 监控项(Widget),则为 必需
监控项(Widget) 1 ds.0.itemids.0._reference 代替 监控项 ID:
ABCDE._itemid - 将一个 兼容小部件(其 Reference 参数设置为 "ABCDE")作为监控项的数据源。

注意:要配置多个小部件,请为每个小部件创建一个 dashboard widget field 对象,并在属性名中递增编号。

此参数自 Zabbix 7.0.1 起受支持。

参数行为:
- 如果 数据集类型 设置为 "监控项列表" 且未设置 监控项,则为 必需
颜色 1 ds.0.color.0 十六进制颜色代码(例如 FF0000)。

参数行为:
- 如果 数据集类型 设置为 "监控项列表",则为 必需
主机模式 1 ds.0.hosts.0 主机 名称或模式(例如 "Zabbix*")。

参数行为:
- 如果 数据集类型 设置为 "监控项模式",则为 必需

在 模板前端 上配置小部件时,不支持此参数。
监控项模式 1 ds.0.items.0 监控项 名称或模式(例如 "*: Number of processed *values per second")。

在 模板前端 上配置小部件时,只应设置在模板上配置的监控项模式。

参数行为:
- 如果 数据集类型 设置为 "监控项模式",则为 必需
颜色 1 ds.0.color 十六进制颜色代码(例如 FF0000)。

默认:FF465C。

参数行为:
- 如果 数据集类型 设置为 "监控项模式",则为 支持
绘制 0 ds.0.type 0 - (默认) 线;
1 - 点;
2 - 阶梯;
3 - 柱状。
堆叠 0 ds.0.stacked 0 - (默认) 禁用;
1 - 启用。

参数行为:
- 如果 绘制 设置为 "线"、"阶梯" 或 "柱状",则为 支持
宽度 0 ds.0.width 可用值范围为 1-10。

默认:1。

参数行为:
- 如果 绘制 设置为 "线" 或 "阶梯",则为 支持
点大小 0 ds.0.pointsize 可用值范围为 1-10。

默认:3。

参数行为:
- 如果 绘制 设置为 "点",则为 支持
透明度 0 ds.0.transparency 可用值范围为 1-10。

默认:5。
填充 0 ds.0.fill 可用值范围为 1-10。

默认:3。

参数行为:
- 如果 绘制 设置为 "线" 或 "阶梯",则为 支持
缺失数据 0 ds.0.missingdatafunc 0 - (默认) 无;
1 - 连接;
2 - 视为 0;
3 - 使用最近已知值。

参数行为:
- 如果 绘制 设置为 "线" 或 "阶梯",则为 支持
Y 轴 0 ds.0.axisy 0 - (默认) 左;
1 - 右。
时间偏移 1 ds.0.timeshift 有效的时间字符串(例如 3600、1h 等)。
可以使用 时间后缀。也允许使用负值。

默认:""(空)。
聚合函数 0 ds.0.aggregate_function 0 - (默认) 不使用;
1 - 最小值;
2 - 最大值;
3 - 平均值;
4 - 计数;
5 - 求和;
6 - 首个;
7 - 最后一个。
聚合间隔 1 ds.0.aggregate_interval 有效的时间字符串(例如 3600、1h 等)。
可以使用 时间后缀。

默认:1h。
聚合 0 ds.0.aggregate_grouping 0 - (默认) 每个监控项;
1 - 数据集。

参数行为:
- 如果 聚合函数 设置为 "min"、"max"、"avg"、"count"、"sum"、"first" 或 "last",则为 支持
近似 0 ds.0.approximation 1 - 最小值;
2 - (默认) 平均值;
4 - 最大值;
7 - 全部。
数据集标签 1 ds.0.data_set_label 任意字符串值。

默认:""(空)。

显示选项

用于配置显示选项,支持以下参数。

参数 仪表板小部件字段 名称 值
History data selection 0 source 0 - (默认) 自动;
1 - 历史数据;
2 - 趋势数据。
Simple triggers 0 simple_triggers 0 - (默认) 禁用;
1 - 启用。
Working time 0 working_time 0 - (默认) 禁用;
1 - 启用。
Percentile line (left)
状态 0 percentile_left 0 - (默认) 禁用;
1 - 启用。

参数行为:
- 支持 如果 数据集 配置中的 Y轴 设置为 "左侧"
值 0 percentile_left_value 可能的值范围为 1-100。

参数行为:
- 支持 如果 数据集 配置中的 Y轴 设置为 "左侧"
Percentile line (right)
状态 0 percentile_right 0 - (默认) 禁用;
1 - 启用。

参数行为:
- 支持 如果 数据集 配置中的 Y轴 设置为 "右侧"
值 0 percentile_right_value 可能的值范围为 1-100。

参数行为:
- 支持 如果 数据集 配置中的 Y轴 设置为 "右侧"

时间段

以下参数支持用于配置 时间段。

参数 类型 名称 值
时间段 1 time_period._reference DASHBOARD._timeperiod - 将 时间段 选择器 设为数据源;
ABCDE._timeperiod - 将一个 兼容的 widget(其 Reference 参数设置为 "ABCDE")设为数据源。

默认值:DASHBOARD._timeperiod

或者,你也可以仅在 From 和 To 参数中设置时间段。
From 1 time_period.from 有效的时间字符串,支持绝对时间语法(YYYY-MM-DD hh:mm:ss)或 相对 时间语法(now、now/d、now/w-1w 等)。

参数行为:
- 如果未设置 时间段,则为 supported
- 如果设置了 time_period.to,则为 required
To 1 time_period.to 有效的时间字符串,支持绝对时间语法(YYYY-MM-DD hh:mm:ss)或 相对 时间语法(now、now/d、now/w-1w 等)。

参数行为:
- 如果未设置 时间段,则为 supported
- 如果设置了 time_period.from,则为 required

坐标轴

配置坐标轴时支持以下参数。

参数 仪表板小部件字段 名称 值
Left Y 0 lefty 0 - 已禁用;
1 - (默认) 已启用。

参数行为:
- 如果Y轴(在数据集配置中)设置为“左”则支持
Right Y 0 righty 0 - (默认) 已禁用;
1 - 已启用。

参数行为:
- 如果Y轴(在数据集配置中)设置为“右”则支持
Min 1 lefty_min 任意数值。

默认值: "" (空)。
righty_min
Max 1 lefty_max 任意数值。

默认值: "" (空)。
righty_max
Units (type) 0 lefty_units 0 - (默认) 自动;
1 - 静态。
righty_units
Units (value) 1 lefty_static_units 任意string值。

默认值: "" (空)。
righty_static_units
X-Axis 0 xaxis 0 - 已禁用;
1 - (默认) 已启用。

图例

配置图例支持以下参数。

参数 仪表板小部件字段 名称 值
Show legend 0 legend 0 - 已禁用;
1 - (默认) 已启用。

参数行为:
- 如果“显示图例”设置为“已启用”,则支持
Display min/avg/max 0 legend_statistic 0 - (默认) 已禁用;
1 - 已启用。

参数行为:
- 如果“显示图例”设置为“已启用”,则支持
Show aggregation function 0 legend_aggregation 0 - (默认) 已禁用;
1 - 已启用。

参数行为:
- 如果“显示图例”设置为“已启用”,则支持
Rows 0 legend_lines_mode 0 - (默认) 固定;
1 - 可变。

参数行为:
- 如果“显示图例”设置为“已启用”,则支持
Number of rows/
Maximum number of rows
0 legend_lines 可能的值范围为 1-10。

默认值:1。

参数行为:
- 如果“显示图例”设置为“已启用”,则支持
Number of columns 0 legend_columns 可能的值范围为 1-4。

默认值:4。

参数行为:
- 如果“显示图例”设置为“已启用”,且“显示最小/平均/最大值”设置为“已禁用”,则支持

问题

用于配置 问题 的参数如下所示。

参数 仪表板小部件字段 名称 值
Show problems 0 show_problems 0 - (默认) 禁用;
1 - 启用。
Selected items only 0 graph_item_problems 0 - 禁用;
1 - (默认) 启用。
Problem hosts 1 problemhosts.0 Host 名称。

注意:属性名称中的数字引用了配置的 主机。
若要配置多个 主机,请为每个 主机 create 仪表板 widget 字段 object,并在属性名称中使用递增的数字。

如果在 template dashboard 上配置 widget,则不支持此参数。
Severity 0 severities.0 0 - 未分类;
1 - 信息;
2 - 警告;
3 - 一般;
4 - 严重;
5 - 灾难。

默认值:空(全部启用)。

注意:若要配置多个值,请为每个值 create 仪表板 widget 字段 object,并在属性名称中使用递增的数字。
Problem 1 problem_name 问题 配置(不区分大小写,可以是全名或部分名称)。
Problem tags
评估类型 0 evaltype 0 - (默认) 与/或;
2 - 或。
标签名称 1 tags.0.tag 任意 string 值。

注意:属性名称中的数字引用了标签评估列表中的标签顺序。

参数行为:
- 若配置 问题标签,则为必填
运算符 0 tags.0.operator 0 - 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。

注意:属性名称中的数字引用了标签评估列表中的标签顺序。

参数行为:
- 若配置 问题标签,则为必填
标签值 1 tags.0.value 任意 string 值。

注意:属性名称中的数字引用了标签评估列表中的标签顺序。

参数行为:
- 若配置 问题标签,则为必填

覆盖

以下参数支持用于配置 Overrides。

属性名称中的第一个数字(例如 or.0.hosts.0、or.0.items.0)表示特定的数据集,而第二个数字(如果存在)表示已配置的主机或监控项。

Parameter type name value
主机模式 1 or.0.hosts.0 主机名称或模式(例如 Zabbix*)。

如果在 模板仪表板 上配置该小部件,则不支持此参数。

参数行为:
- 如果配置 Overrides,则为 必填
监控项模式 1 or.0.items.0 监控项名称或模式(例如 *: Number of processed *values per second)。
在 模板仪表板 上配置小部件时,只应设置模板上已配置监控项的模式。

参数行为:
- 如果配置 Overrides,则为 必填
基础颜色 1 or.0.color 十六进制颜色代码(例如 FF0000)。
宽度 0 or.0.width 可选值范围为 1-10。
绘制 0 or.0.type 0 - 线;
1 - 点;
2 - 阶梯;
3 - 柱状。
透明度 0 or.0.transparency 可选值范围为 1-10。
填充 0 or.0.fill 可选值范围为 1-10。
点大小 0 or.0.pointsize 可选值范围为 1-10。
缺失数据 0 or.0.missingdatafunc 0 - 无;
1 - 连接;
2 - 视为 0;
3 - 最近已知值。
Y 轴 0 or.0.axisy 0 - 左;
1 - 右。
时间偏移 1 or.0.timeshift 有效的时间字符串(例如 3600、1h 等)。
可以使用 时间后缀。允许使用负值。

示例

以下示例仅用于描述为图表(Graph)小部件配置仪表板 widget 字段 objects 的过程。 有关配置仪表板的更多信息,请参见 dashboard.create。

配置 Graph 小部件

按以下方式配置 Graph 小部件:

  • 1 个主机上的 2 个数据集,共 9 个监控项。
  • 第一个数据集类型为 "Item list",由 3 个监控项组成,这些监控项以不同颜色的线条表示,但线宽、透明度和填充相同。
  • 第二个数据集类型为 "Item patterns",由 6 个监控项组成,已配置聚合,并以具有自定义颜色、宽度、透明度和填充的线条表示。
  • 第二个数据集还具有自定义数据集标签。
  • 图中的数据按最近 3 小时的时间段显示。
  • 图中的问题仅针对已配置的监控项显示。
  • 图有两个 Y 轴,其中右侧 Y 轴仅显示第二个数据集的值。
  • 图例以 4 行显示已配置的监控项,以及数据集的最小值、最大值和平均值。

Request:

{
    "jsonrpc": "2.0",
    "method": "dashboard.create",
    "params": {
        "name": "My dashboard",
        "display_period": 30,
        "auto_start": 1,
        "pages": [
            {
                "widgets": [
                    {
                        "type": "svggraph",
                        "name": "Graph",
                        "x": 0,
                        "y": 0,
                        "width": 36,
                        "height": 5,
                        "view_mode": 0,
                        "fields": [
                            {
                                "type": 0,
                                "name": "ds.0.dataset_type",
                                "value": 0
                            },
                            {
                                "type": 4,
                                "name": "ds.0.itemids.0",
                                "value": 23264
                            },
                            {
                                "type": 1,
                                "name": "ds.0.color.0",
                                "value": "FF0000"
                            },
                            {
                                "type": 4,
                                "name": "ds.0.itemids.1",
                                "value": 23269
                            },
                            {
                                "type": 1,
                                "name": "ds.0.color.1",
                                "value": "BF00FF"
                            },
                            {
                                "type": 4,
                                "name": "ds.0.itemids.2",
                                "value": 23257
                            },
                            {
                                "type": 1,
                                "name": "ds.0.color.2",
                                "value": "0040FF"
                            },
                            {
                                "type": 0,
                                "name": "ds.0.width",
                                "value": 3
                            },
                            {
                                "type": 0,
                                "name": "ds.0.transparency",
                                "value": 3
                            },
                            {
                                "type": 0,
                                "name": "ds.0.fill",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "ds.1.hosts.0",
                                "value": "Zabbix server"
                            },
                            {
                                "type": 1,
                                "name": "ds.1.items.0",
                                "value": "*: Number of processed *values per second"
                            },
                            {
                                "type": 1,
                                "name": "ds.1.color",
                                "value": "000000"
                            },
                            {
                                "type": 0,
                                "name": "ds.1.transparency",
                                "value": 0
                            },
                            {
                                "type": 0,
                                "name": "ds.1.fill",
                                "value": 0
                            },
                            {
                                "type": 0,
                                "name": "ds.1.axisy",
                                "value": 1
                            },
                            {
                                "type": 0,
                                "name": "ds.1.aggregate_function",
                                "value": 3
                            },
                            {
                                "type": 1,
                                "name": "ds.1.aggregate_interval",
                                "value": "1m"
                            },
                            {
                                "type": 0,
                                "name": "ds.1.aggregate_grouping",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "ds.1.data_set_label",
                                "value": "Number of processed values per second"
                            },
                            {
                                "type": 0,
                                "name": "graph_time",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "time_period.from",
                                "value": "now-3h"
                            },
                            {
                                "type": 1,
                                "name": "time_period.to",
                                "value": "now"
                            },
                            {
                                "type": 0,
                                "name": "legend_statistic",
                                "value": 1
                            },
                            {
                                "type": 0,
                                "name": "legend_lines",
                                "value": 4
                            },
                            {
                                "type": 0,
                                "name": "show_problems",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "reference",
                                "value": "YZABC"
                            }
                        ]
                    }
                ]
            }
        ],
        "userGroups": [
            {
                "usrgrpid": 7,
                "permission": 2
            }
        ],
        "users": [
            {
                "userid": 1,
                "permission": 3
            }
        ]
    },
    "id": 1
}

Response:

{
  "jsonrpc": "2.0",
  "result": {
    "dashboardids": [
      "3"
    ]
  },
  "id": 1
}

另请参阅