[comment]: # ({38a58fd8-4df1faf7})
# 14 主机 导航器

[comment]: # ({/38a58fd8-4df1faf7})

[comment]: # ({1c22a8ad-eca9765b})
### 描述

这些参数及对应仪表板小组件字段objects的可选属性值，可用于配置
[*Host navigator*](/manual/web_interface/frontend_sections/dashboards/widgets/host_navigator)小组件在`dashboard.create`和`dashboard.update`方法中的行为。

::: noteimportant
小组件`fields`的属性在创建或update仪表板时不会进行验证。
这使得用户可以修改[built-in widgets](/manual/web_interface/frontend_sections/dashboards/widgets)和create[custom widgets](/devel/modules/tutorials/widget)，但也存在创建或更新小组件不正确的风险。
为确保成功创建或update*主机导航器*小组件，请参考下文表格中列出的参数行为规范。

:::

[comment]: # ({/1c22a8ad-eca9765b})

[comment]: # ({4d3dace7-1636ce04})
### 参数

以下参数受*主机导航器*小部件支持。

| 参数 | <   | [仪表板小部件字段](/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，则不支持此参数。|
| *Host patterns* | <   | 1 | hosts.0 | [Host](/manual/api/reference/host/get) 名称或模式。<br><br>注意：要配置多个 主机 模式，create 仪表板 widget 字段 object，每个 主机 模式使用递增的属性名称。对于多个 主机 模式，参数 *主机 组* 必须完全不配置，或者配置至少一个 主机组，该 主机 匹配配置的 主机 模式并属于该组。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。 |
| *Host status* | <   | 0 | status | -1 - *(默认)* 任意；<br>0 - 已启用；<br>1 - 已禁用。<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置widget，则不支持此参数。 |
| *Host tags* | <   | < | < | <     |
| < | *评估类型* | 0 | host_tags_evaltype | 0 - *(默认)* And/Or;<br>2 - Or。<br><br>如果在[template dashboard](/manual/api/reference/templatedashboard/object)上配置widget，则不支持此参数。 |
| ^ | *标签名称* | 1 | host_tags.0.tag | 任意 string 值。<br><br>注意：属性名称中的数字表示标签评估列表中的标签顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 在配置 *主机 标签* 时为必填项<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。 |
| ^ | *操作符* | 0 | host_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 | host_tags.0.value | 任意 string 值。<br><br>注意：属性名称中的数字表示标签评估列表中的标签顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 在配置 *主机 标签* 时为必填项<br><br>如果是在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。 |
| *Severity* | <   | 0 | severities.0 | 0 - 未分类；<br>1 - 信息；<br>2 - 警告；<br>3 - 一般；<br>4 - 高；<br>5 - 灾难。<br><br>默认值：空（全部启用）。<br><br>注意：要配置多个值，请为每个值使用递增的属性名编号，在仪表板widget字段object中create置。 |
| *Show hosts in maintenance* | <   | 0 | maintenance | 0 - *(默认)* 已禁用；<br>1 - 已启用。 |
| *Show problems* | <   | 0 | show_problems | 0 - 所有；<br>1 - *(默认)* 未抑制；<br>2 - 无。 |
| *Group by* | ＜   | < | < | ＜     |
| < | *属性* | 0 | group_by.0.attribute | 0 - 主机组;<br>1 - 标签值；<br>2 - 严重程度。<br><br>注意：属性名称中的数字表示该属性在分组属性列表中的顺序。<br><br>[参数行为](/manual/api/reference_commentary#参数行为)：<br>- 若配置 *按组分组(Group by)* 则为*必填* |
| ^ | *值* | 1 | group_by.0.tag_name | 任意 string 值。<br><br>注意：属性名称中的数字引用的是在 *Attribute* 参数中设置的分组属性。<br><br>[参数行为](/manual/api/reference_commentary#参数行为):<br>- 如果配置了 *Group by* 且 *Attribute* 设置为 "Tag value"，则为必填项 |
| *Host limit* | <   | 0 | show_lines | 可能的取值范围为 1-9999。<br><br>默认值：100。<br><br>如果在 [template dashboard](/manual/api/reference/templatedashboard/object) 上配置 widget，则不支持此参数。 |
| *Reference* | <   | 1 | reference | 任何由 5 个字符组成的 string 值（例如 `ABCDE` 或 `JBPNL`）。此值在该 widget 所属的仪表板内必须唯一。<br><br>[参数行为](/manual/api/reference_commentary#参数行为)：<br>- *必填* |

[comment]: # ({/4d3dace7-1636ce04})

[comment]: # ({256a1b51-1d66ab00})
### 示例

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

[comment]: # ({/256a1b51-1d66ab00})

[comment]: # ({883c48d7-0e8f355d})
#### 配置*主机导航器*部件

配置一个*主机导航器*部件，用于显示按主机组分组、再按"城市"标签值分组的主机。

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

```json
{
    "jsonrpc": "2.0",
    "method": "dashboard.create",
    "params": {
        "name": "My dashboard",
        "display_period": "30",
        "auto_start": "1",
        "pages": [
            {
                "widgets": [
                    {
                        "type": "hostnavigator",
                        "name": "Host navigator",
                        "x": "0",
                        "y": "0",
                        "width": "12",
                        "height": "5",
                        "view_mode": "0",
                        "fields": [
                            {
                                "type": 2,
                                "name": "groupids.0",
                                "value": 2
                            },
                            {
                                "type": 2,
                                "name": "groupids.1",
                                "value": 4
                            },
                            {
                                "type": 0,
                                "name": "group_by.0.attribute",
                                "value": 0
                            },
                            {
                                "type": 0,
                                "name": "group_by.1.attribute",
                                "value": 1
                            },
                            {
                                "type": 1,
                                "name": "group_by.1.tag_name",
                                "value": "city"
                            },
                            {
                                "type": 1,
                                "name": "reference",
                                "value": "SWKLB"
                            }
                        ]
                    }
                ]
            }
        ],
        "userGroups": [
            {
                "usrgrpid": 7,
                "permission": 2
            }
        ],
        "users": [
            {
                "userid": 1,
                "permission": 3
            }
        ]
    },
    "id": 1
}
```
```

响应:

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

[comment]: # ({/883c48d7-0e8f355d})

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

-   [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-5c9cbeda})
