

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo della CLI OpsWorks di Stacks Agent
<a name="troubleshoot-debug-cli"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
La CLI dell'agente è disponibile solo per le istanze Linux.

Su ogni istanza online, OpsWorks Stacks installa un agente che comunica con il servizio. Il servizio OpsWorks Stacks a sua volta invia comandi all'agente per eseguire attività come l'avvio di Chef sull'istanza quando si verifica un evento del ciclo di vita. Sulle istanze Linux, l'agente espone un'interfaccia a riga di comando (CLI) che è molto utile per la risoluzione dei problemi. Per eseguire un comando della CLI dell'agente, utilizza [SSH per connetterti a un'istanza](workinginstances-ssh.md). Puoi quindi eseguire il comando della CLI dell'agente per eseguire un'ampia gamma di attività, tra cui le seguenti: 
+ Eseguire ricette.
+ Visualizzare i log di Chef.
+ Visualizzare [JSON di configurazione e distribuzione dello stack](workingcookbook-json.md).

Per ulteriori informazioni su come impostare una connessione SSH per un'istanza, consulta [Accesso con SSH](workinginstances-ssh.md). Inoltre, devi disporre delle [autorizzazioni SSH e di quelle sudo](opsworks-security-users.md) per lo stack.

Questa sezione descrive come utilizzare la CLI dell'agente per la risoluzione dei problemi. Per ulteriori informazioni e per un riferimento del comando completo, consulta [OpsWorks CLI di Stacks Agent](agent.md).

**Topics**
+ [Esecuzione di ricette](#troubleshoot-debug-cli-recipes)
+ [Visualizzazione dei log di Chef](#troubleshoot-debug-cli-log)
+ [Visualizzazione del JSON di configurazione e distribuzione dello stack.](#troubleshoot-debug-cli-json)

## Esecuzione di ricette
<a name="troubleshoot-debug-cli-recipes"></a>

Il comando [`run_command`](agent-run.md) della CLI dell'agente indica all'agente di rieseguire un comando lanciato in precedenza. I comandi più utili per la risoluzione dei problemi, `setup`, `configure`, `deploy` e `undeploy` corrispondono ognuno a un evento del ciclo di vita. Questi comandi indicano all'agente di inizializzare l'esecuzione di Chef per eseguire le ricette associate.

**Nota**  
Il comando `run_command` è limitato all'esecuzione del gruppo di ricette associato a un comando specificato, di solito le ricette associate a un evento del ciclo di vita. Non puoi utilizzarlo per eseguire una determinata ricetta. Per eseguire una o più ricette specifiche, utilizza il [comando dello stack Execute Recipes](workingstacks-commands.md) o operazioni API o CLI equivalenti ([https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html) e [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html)).

Il comando `run_command` è molto utile per il debugging di ricette personalizzate, soprattutto le ricette assegnate agli eventi del ciclo di vita Configura e Imposta, che non possono essere attivati direttamente dalla console. Utilizzando il comando `run_command`, puoi eseguire quando vuoi una ricetta di un determinato evento, affinché non sia necessario avviare o interrompere le istanze.

**Nota**  
OpsWorks Stacks esegue le ricette dalla cache dei libri di cucina dell'istanza, non dall'archivio dei libri di cucina. OpsWorks Stacks scarica i libri di cucina in questa cache all'avvio dell'istanza, ma non aggiorna automaticamente la cache sulle istanze online se successivamente modifichi i tuoi libri di cucina. Se hai modificato i tuoi libri di cucina all'avvio dell'istanza, assicurati di eseguire il comando dello stack relativo all'[aggiornamento dei libri di ricette](workingstacks-commands.md), per aggiornare la cache del libro di ricette alla versione più recente dell'archivio.

L'agente memorizza nella cache solo i comandi più recenti. Puoi elencarli tramite l'esecuzione del comando [`list_commands`](agent-list.md), che restituisce un elenco di comandi memorizzati nella cache e il momento in cui sono stati eseguiti.

```
sudo opsworks-agent-cli list_commands
2013-02-26T19:08:26        setup
2013-02-26T19:12:01        configure
2013-02-26T19:12:05        configure
2013-02-26T19:22:12        deploy
```

Per eseguire nuovamente il comando più recente, eseguire questa operazione:

```
sudo opsworks-agent-cli run_command
```

Per rieseguire l'istanza più recente di un comando specificato, eseguire questa operazione:

```
sudo opsworks-agent-cli run_command command
```

Ad esempio, per rieseguire le ricette Installazione, puoi eseguire il comando seguente:

```
sudo opsworks-agent-cli run_command setup
```

Ogni comando possiede un [JSON di configurazione e distribuzione dello stack](workingcookbook-json.md) che rappresenta lo stato dello stack e della distribuzione al momento dell'esecuzione del comando. Dal momento che i dati possono cambiare tra un comando e il successivo, una vecchia istanza di un comando potrebbe impiegare dei dati differente rispetto a quelli più recenti. Per rieseguire una determinata istanza di un comando, copia il tempo dall'output `list_commands` ed esegui l'operazione seguente:

```
sudo opsworks-agent-cli run_command time
```

I precedenti esempi rieseguono tutti il comando utilizzando il JSON predefinito, che è il JSON installato per quel comando. Puoi eseguire nuovamente un comando contro un file JSON arbitrario eseguendo l'operazione illustrata di seguito:

```
sudo opsworks-agent-cli run_command -f /path/to/valid/json.file
```

## Visualizzazione dei log di Chef
<a name="troubleshoot-debug-cli-log"></a>

Il commando [`show_log`](agent-show.md) della CLI dell'agente mostra un log specifico. Al termine del comando, lo vedrai alla fine del file. Il comando `show_log` pertanto offre un modo conveniente per accodare il log, che in genere è la posizione delle informazioni di errore. Puoi scorrere fino a visualizzare le parti precedenti del log.

Per visualizzare il log del comando corrente, eseguire questa operazione:

```
sudo opsworks-agent-cli show_log
```

Puoi anche visualizzare i log per un determinato comando, ma i log vengono memorizzati nella cache dell'agente solo per gli ultimi trenta comandi. Puoi elencare i comandi di un'istanza eseguendo [`list_commands`](agent-list.md), che restituisce un elenco dei comandi memorizzati nella cache e il tempo impiegato per eseguirli. Per vedere un esempio, consulta [Esecuzione di ricette](#troubleshoot-debug-cli-recipes).

Per visualizzare il log per la più recente l'esecuzione di un determinato comando, eseguire l'operazione seguente:

```
sudo opsworks-agent-cli show_log command
```

Il parametro del comando può essere impostato su `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop`, o `restart`. La maggior parte di questi comandi corrispondono agli eventi del ciclo di vita e indirizzano l'agente per eseguire le ricette associate.

Per visualizzare il log di un determinato comando di esecuzione, copia la data dall'output `list_commands` ed esegui:

```
sudo opsworks-agent-cli show_log date
```

Se un comando è ancora in esecuzione, `show_log` mostrerà lo stato attuale del log.

**Nota**  
Un modo per `show_log` risolvere errori e out-of-memory problemi consiste nel tracciare un registro durante l'esecuzione, nel modo seguente:  
Utilizza il comando `run_command` per attivare l'evento del ciclo di vita appropriato. Per ulteriori informazioni, consulta [Esecuzione di ricette](#troubleshoot-debug-cli-recipes).
Esegui ripetutamente `show_log` per visualizzare la coda del log nel momento in cui viene scritta.
Se Chef termina la memoria o esce inaspettatamente, il log terminerà bruscamente. Se una ricetta ha esito negativo, il log terminerà con un'eccezione e una traccia dello stack. 

## Visualizzazione del JSON di configurazione e distribuzione dello stack.
<a name="troubleshoot-debug-cli-json"></a>

La maggior parte dei dati utilizzati dalle ricette provengono dal [JSON di configurazione e distribuzione dello stack](workingcookbook-json.md). Questo definisce una serie di attributi di Chef che forniscono una descrizione dettagliata della configurazione dello stack, di tutte le distribuzioni e degli attributi opzionali che può aggiungere un utente. Per ogni comando, OpsWorks Stacks installa un JSON che rappresenta lo stack e lo stato di distribuzione al momento del comando. Per ulteriori informazioni, consulta [Attributi di configurazione e distribuzione dello stack](workingcookbook-json.md).

Se le tue ricette personalizzate ottengono i dati dalla configurazione dello stack e dalla distribuzione JSON, puoi verificare i dati esaminando il JSON. Il modo più semplice per visualizzare il JSON di configurazione e distribuzione dello stack è di eseguire il comando [`get_json`](agent-json.md) della CLI dell'agente, che consente di visualizzare una versione formattata dell'oggetto JSON. Il seguente esempio mostra le prime righe di alcuni output tipici:

```
{
  "opsworks": {
    "layers": {
      "php-app": {
        "id": "4a2a56c8-f909-4b39-81f8-556536d20648",
        "instances": {
          "php-app2": {
            "elastic_ip": null,
            "region": "us-west-2",
            "booted_at": "2013-02-26T20:41:10+00:00",
            "ip": "10.112.235.192",
            "aws_instance_id": "i-34037f06",
            "availability_zone": "us-west-2a",
            "instance_type": "c1.medium",
            "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal",
            "private_ip": "10.252.0.203",
            "created_at": "2013-02-26T20:39:39+00:00",
            "status": "online",
            "backends": 8,
            "public_dns_name": "ec2-10-112-235-192.us-west-2.compute.amazonaws.com"
...
```

Puoi visualizzare la configurazione dello stack più recente e la distribuzione JSON come segue:

```
sudo opsworks-agent-cli get_json
```

Puoi visualizzare la configurazione più recente e la distribuzione JSON per un comando specificato eseguendo la seguente operazione:

```
sudo opsworks-agent-cli get_json command
```

Il parametro del comando può essere impostato su `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop`, o `restart`. La maggior parte di questi comandi corrispondono agli eventi del ciclo di vita e indirizzano l'agente per eseguire le ricette associate.

Puoi visualizzare la configurazione dello stack e la distribuzione JSON per l'esecuzione di un determinato comando, specificando la data del comando come nell'esempio che segue:

```
sudo opsworks-agent-cli get_json date
```

Il modo più semplice per l'utilizzo di questo comando è il seguente:

1. Esegui `list_commands`, che restituisce un elenco di comandi che sono stati eseguiti sull'istanza e la data che stava eseguendo ogni comando.

1. Copia la data del comando appropriato e usala come argomento. `get_json` *date*