2022 Zabbix中国峰会
2022 Zabbix中国峰会

20 饼图

说明

各个仪表盘组件字段对象中的这些参数和可用属性值允许在dashboard.createdashboard.update 方法中配置饼图组件。

在创建或更新仪表盘期间不会验证组件的 fields 属性。 这个方法允许用户修改内置组件和创建自定义组件,但也会导致存在错误创建或更新组件的风险。 为确保成功创建或更新饼图组件,请参阅下表中概述的参数行为。

参数

饼图组件支持以下参数:

参数 类型 参数名称 参数值或参数说明
刷新频率 0 rf_rate 0 - 不刷新;
10 - 10 秒;
30 - 30 秒;
60 - (默认) 1 分钟;
120 - 2 分钟;
600 - 10 分钟;
900 - 15 分钟。

数据集

配置 数据集 时,支持以下参数:

属性名称(例如:ds.0.hosts.0, ds.0.items.0)中的第一个数字代表特定的数据集。 若属性名称中存在第二个数字,则代表待配置的主机或监控项。

参数 类型 参数名称 参数值或参数说明
数据集类型 0 ds.0.dataset_type 0 - 监控项列表;
1 - (默认) 监控项表达式。
监控项 4 ds.0.itemids.0 监控项 ID。
如果是在仪表盘模板上配置组件,则仅允许设置仪表盘模板上存在的监控项。

注意:如果需要配置多个监控项,则需要给每个监控项创建一个仪表盘组件字段对象,参数名称 ds.0.itemids.0 中的第二个数字按照顺序进行递增。

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

参数行为
- 支持 (如果 数据集类型 设置为 "监控项列表")。
监控项类型 0 ds.0.type.0 0 - (默认) 普通;
1 - 总数。

整个饼图中仅允许设置一个监控项为 "总数"。

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

参数行为
- 必需的 (如果 数据集类型 设置为 "监控项表达式")。

仪表盘模板上配置组件时,这个参数不受支持。
监控项表达式 1 ds.0.items.0 监控项名称或表达式(例如:"*: Number of processed *values per second")。

如果是在仪表盘模板上配置组件,则仅允许设置仪表盘模板上存在的监控项。

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

参数行为
- 支持 (如果 数据集类型 设置为 "监控项表达式")。
聚合函数 0 ds.0.aggregate_function 1 - min;
2 - max;
3 - avg;
4 - count;
5 - sum;
6 - first;
7 - (默认) last。
数据集聚合 0 ds.0.dataset_aggregation 0 - (默认) 无;
1 - min;
2 - max;
3 - avg;
4 - count;
5 - sum。

参数行为
- 支持 (如果 监控项类型 设置为 "总数")。
数据集标签 1 ds.0.data_set_label 任意字符串。

默认值:"" (空)。

显示选项

配置 显示选项 时,支持以下参数:

参数 类型 参数名称 参数值或参数说明
历史数据选择 0 source 0 - (默认) 自动;
1 - 历史;
2 - 趋势。
绘制 0 draw_type 0 - (默认) 饼图;
1 - 圆环图。
宽度 0 width 20 - 半径的 20%;
30 - 半径的 30%;
40 - 半径的 40%;
50 - (默认) 半径的 50%。

参数行为
- 支持 (如果 绘制 设置为 "圆环图")。
比例宽度 0 stroke 可用值范围:0-10。

默认值:0。

从 Zabbix 7.0.1 开始支持这个参数。

参数行为
- 支持 (如果 绘制 设置为 "圆环图")。
显示总数的值 0 total_show 0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 绘制 设置为 "圆环图")。
大小 0 value_size_type 0 - (默认) 自动;
1 - 自定义。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
大小 (自定义大小的值) 0 value_size 可用值范围:1-100。

默认值:20。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
小数位数 0 decimal_places 可用值范围:0-6。

默认值:2。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
单位 (复选框) 0 units_show 0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
单位 (值) 1 units 任意字符串。

参数行为
- 支持 (如果 单位 (复选框) 设置为 "启用")
粗体 0 value_bold 0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
颜色 1 value_color 十六进制颜色代码(例如:FF0000)。

参数行为
- 支持 (如果 显示总数的值 设置为 "启用")。
扇区之间的空间 0 space 可用值范围:0-10。

默认值:1。
合并小于 N% 的扇区 (复选框) 0 merge 0 - (默认) 禁用;
1 - 启用。
合并小于 N% 的扇区 (值) 0 merge_percent 可用值范围:1-10。

默认值:1。

参数行为
- 支持 (如果 合并小于 N% 的扇区 (复选框) 设置为 "启用")。
合并小于 N% 的扇区 (颜色) 1 merge_color 十六进制颜色代码(例如:FF0000)。

参数行为
- 支持 (如果 合并小于 N% 的扇区 (复选框) 设置为 "启用")。

时间期间

配置 时间期间 时,支持以下参数:

参数 类型 参数名称 参数值或参数说明
时间期间 1 time_period._reference DASHBOARD._timeperiod - 将时间期间选择器选择器作为数据源;
ABCDE._timeperiod - 将一个 标识符 参数为 ABCDE兼容性组件作为数据源。

默认值: DASHBOARD._timeperiod

另外,你也可以仅仅通过 FromTo 参数指定时间周期。
From 1 time_period.from 绝对(YYYY-MM-DD hh:mm:ss)或相对(nownow/dnow/w-1w等)时间字符串。

参数行为
- 支持 (如果未设置 时间期间)。
To 1 time_period.to 绝对(YYYY-MM-DD hh:mm:ss)或相对(nownow/dnow/w-1w等)时间字符串。

参数行为
- 支持 (如果未设置 时间期间)。

图例

配置 图例 时,支持以下参数:

参数 类型 参数名称 参数值或参数说明
显示图例 0 图例 0 - 禁用;
1 - (默认) 启用。
显示值 0 legend_value 0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 显示图例 设置为 "启用")。
显示聚合函数 0 legend_aggregation 0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 显示图例 设置为 "启用")。
0 legend_lines_mode 0 - (默认) 固定的;
1 - 可变的。

参数行为
- 支持 (如果 显示图例 设置为 "启用")。
行数/
最大行数
0 legend_lines 可用值范围:1-10。

默认值:1。

参数行为
- 支持 (如果 显示图例 设置为 "启用")。
列数 0 legend_columns 可用值范围:1-4。

默认值:4。

参数行为
- 支持 (如果 显示图例 设置为 "启用" 并且 Show value 设置为 "禁用")。

示例

以下示例仅用于介绍如何在仪表盘组件字段对象中配置 饼图 组件. 更多信息,请参考 创建仪表盘

配置一个饼图组件

配置一个饼图组件:

  • 由同一个主机上 9 个不同的监控项组成的 2 个数据集;
  • 第一个数据集的类型为 "监控项列表",由 3 个监控项组成。这些监控项的类型均为 "Normal",并通过不同的颜色展示;
  • 第二个数据集的类型为 "监控项表达式",由 6 个监控项组成,每个监控项都有单独的聚合配置,通过不同的颜色展示;
  • 第二个数据集还具有自定义的数据集标签;
  • 饼图中的数据将通过一个具有自定义宽度的圆环图展示,带单位的总数会展示在中心;
  • 饼图中汇总展示最近 3 小时的数据;
  • 图表legend在 4 行中显示配置的监控项。

请求:

{
           "jsonrpc": "2.0",
           "method": "dashboard.create",
           "params": {
               "name": "My dashboard",
               "display_period": 30,
               "auto_start": 1,
               "pages": [
                   {
                       "widgets": [
                           {
                               "type": "piechart",
                               "name": "Pie chart",
                               "x": 0,
                               "y": 0,
                               "width": 24,
                               "height": 5,
                               "view_mode": 0,
                               "fields": [
                                   {
                                       "type": 0,
                                       "name": "ds.0.dataset_type",
                                       "value": 0
                                   },
                                   {
                                       "type": 4,
                                       "name": "ds.0.itemids.1",
                                       "value": 23264
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.1",
                                       "value": "FF0000"
                                   },
                                   {
                                       "type": 0,
                                       "name": "ds.0.type.1",
                                       "value": 0
                                   },
                                   {
                                       "type": 4,
                                       "name": "ds.0.itemids.2",
                                       "value": 23269
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.2",
                                       "value": "BF00FF"
                                   },
                                   {
                                     "type": 0,
                                     "name": "ds.0.type.2",
                                     "value": 0
                                   },
                                   {
                                       "type": 4,
                                       "name": "ds.0.itemids.3",
                                       "value": 23257
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.3",
                                       "value": "0040FF"
                                   },
                                   {
                                     "type": 0,
                                     "name": "ds.0.type.3",
                                     "value": 0
                                   },
                                   {
                                       "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.aggregate_function",
                                       "value": 3
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.1.data_set_label",
                                       "value": "Number of processed values per second"
                                   },
                                   {
                                       "type": 0,
                                       "name": "draw_type",
                                       "value": 1
                                   },
                                   {
                                       "type": 0,
                                       "name": "width",
                                       "value": 30
                                   },
                                   {
                                       "type": 0,
                                       "name": "total_show",
                                       "value": 1
                                   },
                                   {
                                       "type": 0,
                                       "name": "units_show",
                                       "value": 1
                                   },
                                   {
                                       "type": 0,
                                       "name": "graph_time",
                                       "value": 1
                                   },
                                   {
                                       "type": 1,
                                       "name": "time_period.from",
                                       "value": "now-3h"
                                   },
                                   {
                                       "type": 0,
                                       "name": "legend_lines",
                                       "value": 4
                                   }
                               ]
                           }
                       ]
                   }
               ],
               "userGroups": [
                   {
                       "usrgrpid": 7,
                       "permission": 2
                   }
               ],
               "users": [
                   {
                       "userid": 1,
                       "permission": 3
                   }
               ]
           },
           "id": 1
       }

响应:

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

参考