9 图表

说明

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

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

参数

图表组件支持以下参数:

参数类型参数名称参数值或参数说明
刷新频率0rf_rate0 - 不刷新;
10 - 10 秒;
30 - 30 秒;
60 - (默认) 1 分钟;
120 - 2 分钟;
600 - 10 分钟;
900 - 15 分钟。
标识符1reference任意 5 个英文字符组成的字符串(例如:ABCDEJBPNL)。在这个组件所属的仪表盘中,这个值必须是唯一的。

参数行为
- 必需的

数据集

配置 数据集 时支持如下参数:

属性名称(例如: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)。

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

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

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

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

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

默认值: FF465C

参数行为
- 支持 (如果 数据集类型 设置为 “监控项表达式”)。
绘制0ds.0.type0 - (默认) 线;
1 - 点;
2 - 阶梯;
3 - 条形。
堆叠0ds.0.stacked0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果 绘制 设置为 “线” 或 “阶梯” 或 “条形”)。
宽度0ds.0.width可用值范围:1-10。

默认值:1。

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

默认值:3。

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

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

默认值:3。

参数行为
- 支持 (如果 绘制 设置为 “线” 或 “阶梯”)。
缺失数据0ds.0.missingdatafunc0 - (默认) 无;
1 - 已连接;
2 - 显示为0;
3 - 最后一个可用值。

参数行为
- 支持 (如果 绘制 设置为 “线” 或 “阶梯”)。
Y轴0ds.0.axisy0 - (默认) 左侧;
1 - 右侧。
时间偏移1ds.0.timeshift有效的时间字符串(例如:3600, 1h 等)。
可以使用时间单位。也可以使用否定值。

默认值:“” (空)。
聚合函数0ds.0.aggregate_function0 - (默认) 不使用;
1 - min;
2 - max;
3 - avg;
4 - count;
5 - sum;
6 - first;
7 - last。
聚合频率1ds.0.aggregate_interval有效的时间字符串(例如:36001h 等)。
可以使用时间单位

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

参数行为
- 支持 (如果 聚合函数 设置为:”min”、”max”、”avg”、”count”、”sum”、”first” 或 “last”)。
近似值0ds.0.approximation1 - min;
2 - (默认) avg;
4 - max;
7 - all。
数据集标签1ds.0.data_set_label任意字符串。

默认值:“” (空)。

显示选项

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

参数类型参数名称参数值或参数说明
历史数据选择0source0 - (默认) 自动;
1 - 历史;
2 - 趋势。
简单触发器0simple_triggers0 - (默认) 禁用;
1 - 启用。
工作时间0working_time0 - (默认) 禁用;
1 - 启用。
百分位线 (左)
状态0percentile_left0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “左侧”)。
0percentile_left_value可用值范围: 1-100。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “左侧”)。
百分位线 (右)
状态0percentile_right0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “右侧”)。
0percentile_right_value可用值范围: 1-100。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “右侧”)。

时间期间

配置 时间期间 时支持如下参数:

参数类型参数名称参数值或参数说明
时间期间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等)时间字符串。

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

配置 时支持如下参数:

参数类型参数名称参数值或参数说明
左侧 Y 轴0lefty0 - 禁用;
1 - (默认) 启用。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “左侧”)。
右侧 Y 轴0righty0 - (默认) 禁用;
1 - 启用。

参数行为
- 支持 (如果数据集中的 Y 轴 参数被设置为 “右侧”)。
最小值1lefty_min任意数值。

默认值:“” (空)。
righty_min
最大值1lefty_max任意数值。

默认值:“” (空)。
righty_max
单位 (类型)0lefty_units0 - (默认) 自动;
1 - 静态。
righty_units
单位 (值)1lefty_static_units任意字符串。

默认值:“” (空)。
righty_static_units
X轴0xaxis0 - 禁用;
1 - (默认) 启用。

图例

配置 图例 时支持如下参数:

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

参数行为
- 支持 (如果 显示图例 设置为 “启用”)。
显示 最小值/平均值/最大值0legend_statistic0 - (默认) 禁用;
1 - 启用。

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

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

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

默认值:1。

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

默认值:4。

参数行为
- 支持 (如果 显示图例 设置为 “启用” 并且 显示 最小值/平均值/最大值 设置为 “禁用”)。

问题

配置 问题 时支持如下参数:

参数类型参数名称参数值或参数说明
显示问题0show_problems0 - (默认) 禁用;
1 - 启用。
仅选择的监控项0graph_item_problems0 - 禁用;
1 - (默认) 启用。
问题主机1problemhosts.0主机名。

注意:参数名称 problemhosts.0 中的数字与提供的主机列表需要一致,例如:总数为 3,则下标参数名称中的数字分别为:0、1、2。
如果需要配置多个主机,则需要给每个主机创建一个仪表盘组件字段对象,参数名称 problemhosts.0 中的数字按照顺序进行递增。

仪表盘模板上配置组件时,这个参数不受支持。
严重性0severities.00 - 未定义;
1 - 信息;
2 - 警告;
3 - 一般;
4 - 严重;
5 - 灾难。

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

注意:如果需要配置多个值,则需要给每个值创建一个仪表盘组件字段对象,参数名称 severities.0 中的数字按照顺序进行递增。
问题1problem_name问题事件名称 (不区分大小写,全名或部分名称)。
问题标签
评估类型0evaltype0 - (默认) And/Or;
2 - Or。
标签名称1tags.0.tag任意字符串。

注意:参数名称 tags.0.tag 中的数字与提供的参数列表需要一致,例如:总数为 3,则下标参数名称中的数字分别为:0、1、2。

