9 图表

描述

这些参数以及相应 dashboard widget 字段对象的可选属性值,可用于在 dashboard.createdashboard.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 值(例如 ABCDEJBPNL)。此值在该 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 有效的时间字符串(例如 36001h 等)。
可以使用 时间后缀。也允许使用负值。

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

默认: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

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

参数行为
- 如果未设置 时间段,则为 supported
- 如果设置了 time_period.to,则为 required
To 1 time_period.to 有效的时间字符串,支持绝对时间语法(YYYY-MM-DD hh:mm:ss)或 相对 时间语法(nownow/dnow/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 有效的时间字符串(例如 36001h 等)。
可以使用 时间后缀。允许使用负值。

示例

以下示例仅用于描述为图表(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
}

另请参阅