[comment]: # ({11c36b7d-f9e8f670})
# 1 Árvore de serviços

A árvore de serviços é configurada na seção de menu *Services -> Services*. No canto superior direito, alterne de 
[view](/manual/web_interface/frontend_sections/services/service#viewing-services) para o modo de edição. 

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

Para [configurar](#service-configuration) um novo serviço, clique no botão
*Create service* no canto superior direito.

Para adicionar rapidamente um serviço filho, você também pode clicar no ícone de mais ao lado do serviço pai. 
Isso abrirá o mesmo formulário de configuração de serviço, mas o parâmetro *Parent services* será preenchido automaticamente.

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

[comment]: # ({3d27f086-6faf3b84})
### Configuração do service

Na aba **Service**, especifique os parâmetros obrigatórios do service:

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

Todos os campos obrigatórios são marcados com um asterisco vermelho.

|Parameter|Description|
|--|--------|
|_**Name**_|Nome do service.|
|_**Parent services**_|Services pai aos quais o service pertence.<br> Deixe este campo em branco se estiver adicionando o service de nível mais alto.<br> Um service pode ter vários services pai. Nesse caso, ele será exibido na árvore de services abaixo de cada um dos services pai.  |
|_**Problem tags**_|Especifique tags para mapear os dados de problema ao service.<br>Várias condições podem ser definidas. A correspondência do nome da tag sempre diferencia maiúsculas de minúsculas.<br>Há dois operadores disponíveis para cada condição:<br>**Equals** - inclui os nomes e valores de tag especificados (diferencia maiúsculas de minúsculas)<br>**Contains** - inclui os nomes de tag especificados em que os valores da tag contêm a string informada (correspondência de substring, diferencia maiúsculas de minúsculas)|
|_**Sort order**_|Ordem de classificação para exibição; o menor vem primeiro.|
|_**Status calculation rule**_|Regra para calcular o status do service:<br>**Most critical if all children have problems** - o problema mais crítico nos services filhos é usado para colorir o status do service, se todos os services filhos tiverem problemas<br>**Most critical of child services** - o problema mais crítico nos services filhos é usado para colorir o status do service<br>**Set status to OK** - não calcula o status do service<br>Regras adicionais de cálculo de status podem ser configuradas nas opções de [advanced configuration](#advanced-configuration).|
|_**Description**_|Descrição do service.|
|_**Created at**_|O momento em que o service foi criado; exibido ao editar um service existente.|
|_**Advanced configuration**_|Clique no cabeçalho *Advanced configuration* para exibir as opções de [advanced configuration](#advanced-configuration).|

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

[comment]: # ({61a0d455-23bc31ba})
#### Configuração avançada

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

|Parameter|Description|
|--|--------|
|_**Regras adicionais**_|Clique em *Add* para configurar regras adicionais de cálculo de status.|
|*Definir status como*|Defina o status do service como *OK* (padrão), *Not classified*, *Information*, *Warning*, *Average*, *High* ou *Disaster* em caso de correspondência com uma condição.|
|*Condição*|Selecione a condição para serviços filhos diretos:<br>**se pelo menos (N) serviços filhos tiverem status (Status) ou superior**<br>**se pelo menos (N%) dos serviços filhos tiverem status (Status) ou superior**<br>**se menos de (N) serviços filhos tiverem status (Status) ou inferior**<br>**se menos de (N%) dos serviços filhos tiverem status (Status) ou inferior**<br>**se o peso dos serviços filhos com status (Status) ou superior for pelo menos (W)**<br>**se o peso dos serviços filhos com status (Status) ou superior for pelo menos (N%)**<br>**se o peso dos serviços filhos com status (Status) ou inferior for menor que (W)**<br>**se o peso dos serviços filhos com status (Status) ou inferior for menor que (N%)** <br><br> Se várias condições forem especificadas e a situação corresponder a mais de uma condição, a severidade mais alta será definida.|
|*N (W)*|Defina o valor de N ou W (1-100000), ou N% (1-100) na condição.|
|*Status*|Selecione o valor de *Status* na condição: *OK* (padrão), *Not classified*, *Information*, *Warning*, *Average*, *High* ou *Disaster*.|
|_**Regra de propagação de status**_|Regra para propagar o status do service para o service pai:<br>**As is** - o status é propagado sem alteração<br>**Increase by** - você pode aumentar o status propagado em 1 a 5 níveis de severidade<br>**Decrease by** - você pode diminuir o status propagado em 1 a 5 níveis de severidade<br>**Ignore this service** - o status não é propagado ao service pai de forma alguma<br>**Fixed status** - o status é propagado estaticamente, ou seja, sempre o mesmo|
|_**Peso**_|Peso do service (inteiro no intervalo de 0 (padrão) a 1000000).|

:::noteclassic
As regras adicionais de cálculo de status só podem ser usadas para aumentar o nível de severidade acima do nível calculado de acordo com o parâmetro principal *Status calculation rule*. Se, de acordo com as regras adicionais, o status devesse ser Warning, mas, de acordo com o parâmetro *Status calculation rule*, o status for Disaster, o service terá status Disaster.
:::

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

[comment]: # ({82abd35c-eb22558f})
A aba **Tags** contém [tags de nível de serviço](#service-tags). Tags de nível de serviço são usadas para identificar um serviço. Tags desse tipo não são usadas para mapear problemas para o serviço (para isso, use *[Problem tags](#problem-tags)* da primeira aba).

A aba **Child services** permite especificar serviços dependentes.
Clique em *Add* para adicionar um serviço da lista de serviços existentes. Se você quiser adicionar um novo serviço filho, salve este serviço primeiro e, em seguida, clique no ícone de mais ao lado do serviço que você acabou de criar.

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

[comment]: # ({2155bf29-cbeb5931})
### Tags
Existem dois tipos diferentes de tags em serviços:

 - Tags de serviço
 - Tags de problema

#### Tags de serviço

As tags de serviço são usadas para associar serviços com [ações de serviço](/manual/config/notifications/action) e [SLAs](/manual/it_services/sla). Essas tags são especificadas na aba *Tags* da configuração do serviço.
Para o mapeamento de SLAs, é usada a lógica *OU*: um serviço será mapeado para um SLA se tiver pelo menos uma tag correspondente.
Nas ações de serviço, as regras de mapeamento são configuráveis e podem usar lógica *E*, *OU* ou *E/OU*.

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

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

[comment]: # ({4de853b6-b5d55da8})
#### Tags de problema

As tags de problema são usadas para correlacionar problemas e serviços. Essas tags são especificadas na aba principal de configuração do serviço.

Apenas serviços filhos do nível mais baixo da hierarquia podem ter tags de problema definidas e serem correlacionados diretamente a problemas. Se as tags de problema coincidirem, o status do serviço mudará para o mesmo status do problema. No caso de vários problemas, um serviço terá o status do mais severo. O status de um serviço pai é então calculado com base nos status dos serviços filhos de acordo com as regras de cálculo de status.

Se várias tags forem especificadas, a lógica *E* é usada: um problema deve ter todas as tags especificadas na configuração do serviço para ser mapeado para o serviço.

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

:::noteclassic
Um problema no Zabbix herda tags de toda a cadeia de templates, hosts, items, cenários web e triggers. Qualquer uma dessas tags pode ser usada para correlacionar problemas a serviços.
:::

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

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

O problema *Web camera 3 is down* possui as tags `type:video-surveillance`, `floor:1` e `name:webcam-3` e status *Warning*

O serviço **Web camera 3** possui apenas a tag de problema especificada: `name:webcam-3`  

   ![](../../../assets/pt/manual/config/services_example_tags.png)
   
O status do serviço mudará de *OK* para *Warning* quando esse problema for detectado.

Se o serviço **Web camera 3** tivesse as tags de problema `name:webcam-3` e `floor:2`, seu status não seria alterado quando o problema fosse detectado, porque as condições seriam atendidas apenas parcialmente.

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

[comment]: # ({6745693f-95d1a0ea})
### Modificando serviços existentes

:::noteclassic
Os botões descritos abaixo ficam visíveis somente quando a seção *Services* está no modo de edição.
:::

Para editar um serviço existente, clique no ícone de lápis ao lado do service.

Para clonar um serviço existente, clique no ícone de lápis para abrir sua configuração e, em seguida, clique no botão *Clone*. Quando um service é clonado, seus links de pai são preservados, enquanto os links de filho não são.

Para excluir um service, clique no ícone `x` ao lado dele. Quando você exclui um service pai, seus services filhos não serão excluídos e passarão para um nível acima na árvore de services (os filhos de 1º nível ficarão no mesmo nível do service pai excluído).

Dois botões abaixo da lista de services oferecem algumas opções de edição em massa:

-   *Mass update* - atualizar em massa as propriedades do service
-   *Delete* - excluir os services

Para usar essas opções, marque as caixas de seleção antes dos respectivos
services e, em seguida, clique no botão desejado.

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