[comment]: # ({45490b18-516a6885})
# 22 问题主机

[comment]: # ({/45490b18-516a6885})

[comment]: # ({cdbcbfe3-1ee1c5af})
### 说明

各个仪表盘组件字段对象中的这些参数和可用属性值允许在`dashboard.create` 和 `dashboard.update` 方法中配置[*问题主机*](/manual/web_interface/frontend_sections/dashboards/widgets/problem_hosts)组件。

::: noteimportant
在创建或更新仪表盘期间不会验证组件的 `fields` 属性。
这个方法允许用户修改[内置组件](/manual/web_interface/frontend_sections/dashboards/widgets)和创建[自定义组件](/devel/modules/tutorials/widget)，但也会导致存在错误创建或更新组件的风险。
为确保成功创建或更新*问题主机*组件，请参阅下表中概述的参数行为。
:::

[comment]: # ({/cdbcbfe3-1ee1c5af})

[comment]: # ({4fdd85e3-e1337d2e})
### 参数

以下参数适用于 *Problem hosts* 小组件。

|Parameter|<|[type](/manual/api/reference/dashboard/object#dashboard-widget-field)|name|value|
|-|--------|--|--------|-------------------------------|
|*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|[主机组](/manual/api/reference/hostgroup/get) ID。<br><br>注意：要配置多个主机组，请为每个主机组创建一个 dashboard widget field 对象，并在属性名中递增编号。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|<|*Host groups (Widget)*|1|groupids.\_reference|不使用 [主机组](/manual/api/reference/hostgroup/get) ID，而是：<br>`ABCDE._hostgroupids` - 将 [兼容小组件](/manual/web_interface/frontend_sections/dashboards/widgets#widget-compatibility)（其 *Reference* 参数设置为 "`ABCDE`"）设为主机组的数据源。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|*Exclude host groups*|<|2|exclude_groupids.0|[主机组](/manual/api/reference/hostgroup/get) ID。<br><br>注意：要排除多个主机组，请为每个主机组创建一个 dashboard widget field 对象，并在属性名中递增编号。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|*Hosts*|<|3|hostids.0|[主机](/manual/api/reference/host/get) ID。<br><br>注意：要配置多个主机，请为每个主机创建一个 dashboard widget field 对象，并在属性名中递增编号。对于多个主机，参数 *Host groups* 要么完全不配置，要么至少配置一个这些主机所属的主机组。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|<|*Hosts (Widget/Dashboard)*|1|hostids.\_reference|不使用 [主机](/manual/api/reference/host/get) ID，而是：<br>`DASHBOARD.hostids` - 将 [*Host* 选择器](/manual/web_interface/frontend_sections/dashboards/widgets#override-host) 设为主机的数据源；<br>`ABCDE._hostids` - 将 [兼容小组件](/manual/web_interface/frontend_sections/dashboards/widgets#widget-compatibility)（其 *Reference* 参数设置为 "`ABCDE`"）设为主机的数据源。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|*Problem*|<|1|problem|问题 [事件名称](/manual/config/triggers/trigger#configuration)（不区分大小写，可使用完整名称或其部分内容）。|
|*Severity*|<|0|severities.0|0 - 未分类；<br>1 - 信息；<br>2 - 警告；<br>3 - 一般严重；<br>4 - 严重；<br>5 - 灾难。<br><br>默认值：空（全部启用）。<br><br>注意：要配置多个值，请为每个值创建一个 dashboard widget field 对象，并在属性名中递增编号。|
|*Problem tags*|<|<|<|<|
|<|*Evaluation type*|0|evaltype|0 - *(默认)* 与/或；<br>2 - 或。|
|^|*Tag name*|1|tags.0.tag|任意字符串值。<br><br>注意：属性名中的数字表示标签在标签评估列表中的顺序。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 如果配置 *Problem tags*，则为 *必填*|
|^|*Operator*|0|tags.0.operator|0 - 包含；<br>1 - 等于；<br>2 - 不包含；<br>3 - 不等于；<br>4 - 存在；<br>5 - 不存在。<br><br>注意：属性名中的数字表示标签在标签评估列表中的顺序。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 如果配置 *Problem tags*，则为 *必填*|
|^|*Tag value*|1|tags.0.value|任意字符串值。<br><br>注意：属性名中的数字表示标签在标签评估列表中的顺序。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 如果配置 *Problem tags*，则为 *必填*|
|*Show suppressed problems*|<|0|show_suppressed|0 - *(默认)* 禁用；<br>1 - 启用。|
|*Hide groups without problems*|<|0|hide_empty_groups|0 - *(默认)* 禁用；<br>1 - 启用。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置小组件，则不支持此参数。|
|*Problem display*|<|0|ext_ack|0 - *(默认)* 全部；<br>1 - 仅未确认；<br>2 - 分开显示。|
|*Reference*|<|1|reference|任意由 5 个字符组成的字符串值（例如 `ABCDE` 或 `JBPNL`）。此值在该小组件所属的 dashboard 中必须唯一。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- *必填*|

[comment]: # ({/4fdd85e3-e1337d2e})

[comment]: # ({bcd0ecfc-67b6ab01})
### 示例

以下示例仅用于介绍如何在仪表盘组件字段对象中配置 *问题主机* 组件
更多信息，请参考 [创建仪表盘](/manual/api/reference/dashboard/create)。

[comment]: # ({/bcd0ecfc-67b6ab01})

[comment]: # ({46ca138a-581163e0})
#### 配置一个*问题主机*组件

配置一个*问题主机*组件，用于展示主机组 "2" 和 "4" 中的问题主机。要求问题名称中包含 "CPU" 并且严重性级别在以下范围内："Warning"、"Average"、"High"、"Disaster"。

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

```json
{
    "jsonrpc": "2.0",
    "method": "dashboard.create",
    "params": {
        "name": "My dashboard",
        "display_period": 30,
        "auto_start": 1,
        "pages": [
            {
                "widgets": [
                    {
                        "type": "problemhosts",
                        "name": "Problem hosts",
                        "x": 0,
                        "y": 0,
                        "width": 36,
                        "height": 5,
                        "view_mode": 0,
                        "fields": [
                            {
                                "type": 2,
                                "name": "groupids.0",
                                "value": 2
                            },
                            {
                                "type": 2,
                                "name": "groupids.1",
                                "value": 4
                            },
                            {
                                "type": 1,
                                "name": "problem",
                                "value": "cpu"
                            },
                            {
                                "type": 0,
                                "name": "severities.0",
                                "value": 2
                            },
                            {
                                "type": 0,
                                "name": "severities.1",
                                "value": 3
                            },
                            {
                                "type": 0,
                                "name": "severities.2",
                                "value": 4
                            },
                            {
                                "type": 0,
                                "name": "severities.3",
                                "value": 5
                            }
                        ]
                    }
                ]
            }
        ],
        "userGroups": [
            {
                "usrgrpid": 7,
                "permission": 2
            }
        ],
        "users": [
            {
                "userid": 1,
                "permission": 3
            }
        ]
    },
    "id": 1
}
```

响应：

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

[comment]: # ({/46ca138a-581163e0})

[comment]: # ({e9d30322-2c4b70f3})
### 参考

-   [仪表盘组件字段](/manual/api/reference/dashboard/object#仪表盘组件字段)
-   [创建仪表盘](/manual/api/reference/dashboard/create)
-   [更新仪表盘](/manual/api/reference/dashboard/update)

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