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

9 图表

说明

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

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

参数

图表组件支持以下参数:

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

参数行为:
- 必需的

数据集

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

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

参数行为:
- 必需的 (如果 数据集类型 设置为 "监控项列表")
主机表达式 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 - min;
2 - max;
3 - avg;
4 - count;
5 - sum;
6 - first;
7 - last.
聚合频率 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 - min;
2 - (默认) avg;
4 - max;
7 - all.
数据集标签 1 ds.0.data_set_label 任意字符串。

默认值: "" (空).

显示选项

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

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

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

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

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

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

时间期间

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

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

默认值: DASHBOARD._timeperiod

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

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

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

配置 时支持如下参数:

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

参数行为:
- 支持 (如果数据集中的 Y 轴 参数被设置为 "左侧")
右侧 Y 轴 0 righty 0 - (默认) 禁用;
1 - 启用.

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

默认值: "" (空).
righty_min
最大值 1 lefty_max 任意数值

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

默认值: "" (空).
righty_static_units
X轴 0 xaxis 0 - 禁用;
1 - (默认) 启用.

图例

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

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

参数行为:
- 支持 (如果 显示图例 设置为 "启用")
显示 最小值/平均值/最大值 0 legend_statistic 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.

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

问题

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

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

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

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

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

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

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

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

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

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

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

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

覆盖

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

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

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

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

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

参数行为:
- 必需的 (配置 覆盖 时)
颜色 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 等)
可以使用时间后缀. 也可以使用否定值。

示例

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

配置一个图表组件

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

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

请求:

{
           "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.1",
                                       "value": 23264
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.1",
                                       "value": "FF0000"
                                   },
                                   {
                                       "type": 4,
                                       "name": "ds.0.itemids.2",
                                       "value": 23269
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.2",
                                       "value": "BF00FF"
                                   },
                                   {
                                       "type": 4,
                                       "name": "ds.0.itemids.3",
                                       "value": 23257
                                   },
                                   {
                                       "type": 1,
                                       "name": "ds.0.color.3",
                                       "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": 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
       }

响应:

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

参考