20 饼图

说明

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

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

参数

饼图组件支持以下参数:

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

数据集

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

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

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

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

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

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

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

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

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

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

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

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

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

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

默认值:“” (空)。

显示选项

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

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

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

默认值:0。

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

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

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

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

默认值:20。

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

默认值:2。

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

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

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

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

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

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

默认值:1。

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

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

时间期间

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

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

默认值: DASHBOARD._timeperiod

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

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

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

图例

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

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

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

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

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

默认值:1。

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

默认值:4。

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

示例

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

配置一个饼图组件

配置一个饼图组件:

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

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "dashboard.create",
  4. "params": {
  5. "name": "My dashboard",
  6. "display_period": 30,
  7. "auto_start": 1,
  8. "pages": [
  9. {
  10. "widgets": [
  11. {
  12. "type": "piechart",
  13. "name": "Pie chart",
  14. "x": 0,
  15. "y": 0,
  16. "width": 24,
  17. "height": 5,
  18. "view_mode": 0,
  19. "fields": [
  20. {
  21. "type": 0,
  22. "name": "ds.0.dataset_type",
  23. "value": 0
  24. },
  25. {
  26. "type": 4,
  27. "name": "ds.0.itemids.1",
  28. "value": 23264
  29. },
  30. {
  31. "type": 1,
  32. "name": "ds.0.color.1",
  33. "value": "FF0000"
  34. },
  35. {
  36. "type": 0,
  37. "name": "ds.0.type.1",
  38. "value": 0
  39. },
  40. {
  41. "type": 4,
  42. "name": "ds.0.itemids.2",
  43. "value": 23269
  44. },
  45. {
  46. "type": 1,
  47. "name": "ds.0.color.2",
  48. "value": "BF00FF"
  49. },
  50. {
  51. "type": 0,
  52. "name": "ds.0.type.2",
  53. "value": 0
  54. },
  55. {
  56. "type": 4,
  57. "name": "ds.0.itemids.3",
  58. "value": 23257
  59. },
  60. {
  61. "type": 1,
  62. "name": "ds.0.color.3",
  63. "value": "0040FF"
  64. },
  65. {
  66. "type": 0,
  67. "name": "ds.0.type.3",
  68. "value": 0
  69. },
  70. {
  71. "type": 1,
  72. "name": "ds.1.hosts.0",
  73. "value": "Zabbix server"
  74. },
  75. {
  76. "type": 1,
  77. "name": "ds.1.items.0",
  78. "value": "*: Number of processed *values per second"
  79. },
  80. {
  81. "type": 1,
  82. "name": "ds.1.color",
  83. "value": "000000"
  84. },
  85. {
  86. "type": 0,
  87. "name": "ds.1.aggregate_function",
  88. "value": 3
  89. },
  90. {
  91. "type": 1,
  92. "name": "ds.1.data_set_label",
  93. "value": "Number of processed values per second"
  94. },
  95. {
  96. "type": 0,
  97. "name": "draw_type",
  98. "value": 1
  99. },
  100. {
  101. "type": 0,
  102. "name": "width",
  103. "value": 30
  104. },
  105. {
  106. "type": 0,
  107. "name": "total_show",
  108. "value": 1
  109. },
  110. {
  111. "type": 0,
  112. "name": "units_show",
  113. "value": 1
  114. },
  115. {
  116. "type": 0,
  117. "name": "graph_time",
  118. "value": 1
  119. },
  120. {
  121. "type": 1,
  122. "name": "time_period.from",
  123. "value": "now-3h"
  124. },
  125. {
  126. "type": 0,
  127. "name": "legend_lines",
  128. "value": 4
  129. }
  130. ]
  131. }
  132. ]
  133. }
  134. ],
  135. "userGroups": [
  136. {
  137. "usrgrpid": 7,
  138. "permission": 2
  139. }
  140. ],
  141. "users": [
  142. {
  143. "userid": 1,
  144. "permission": 3
  145. }
  146. ]
  147. },
  148. "id": 1
  149. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "dashboardids": [
  5. "3"
  6. ]
  7. },
  8. "id": 1
  9. }

参考