参数行为
- 必需的 (配置 问题标签 时)。
操作0tags.0.operator0 - 包含;
1 - 相等;
2 - 不包含;
3 - 不相等;
4 - 存在;
5 - 不存在。

注意:参数名称 tags.0.operator 中的数字与提供的参数列表需要一致,例如:总数为 3,则下标参数名称中的数字分别为:0、1、2。

参数行为
- 必需的 (配置 问题标签 时)。
标签值1tags.0.value任意字符串。

注意:参数名称 tags.0.value 中的数字与提供的参数列表需要一致,例如:总数为 3,则下标参数名称中的数字分别为:0、1、2。

参数行为
- 必需的 (配置 问题标签 时)。

覆盖

配置 覆盖 时支持如下参数:

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

参数类型参数名称参数值或参数说明
主机表达式1or.0.hosts.0主机名称或表达式(例如:Zabbix)。

仪表盘模板上配置组件时,这个参数不受支持。

参数行为
- 必需的 (配置 覆盖 时)。
监控项表达式1or.0.items.0监控项名称或表达式(例如:: Number of processed *values per second)。
如果是在仪表盘模板上配置组件,则仅允许设置仪表盘模板上存在的监控项。

参数行为
- 必需的 (配置 覆盖 时)。
颜色1or.0.color十六进制颜色代码(例如:FF0000)。
宽度0or.0.width可用值范围:1-10。
绘制0or.0.type0 - 线;
1 - 点;
2 - 阶梯;
3 - 条形。
透明度0or.0.transparency可用值范围:1-10。
填充0or.0.fill可用值范围:1-10。
点大小0or.0.pointsize可用值范围:1-10。
缺失数据0or.0.missingdatafunc0 - (默认) 无;
1 - 已连接;
2 - 显示为0;
3 - 最后一个可用值。
Y 轴0or.0.axisy0 - 左侧;
1 - 右侧。
时间偏移1or.0.timeshift有效的时间字符串(例如:3600, 1h 等)。
可以使用时间单位。也可以使用否定值。

示例

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

配置一个图表组件

通过以下方式配置一个图表组件:

  • 由同一个主机上 9 个不同的监控项组成的 2 个数据集;
  • 第一个数据集的类型为 “监控项列表”,由 3 个监控项组成,这些监控项由不同颜色但宽度、透明度和填充度相同的线分隔;
  • 第二个数据集的类型为 “监控项表达式”,由 6 个监控项组成,聚合展示,并由一条具有自定义颜色、宽度、透明度和填充的线表示;
  • 第二个数据集还具有自定义的数据集标签;
  • 图表中展示最近 3 小时的数据;
  • 图表中的问题仅展示已配置的监控项的问题;
  • 图表有两个Y轴,其中右侧的Y轴仅显示第二个数据集的值;
  • 图表图例在 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": "svggraph",
  13. "name": "Graph",
  14. "x": 0,
  15. "y": 0,
  16. "width": 36,
  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": 4,
  37. "name": "ds.0.itemids.2",
  38. "value": 23269
  39. },
  40. {
  41. "type": 1,
  42. "name": "ds.0.color.2",
  43. "value": "BF00FF"
  44. },
  45. {
  46. "type": 4,
  47. "name": "ds.0.itemids.3",
  48. "value": 23257
  49. },
  50. {
  51. "type": 1,
  52. "name": "ds.0.color.3",
  53. "value": "0040FF"
  54. },
  55. {
  56. "type": 0,
  57. "name": "ds.0.width",
  58. "value": 3
  59. },
  60. {
  61. "type": 0,
  62. "name": "ds.0.transparency",
  63. "value": 3
  64. },
  65. {
  66. "type": 0,
  67. "name": "ds.0.fill",
  68. "value": 1
  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.transparency",
  88. "value": 0
  89. },
  90. {
  91. "type": 0,
  92. "name": "ds.1.fill",
  93. "value": 0
  94. },
  95. {
  96. "type": 0,
  97. "name": "ds.1.axisy",
  98. "value": 1
  99. },
  100. {
  101. "type": 0,
  102. "name": "ds.1.aggregate_function",
  103. "value": 3
  104. },
  105. {
  106. "type": 1,
  107. "name": "ds.1.aggregate_interval",
  108. "value": "1m"
  109. },
  110. {
  111. "type": 0,
  112. "name": "ds.1.aggregate_grouping",
  113. "value": 1
  114. },
  115. {
  116. "type": 1,
  117. "name": "ds.1.data_set_label",
  118. "value": "Number of processed values per second"
  119. },
  120. {
  121. "type": 0,
  122. "name": "graph_time",
  123. "value": 1
  124. },
  125. {
  126. "type": 1,
  127. "name": "time_period.from",
  128. "value": "now-3h"
  129. },
  130. {
  131. "type": 0,
  132. "name": "legend_statistic",
  133. "value": 1
  134. },
  135. {
  136. "type": 0,
  137. "name": "legend_lines",
  138. "value": 4
  139. },
  140. {
  141. "type": 0,
  142. "name": "show_problems",
  143. "value": 1
  144. },
  145. {
  146. "type": 1,
  147. "name": "reference",
  148. "value": "YZABC"
  149. }
  150. ]
  151. }
  152. ]
  153. }
  154. ],
  155. "userGroups": [
  156. {
  157. "usrgrpid": 7,
  158. "permission": 2
  159. }
  160. ],
  161. "users": [
  162. {
  163. "userid": 1,
  164. "permission": 3
  165. }
  166. ]
  167. },
  168. "id": 1
  169. }

响应:

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

参考