[comment]: # ({95e690e3-978cbb20})
# 26 Top 主机

[comment]: # ({/95e690e3-978cbb20})

[comment]: # ({4e99026f-c5138763})
### 描述

这些参数以及相应 dashboard widget 字段对象的可选属性值，可用于在 `dashboard.create` 和 `dashboard.update` 方法中配置 [*Top hosts*](/manual/web_interface/frontend_sections/dashboards/widgets/top_hosts) widget。

::: noteimportant
在创建或更新 dashboard 时，不会对 widget `fields` 属性进行校验。
这使用户可以修改 [内置 widget](/manual/web_interface/frontend_sections/dashboards/widgets) 并创建 [自定义 widget](/devel/modules/tutorials/widget)，但也会带来错误创建或更新 widget 的风险。
为确保成功创建或更新 *Top hosts* widget，请参阅下表中概述的参数行为。
:::

[comment]: # ({/4e99026f-c5138763})

[comment]: # ({b9d84b38-a3febace})
### 参数

以下参数受*Top 主机*小部件支持。

| 参数 | <   | [仪表板小部件字段](/manual/api/reference/dashboard/object#仪表板小部件字段) | 名称 | 值 |
|-|--------|--|--------|-------------------------------|
| *Refresh interval* | <   | 0 | rf_rate | 0 - 无刷新;<br>10 - 10 秒;<br>30 - 30 秒;<br>60 - *(默认)* 1 分钟;<br>120 - 2 分钟;<br>600 - 10 分钟;<br>900 - 15 分钟。 |
| *Host groups* | <   | 2 | groupids.0 | [Host group](/manual/api/reference/hostgroup/get) ID。<br><br>注意：要配置多个 主机 组，需为每个 主机组 使用递增的属性名称 create 仪表板 widget 字段 object。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。
| < | *主机 组（小部件）* | 1 | groupids.\_reference | 请勿使用[Host group](/manual/api/reference/hostgroup/get) ID：<br>`ABCDE._hostgroupids` - 应将一个[部件兼容性](/manual/web_interface/frontend_sections/dashboards/widgets#部件兼容性)（将其*Reference*参数设置为"`ABCDE`"）设置为 主机 组的数据源。<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置小get，则不支持此参数。|
| *Hosts* | <   | 3 | hostids.0 | [Host](/manual/api/reference/host/get) ID。<br><br>注意：要配置多个 主机，请 create 为每个 主机 添加一个仪表板 widget 字段 object，并在属性名称中使用递增的编号。对于多个 主机，参数 *主机 组* 必须要么完全不配置，要么至少配置一个 主机组，所配置的 主机 必须属于该组。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。
| < | *主机（Widget/Dashboard）* | 1 | hostids.\_reference | 请不要使用[Host](/manual/api/reference/host/get) ID：<br>`DASHBOARD.hostids` - 将[覆盖主机](/manual/web_interface/frontend_sections/dashboards/widgets#覆盖主机)设置为主机的数据源；<br>`ABCDE._hostids` - 将一个[部件兼容性](/manual/web_interface/frontend_sections/dashboards/widgets#部件兼容性)（将其*Reference*参数设置为"`ABCDE`"）设置为主机的数据源。<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置widget，则不支持此参数。|
| *Host tags* | <   | < | < | <     |
| < | *评估类型* | 0 | evaltype | 0 - *(默认)* And/Or;<br>2 - Or。<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置widget，则不支持此参数。 |
| ^ | *标签名称* | 1 | tags.0.tag | 任意 string 值。<br><br>注意：属性名称中的数字表示标签评估列表中的标签顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 在配置 *主机 标签* 时为必填项<br><br>在配置 [template dashboard](/manual/api/reference/templatedashboard/object) 上的 widget 时，不支持此参数。 |
| ^ | *操作符* | 0 | tags.0.operator | 0 - 包含;<br>1 - 等于;<br>2 - 不包含;<br>3 - 不等于;<br>4 - 存在;<br>5 - 不存在。<br><br>注意：属性名称中的数字引用标签评估列表中的标签顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 如果配置*主机标签*，则为*必填*<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置widget，则不支持此参数。 |
| ^ | *标签值* | 1 | tags.0.value | 任意 string 值。<br><br>注意：属性名称中的数字表示标签评估列表中的标签顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 在配置 *主机 标签* 时为必填项<br><br>在配置 widget 于 [template dashboard](/manual/api/reference/templatedashboard/object) 上时不支持此参数。 |
| *Show hosts in maintenance* | <   | 0 | maintenance | 0 - *(默认)* 已禁用；<br>1 - 已启用。 |
| *Columns* (see below) | <   | < | < | <     |
| *Order by* | <   | 0 | column | 从配置列中获取的列数值。|
| *Order* | <   | 0 | order | 2 - *(默认)* Top N;<br>3 - 最低 N。 |
| *Host limit* | <   | 0 | show_lines | 可能的取值范围为 1-100。<br><br>默认值：10。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。

[comment]: # ({/b9d84b38-a3febace})

[comment]: # ({e8e68707-8266fc04})
#### 列

列具有根据参数*数据*的配置而定的通用参数和附加参数。

::: noteclassic
对于与列相关的所有参数，属性名称中的数字（例如 columns.0.name）表示为其配置参数的列。
:::

[comment]: # ({/e8e68707-8266fc04})

[comment]: # ({e35e7f37-bba2be85})
以下参数适用于所有列。

| 参数 | [仪表板小部件字段](/manual/api/reference/dashboard/object#仪表板小部件字段) | 名称 | 值 |
|-----|-|-----|-------------------|
| *Name* | 1 | columns.0.name | 任意 string 值。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- *必填* |
| *Data* | 0 | columns.0.data | 1 - 监控项 值；<br>2 - 主机名；<br>3 - 文本。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- *必填* |
| *Base color* | 1 | columns.0.base_color | 十六进制颜色代码（例如 `FF0000`）。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- *必填* |

[comment]: # ({/e35e7f37-bba2be85})

[comment]: # ({38f4a90e-e8b395eb})
##### 监控项值

如果 *Data* 设置为 "Item value"，则支持以下参数。

::: noteclassic
*Thresholds* 属性名称中的第一个数字（例如 `columnsthresholds.0.color.0`）表示配置阈值的列，而第二个数字表示阈值在列表中的位置，列表按升序排序。
但是，如果阈值的配置顺序不同，在 Zabbix 前端更新小组件配置后，这些值将按升序排序（例如，`"threshold.0.threshold":"5"` → `"threshold.0.threshold":"1"`；`"threshold.1.threshold":"1"` → `"threshold.1.threshold": "5"`）。
:::

|Parameter|<|[type](/manual/api/reference/dashboard/object#dashboard-widget-field)|name|value|
|-|--------|--|--------|-------------------------------|
|*Item*|<|1 |columns.0.item|有效的监控项名称。<br><br>在 [模板仪表板](/manual/api/reference/templatedashboard/object) 上配置小组件时，只应设置在模板上配置的监控项。|
|*Display*|<|0|columns.0.display|1 - *(默认)* 原样；<br>2 - 条形图；<br>3 - 指示器。|
|*Min*|<|1|columns.0.min|任意数值。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 当 *Display* 设置为 "Bar" 或 "Indicators" 时，*supported*|
|*Max*|<|1|columns.0.max|任意数值。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 当 *Display* 设置为 "Bar" 或 "Indicators" 时，*supported*|
|*Decimal places*|<|0|columns.0.decimal_places|可选值范围为 0-10。<br><br>默认值：2。|
|*Thresholds*|<|<|<|<|
|<|*Color*|1|columnsthresholds.0.color.0|十六进制颜色代码（例如 `FF0000`）。<br><br>默认值：`""`（空）。|
|^|*Threshold*|1|columnsthresholds.0.threshold.0|任意字符串值。|
|*Aggregation function*|<|0|columns.0.aggregate_function|0 - *(默认)* 不使用；<br>1 - 最小值；<br>2 - 最大值；<br>3 - 平均值；<br>4 - 计数；<br>5 - 求和；<br>6 - 第一个；<br>7 - 最后一个。|
|*Time period*|<|1|columns.0.time_period.\_reference|`DASHBOARD._timeperiod` - 将 [*Time period* 选择器](/manual/web_interface/time_period_selector) 设为数据源；<br>`ABCDE._timeperiod` - 将 [兼容的小组件](/manual/web_interface/frontend_sections/dashboards/widgets#widget-compatibility)（其 `reference` 参数等于 `ABCDE`）设为数据源。<br><br>默认值：`DASHBOARD._timeperiod`<br><br>或者，也可以仅在 *From* 和 *To* 参数中设置时间段。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 当 *Aggregation function* 设置为 "min"、"max"、"avg"、"count"、"sum"、"first"、"last" 时，*supported*|
|<|*From*|1|columns.0.time_period.from|有效的时间字符串，支持绝对时间（`YYYY-MM-DD hh:mm:ss`）或 [相对](/manual/web_interface/time_period_selector) 时间语法（`now`、`now/d`、`now/w-1w` 等）。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 当未设置 *Time period* 且 *Aggregation function* 设置为 "min"、"max"、"avg"、"count"、"sum"、"first"、"last" 时，*supported*<br>- 如果设置了 `columns.0.time_period.to`，则为 *required*|
|^|*To*|1|columns.0.time_period.to|有效的时间字符串，支持绝对时间（`YYYY-MM-DD hh:mm:ss`）或 [相对](/manual/web_interface/time_period_selector) 时间语法（`now`、`now/d`、`now/w-1w` 等）。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 当未设置 *Time period* 且 *Aggregation function* 设置为 "min"、"max"、"avg"、"count"、"sum"、"first"、"last" 时，*supported*<br>- 如果设置了 `columns.0.time_period.from`，则为 *required*|
|*History data*|<|0|columns.0.history|0 - *(默认)* 自动；<br>1 - 历史数据；<br>2 - 趋势数据。|
|*Reference*|<|1|reference|任意由 5 个字符组成的字符串值（例如 `ABCDE` 或 `JBPNL`）。此值在该小组件所属的仪表板中必须唯一。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- *required*|

[comment]: # ({/38f4a90e-e8b395eb})

[comment]: # ({55d0acdb-18fd738d})
##### 文本

如果将 *Data* 设置为 "Text"，则支持以下参数。

| 参数 | [仪表板小部件字段](/manual/api/reference/dashboard/object#仪表板小部件字段) | 名称 | 值 |
|-----|-|-----|-------------------|
| *Text* | 1 | columns.0.text | 任意 string 值，包括宏。<br>支持的宏：{主机.\*}, {INVENTORY.\*}。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 如果 *Data* 设置为 "Text"，则为*必填* |

[comment]: # ({/55d0acdb-18fd738d})

[comment]: # ({e7eaa526-c274247c})
### 示例

以下示例仅用于描述仪表板中 *Top 主机* 小组件的仪表板 widget 字段 objects 的配置。
有关配置仪表板的更多信息，请参阅 [`dashboard.create`](/manual/api/reference/dashboard/create)。

[comment]: # ({/e7eaa526-c274247c})

[comment]: # ({ec72cf7d-2e9b79c3})
#### 配置 *Top 主机* 部件

配置一个*Top 主机* widget，用于在主机组 "4"中按 CPU 使用率显示Top 主机。  
此外，请配置以下自定义列："主机名"、"CPU 使用率 %"、"1m avg"、"5m avg"、"15m avg"、"进程"。

[执行请求](/manual/api#执行请求):


```json
{
    "jsonrpc": "2.0",
    "method": "dashboard.create",
    "params": {
        "name": "My dashboard",
        "display_period": 30,
        "auto_start": 1,
        "pages": [
            {
                "widgets": [
                    {
                        "type": "tophosts",
                        "name": "Top hosts",
                        "x": 0,
                        "y": 0,
                        "width": 36,
                        "height": 5,
                        "view_mode": 0,
                        "fields": [
                            {
                                "type": 2,
                                "name": "groupids.0",
                                "value": 4
                            },
                            {
                                "type": 1,
                                "name": "columns.0.name",
                                "value": "Host"
                            },
                            {
                                "type": 0,
                                "name": "columns.0.data",
                                "value": 2
                            },
                            {
                                "type": 1,
                                "name": "columns.0.base_color",
                                "value": "FFFFFF"
                            },
                            {
                                "type": 1,
                                "name": "columns.1.name",
                                "value": "CPU utilization in %"
                            },
                            {
                                "type": 0,
                                "name": "columns.1.data",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "columns.1.base_color",
                                "value": "4CAF50"
                            },
                            {
                                "type": 1,
                                "name": "columns.1.item",
                                "value": "CPU utilization"
                            },
                            {
                                "type": 0,
                                "name": "columns.1.display",
                                "value": 3
                            },
                            {
                                "type": 1,
                                "name": "columns.1.min",
                                "value": "0"
                            },
                            {
                                "type": 1,
                                "name": "columns.1.max",
                                "value": "100"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.color.0",
                                "value": "FFFF00"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.threshold.0",
                                "value": "50"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.color.1",
                                "value": "FF8000"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.threshold.1",
                                "value": "80"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.color.2",
                                "value": "FF4000"
                            },
                            {
                                "type": 1,
                                "name": "columnsthresholds.1.threshold.2",
                                "value": "90"
                            },
                            {
                                "type": 1,
                                "name": "columns.2.name",
                                "value": "1m avg"
                            },
                            {
                                "type": 0,
                                "name": "columns.2.data",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "columns.2.base_color",
                                "value": "FFFFFF"
                            },
                            {
                                "type": 1,
                                "name": "columns.2.item",
                                "value": "Load average (1m avg)"
                            },
                            {
                                "type": 1,
                                "name": "columns.3.name",
                                "value": "5m avg"
                            },
                            {
                                "type": 0,
                                "name": "columns.3.data",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "columns.3.base_color",
                                "value": "FFFFFF"
                            },
                            {
                                "type": 1,
                                "name": "columns.3.item",
                                "value": "Load average (5m avg)"
                            },
                            {
                                "type": 1,
                                "name": "columns.4.name",
                                "value": "15m avg"
                            },
                            {
                                "type": 0,
                                "name": "columns.4.data",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "columns.4.base_color",
                                "value": "FFFFFF"
                            },
                            {
                                "type": 1,
                                "name": "columns.4.item",
                                "value": "Load average (15m avg)"
                            },
                            {
                                "type": 1,
                                "name": "columns.5.name",
                                "value": "Processes"
                            },
                            {
                                "type": 0,
                                "name": "columns.5.data",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "columns.5.base_color",
                                "value": "FFFFFF"
                            },
                            {
                                "type": 1,
                                "name": "columns.5.item",
                                "value": "Number of processes"
                            },
                            {
                                "type": 0,
                                "name": "columns.5.decimal_places",
                                "value": 0
                            },
                            {
                                "type": 0,
                                "name": "column",
                                "value": 1
                            }
                        ]
                    }
                ]
            }
        ],
        "userGroups": [
            {
                "usrgrpid": 7,
                "permission": 2
            }
        ],
        "users": [
            {
                "userid": 1,
                "permission": 3
            }
        ]
    },
    "id": 1
}
```
响应:


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

[comment]: # ({/ec72cf7d-2e9b79c3})

[comment]: # ({e9d30322-d8c32fe2})
### 另请参阅

-   [Dashboard widget field](/manual/api/reference/dashboard/object#dashboard-widget-field)
-   [`dashboard.create`](/manual/api/reference/dashboard/create)
-   [`dashboard.update`](/manual/api/reference/dashboard/update)

[comment]: # ({/e9d30322-d8c32fe2})
