

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Execute scripts de configuração do host com privilégios de administrador
<a name="smf-admin"></a>

Os scripts de configuração do host permitem que você execute tarefas administrativas, como instalação de software, em seus funcionários de frota gerenciados por serviços. Esses scripts são executados com privilégios elevados (`sudo`ativadoLinux, administrador ativadoWindows), oferecendo a flexibilidade de configurar seus trabalhadores para o seu sistema.

O Deadline Cloud executa o script depois que o trabalhador entra no `STARTING` estado e antes de executar qualquer tarefa.

**Importante**  
O script é executado com permissões elevadas. É sua responsabilidade garantir que o script não apresente nenhum problema de segurança.  
Ao usar um script de configuração do host, você é responsável por monitorar a integridade da sua frota.

Os usos comuns dos scripts de configuração do host incluem:
+ Instalação de software que requer acesso de administrador
+ Instalação de Docker contêineres
+ Instalação de soluções de armazenamento em nuvem de terceiros, comoLucidLink. Para ver uma explicação passo a passo, consulte [Configurar LucidLink com scripts de frota gerenciados por serviços para o Deadline Cloud](https://aws.amazon.com/blogs/media/set-up-lucidlink-with-service-managed-fleet-scripts-for-aws-deadline-cloud/) no blog AWS for M&E.

Você pode criar e atualizar um script de configuração do host usando o console ou usando AWS CLI o.

------
#### [ Console ]

1. Na página de **detalhes da frota**, escolha a guia **Configurações**.

1. No campo **Script**, insira o script a ser executado com permissões elevadas. Você pode escolher **Importar** para carregar um script da sua estação de trabalho.

1. Defina um período de tempo limite em segundos para executar o script. O padrão é 300 segundos (5 minutos).

1. Escolha **Salvar alterações** para salvar o script.

------
#### [ Create with CLI ]

Use o AWS CLI comando a seguir para criar uma frota com um script de configuração do host. Substitua o {{placeholder}} texto por suas informações.

```
aws deadline create-fleet \
--farm-id {{farm-12345}} \
--display-name "{{fleet-name}}" \
--max-worker-count 1 \
--configuration '{
"serviceManagedEc2": {
  "instanceCapabilities": {
    "vCpuCount": {"min": 2},
    "memoryMiB": {"min": 4096},
    "osFamily": "linux",
    "cpuArchitectureType": "x86_64"
  },
  "instanceMarketOptions": {"type":"spot"}
}
}' \
--role-arn arn:aws:iam::{{111122223333}}:role/{{role-name}} \
--host-configuration '{ "scriptBody": "{{script body}}", "scriptTimeoutSeconds": {{timeout value}}}'
```

------
#### [ Update with CLI ]

Use o AWS CLI comando a seguir para atualizar o script de configuração do host de uma frota. Substitua o {{placeholder}} texto por suas informações.

```
aws deadline update-fleet \
--farm-id {{farm-12345}} \
--fleet-id {{fleet-455678}} \
--host-configuration '{ "scriptBody": "{{script body}}", "scriptTimeoutSeconds": {{timeout value}}}'
```

------

Os scripts a seguir demonstram:
+ As variáveis de ambiente disponíveis para o script
+ Essas AWS credenciais estão funcionando no shell.
+ Que o script está sendo executado em um shell elevado

------
#### [ Linux ]

Use o script a seguir para mostrar que um script está sendo executado com `root` privilégios:

```
# Print environment variables
set 
# Check AWS Credentials
aws sts get-caller-identity
```

------
#### [ Windows ]

Use o PowerShell script a seguir para mostrar que um script está sendo executado com privilégios de administrador:

```
Get-ChildItem env: | ForEach-Object { "$($_.Name)=$($_.Value)" }
aws sts get-caller-identity
function Test-AdminPrivileges {
  $currentUser = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
  $isAdmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
  
  return $isAdmin
}

if (Test-AdminPrivileges) {
  Write-Host "The current PowerShell session is elevated (running as Administrator)."
} else {
  Write-Host "The current PowerShell session is not elevated (not running as Administrator)."
}
exit 0
```

------

## Solucionar problemas de scripts de configuração do host
<a name="smf-admin-troubleshooting"></a>

Quando você executa o script de configuração do host: 
+ Sobre o sucesso: o trabalhador executa o trabalho
+ Em caso de falha (código de saída diferente de zero ou falha): 
  + O trabalhador fecha

  A frota lança automaticamente um novo trabalhador usando o script de configuração de host mais recente

Para monitorar o script:

1. Abra a página da frota no console do Deadline Cloud.

1. Escolha **Exibir trabalhadores** para abrir o monitor do Deadline Cloud.

1. Visualize o status do trabalhador na página do monitor.

**dica**  
Ao testar os scripts de configuração do host, defina a contagem máxima de trabalhadores da frota como 1 para evitar iniciar vários trabalhadores durante a iteração no script.

Observações importantes:
+ Os trabalhadores que foram desligados devido a um erro não estão disponíveis na lista de trabalhadores no monitor. Use CloudWatch Registros para visualizar os registros do trabalhador no seguinte grupo de registros:

  ```
  /aws/deadline/farm-{{XXXXX}}/fleet-{{YYYYY}}
  ```

  Dentro desse grupo de registros, procure um fluxo chamado`worker-{{ZZZZZ}}`.
+ CloudWatch O Logs retém os registros do trabalhador de acordo com o período de retenção configurado.

### Monitore a execução do script de configuração do host
<a name="smf-admin-monitoring"></a>

Com os scripts de configuração do host, você pode assumir o controle total de um funcionário do Deadline Cloud. Você pode instalar qualquer pacote de software, reconfigurar os parâmetros do sistema operacional ou montar sistemas de arquivos compartilhados. Com esse recurso avançado e a capacidade do Deadline Cloud de escalar para milhares de trabalhadores, você pode monitorar quando os scripts de configuração são executados com sucesso ou falham.

Recomendamos as seguintes soluções para monitorar a execução do script de configuração do host.

#### CloudWatch Monitoramento de registros
<a name="smf-admin-cloudwatch-logs"></a>

Todos os registros de configuração do host da frota são transmitidos para o grupo de CloudWatch registros da frota e, especificamente, para o fluxo de CloudWatch registros de um trabalhador. Por exemplo, `/aws/deadline/farm-123456789012/fleet-777788889999` é o grupo de registros para fazenda`123456789012`, frota`777788889999`.

Cada trabalhador provisiona um fluxo de registros dedicado, por exemplo`worker-123456789012`. Os registros de configuração do host incluem banners de registro, como *Running Host Configuration Script* e *Finished running Host Configuration Script, código de saída: 0*. O código de saída do script está incluído no banner finalizado e pode ser consultado usando CloudWatch ferramentas.

#### CloudWatch Informações sobre registros
<a name="smf-admin-log-insights"></a>

CloudWatch O Logs Insights oferece recursos avançados para analisar informações de registro. Por exemplo, a seguinte consulta do Log Insights analisa o código de saída da configuração do host, classificado por hora:

```
fields @timestamp, @message, @logStream, @log
| filter @message like /Finished running Host Configuration Script/
| parse @message /exit code: (?<exit_code>\d+)/
| display @timestamp, exit_code
| sort @timestamp desc
```

Para obter mais informações sobre o CloudWatch Logs Insights, consulte [Análise de dados de log com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) no *Guia do usuário do Amazon CloudWatch Logs*.

##### Registro estruturado do agente de trabalho
<a name="smf-admin-structured-logging"></a>

O agente de trabalho do Deadline Cloud publica registros JSON estruturados no. CloudWatch O agente do trabalhador oferece uma ampla variedade de registros estruturados para analisar a saúde do trabalhador. Para obter mais informações, consulte [o login do agente Deadline Cloud Worker](https://github.com/aws-deadline/deadline-cloud-worker-agent/blob/mainline/docs/logging.md) GitHub.

Os atributos dos registros estruturados são descompactados em campos no Log Insights. Você pode usar esse CloudWatch recurso para contar e analisar as falhas de inicialização da configuração do host. Por exemplo, uma consulta de contagem e compartimento pode ser usada para determinar com que frequência as falhas ocorrem:

```
fields @timestamp, @message, @logStream, @log
| sort @timestamp desc
| filter message like /Worker Agent host configuration failed with exit code/
| stats count(*) by exit_code, bin(1h)
```

#### CloudWatch filtros métricos para métricas e alarmes
<a name="smf-admin-metric-filters"></a>

Você pode configurar filtros de CloudWatch métricas para gerar CloudWatch métricas a partir de registros. Os filtros métricos permitem criar alarmes e painéis para monitorar a execução do script de configuração do host.

**Para criar um filtro de métricas**

1. Abra o CloudWatch console.

1. No painel de navegação, escolha **Registros e, em seguida, **Grupos** de registros**.

1. Selecione o grupo de registros da sua frota.

1. Escolha **Criar filtro de métrica**.

1. Defina seu padrão de filtro usando uma das seguintes opções:
   + **Para métricas de sucesso:**

     ```
     {$.message = "*Worker Agent host configuration succeeded.*"}
     ```
   + **Para métricas de falha:**

     ```
     {$.exit_code != 0 && $.message = "*Worker Agent host configuration failed with exit code*"}
     ```

1. Escolha **Avançar** para criar uma métrica com os seguintes valores:
   + **Namespace métrico:** Seu namespace métrico (por exemplo,) **MyDeadlineFarm**
   + **Nome da métrica:** o nome da métrica solicitada (por exemplo,**host\_config\_failure**)
   + **Valor métrico:** **1** (cada instância é uma contagem de 1)
   + **Valor padrão:** Deixe em branco
   + **Unidade:** **Count**

Depois de criar filtros de métricas, você pode configurar CloudWatch alarmes padrão para agir em taxas elevadas de falha na configuração do host ou adicionar as métricas a um CloudWatch painel para day-to-day operações e monitoramento.

Para obter mais detalhes, consulte [Sintaxe de filtros e padrões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) no *Guia do usuário do Amazon CloudWatch Logs*.