[comment]: # ({11c36b7d-f9e8f670})
# 1 服务树

服务树在 *Services -> Services* 菜单部分中进行配置。在右上角，将
[view](/manual/web_interface/frontend_sections/services/service#viewing-services) 从查看模式切换到编辑模式。

![](../../../assets/en/manual/config/service_config.png){width=600}

要[配置](#service-configuration)一个新服务，请点击右上角的
*Create service* 按钮。

要快速添加子服务，也可以点击父服务旁边的加号图标。
这将打开相同的服务配置表单，但 *Parent services* 参数会预先填充。

[comment]: # ({/11c36b7d-f9e8f670})

[comment]: # ({3d27f086-6faf3b84})
### 服务配置

在 **Service** 选项卡中，指定所需的服务参数：

![](../../../assets/en/manual/web_interface/service.png){width=600}

所有必填输入字段都用红色星号标记。

|Parameter|Description|
|--|--------|
|_**Name**_|服务名称。|
|_**Parent services**_|该服务所属的父服务。<br> 如果要添加最高级别的服务，请将此字段留空。<br> 一个服务可以有多个父服务。在这种情况下，它会显示在服务树中每个父服务下。  |
|_**Problem tags**_|指定用于将问题数据映射到服务的标签。<br>可以设置多个条件。标签名称匹配始终区分大小写。<br>每个条件有两个可用运算符：<br>**Equals** - 包含指定的标签名称和值（区分大小写）<br>**Contains** - 包含指定的标签名称，其中标签值包含输入的字符串（子字符串匹配，区分大小写）|
|_**Sort order**_|显示时的排序顺序，数值越小越靠前。|
|_**Status calculation rule**_|服务状态的计算规则：<br>**Most critical if all children have problems** - 如果所有子服务都有问题，则使用子服务中最严重的问题来为服务状态着色<br>**Most critical of child services** - 使用子服务中最严重的问题来为服务状态着色<br>**Set status to OK** - 不计算服务状态<br>可在[高级配置](#advanced-configuration)选项中配置其他状态计算规则。|
|_**Description**_|服务描述。|
|_**Created at**_|服务创建时间；在编辑现有服务时显示。|
|_**Advanced configuration**_|单击 *Advanced configuration* 标题可显示[高级配置](#advanced-configuration)选项。|

[comment]: # ({/3d27f086-6faf3b84})

[comment]: # ({61a0d455-23bc31ba})
#### 高级配置

![](../../../assets/en/manual/web_interface/service_a.png){width=600}

|参数|描述|
|--|--------|
|_**附加规则**_|单击 *Add* 以配置附加的状态计算规则。|
|*Set status to*|在条件匹配时，将服务状态设置为 *OK*（默认）、*Not classified*、*Information*、*Warning*、*Average*、*High* 或 *Disaster*。|
|*Condition*|为直接子服务选择条件：<br>**如果至少有 (N) 个子服务的状态为 (Status) 或更高**<br>**如果至少有 (N%) 的子服务的状态为 (Status) 或更高**<br>**如果少于 (N) 个子服务的状态为 (Status) 或更低**<br>**如果少于 (N%) 的子服务的状态为 (Status) 或更低**<br>**如果状态为 (Status) 或更高的子服务权重至少为 (W)**<br>**如果状态为 (Status) 或更高的子服务权重至少为 (N%)**<br>**如果状态为 (Status) 或更低的子服务权重小于 (W)**<br>**如果状态为 (Status) 或更低的子服务权重小于 (N%)** <br><br> 如果指定了多个条件，且情况匹配多个条件，则将设置最高严重级别。|
|*N (W)*|在条件中设置 N 或 W 的值（1-100000），或 N%（1-100）。|
|*Status*|在条件中选择 *Status* 的值：*OK*（默认）、*Not classified*、*Information*、*Warning*、*Average*、*High* 或 *Disaster*。|
|_**状态传播规则**_|将服务状态传播到父服务的规则：<br>**As is** - 状态按原样传播，不做更改<br>**Increase by** - 可将传播的状态提高 1 到 5 个严重级别<br>**Decrease by** - 可将传播的状态降低 1 到 5 个严重级别<br>**Ignore this service** - 状态完全不传播到父服务<br>**Fixed status** - 状态以静态方式传播，即始终保持相同状态|
|_**权重**_|服务的权重（整数，范围从 0（默认）到 1000000）。|

:::noteclassic
附加状态计算规则只能用于将严重级别提高到高于根据主要 *Status calculation rule* 参数计算出的级别。如果根据附加规则状态应为 Warning，但根据 *Status calculation rule* 状态为 Disaster，则服务状态将为 Disaster。
:::

[comment]: # ({/61a0d455-23bc31ba})

[comment]: # ({82abd35c-eb22558f})
**Tags** 选项卡包含 [service-level tags](#service-tags)。服务级标签用于标识一个服务。这类标签不用于将问题映射到该服务（为此，请使用第一个选项卡中的 *[Problem tags](#problem-tags)*）。

**Child services** 选项卡允许指定依赖服务。  
单击 *Add* 可从现有服务列表中添加一个服务。如果要添加新的子服务，请先保存此服务，然后单击刚创建的服务旁边的加号图标。

[comment]: # ({/82abd35c-eb22558f})

[comment]: # ({2155bf29-cbeb5931})
### 标签
服务中有两种不同类型的标签：

 - 服务标签
 - 问题标签

#### 服务标签

服务标签用于将服务与[服务动作](/manual/config/notifications/action)和[SLA](/manual/it_services/sla)进行匹配。这些标签在服务配置的 *标签* 选项卡中指定。  
对于 SLA 映射，使用 *OR* 逻辑：如果服务至少有一个匹配的标签，则会被映射到某个 SLA。
在服务动作中，映射规则可配置，并且可以使用 *AND*、*OR* 或 *AND/OR* 逻辑。

![](../../../assets/en/manual/config/service_tags.png)

[comment]: # ({/2155bf29-cbeb5931})

[comment]: # ({4de853b6-b5d55da8})
#### 问题标签

问题标签用于匹配问题和服务。这些标签在主服务配置选项卡中指定。 

只有最低层级的子服务才能定义问题标签，并直接与问题关联。如果问题标签匹配，
服务状态将变为与问题相同的状态。如果存在多个问题，服务将采用其中最严重问题的状态。父服务的状态
则根据状态计算规则，基于子服务状态进行计算。 

如果指定了多个标签，则使用 *AND* 逻辑：问题必须具有服务配置中指定的所有标签，
才能映射到该服务。 

![](../../../assets/en/manual/config/problem_tags.png)

:::noteclassic
Zabbix 中的问题会继承来自整个模板链、主机、监控项、Web 场景和触发器的标签。其中任何这些标签都可用于将问题匹配到服务。
:::

[comment]: # ({/4de853b6-b5d55da8})

[comment]: # ({3d44f431-637a1377})
*示例：*

问题 *Web camera 3 is down* 具有标签 `type:video-surveillance`、`floor:1` 和 `name:webcam-3`，状态为 *Warning*

服务 **Web camera 3** 仅指定了一个问题标签：`name:webcam-3`  

   ![](../../../assets/en/manual/config/services_example_tags.png)
   
检测到此问题时，服务状态将从 *OK* 变为 *Warning*。 

如果服务 **Web camera 3** 具有问题标签 `name:webcam-3` 和 `floor:2`，则在检测到该问题时，其状态不会发生变化，因为这些条件仅被部分满足。

[comment]: # ({/3d44f431-637a1377})

[comment]: # ({6745693f-95d1a0ea})
### 修改现有服务

:::noteclassic
下文描述的按钮仅在 *Services* 部分处于编辑模式时可见。
:::

要编辑现有服务，请单击服务旁边的铅笔图标。

要克隆现有服务，请单击铅笔图标打开其配置，然后单击 *Clone* 按钮。克隆服务时，会保留其父级链接，而子级链接不会保留。

要删除服务，请单击其旁边的 `x` 图标。删除父级服务时，其子服务不会被删除，而是会在服务树中上移一级（第 1 级子服务将与已删除的父级服务处于同一级别）。

服务列表下方的两个按钮提供一些批量编辑选项：

-   *Mass update* - 批量更新服务属性
-   *Delete* - 删除服务

要使用这些选项，请先勾选相应服务前面的复选框，然后单击所需按钮。

[comment]: # ({/6745693f-95d1a0ea})
