

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de la CLI OpsWorks de Stacks Agent
<a name="troubleshoot-debug-cli"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

**nota**  
La CLI del agente solo está disponible en instancias Linux.

En cada instancia en línea, OpsWorks Stacks instala un agente que se comunica con el servicio. El servicio OpsWorks Stacks, a su vez, envía comandos al agente para que realice tareas como iniciar las ejecuciones de Chef en la instancia cuando se produce un evento del ciclo de vida. En instancias de Linux, el agente expone una interfaz de línea de comandos (CLI) que es muy útil para la resolución de problemas. Para ejecutar comandos de la CLI del agente, utilice [SSH para conectarse a una instancia](workinginstances-ssh.md). A continuación, se pueden ejecutar los comandos de la CLI del agente para realizar diversas tareas, entre las que se incluyen las siguientes: 
+ Ejecutar recetas
+ Mostrar los registros de Chef
+ Mostrar [el JSON de la implementación y la configuración de la pila](workingcookbook-json.md).

Para obtener más información acerca de cómo configurar una conexión de SSH a una instancia, consulte [Inicio de sesión con SSH](workinginstances-ssh.md). También debe contar con los [permisos SSH y sudo](opsworks-security-users.md) para la pila.

En esta sección se describe cómo utilizar la CLI del agente para la resolución de problemas. Para obtener más información y una referencia de comandos completa, consulte [OpsWorks CLI de Stacks Agent](agent.md).

**Topics**
+ [Ejecución de recetas](#troubleshoot-debug-cli-recipes)
+ [Mostrar los registros de Chef](#troubleshoot-debug-cli-log)
+ [Mostrar el archivo JSON de la implementación y la configuración de la pila](#troubleshoot-debug-cli-json)

## Ejecución de recetas
<a name="troubleshoot-debug-cli-recipes"></a>

El comando [`run_command`](agent-run.md) de la CLI del agente ordena al agente que vuelva a ejecutar un comando que ha ejecutado anteriormente. La mayoría de comandos útiles para la resolución de problemas (`setup`, `configure`, `deploy` y `undeploy`) se corresponde con un evento del ciclo de vida. Los comandos ordenan al agente que inicie una ejecución de Chef para ejecutar las recetas asociadas.

**nota**  
El comando `run_command` se limita a ejecutar el grupo de recetas que está asociado con un comando específico, normalmente son las recetas que están asociadas con un evento del ciclo de vida. No puede utilizarlo para ejecutar una receta determinada. Para ejecutar una o varias recetas específicas, utilice el [comando de pila Execute Recipes](workingstacks-commands.md) o las acciones de la CLI o la API equivalentes ([https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html) y [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html)).

El comando `run_command` es muy útil para la depuración de recetas personalizadas, especialmente recetas que se asignan a los eventos del ciclo de vida Setup y Configure, que no puede disparar directamente desde la consola. Al utilizar `run_command`, puede ejecutar las recetas de un evento determinado siempre que se necesiten sin tener que iniciar o finalizar instancias.

**nota**  
OpsWorks Stacks ejecuta las recetas desde la caché de libros de cocina de la instancia, no desde el repositorio de libros de cocina. OpsWorks Stacks descarga libros de cocina a esta caché cuando se inicia la instancia, pero no actualiza automáticamente la caché en las instancias en línea si posteriormente modificas tus libros de cocina. Si ha modificado sus libros de recetas después de iniciar la instancia, asegúrese de ejecutar el [comando de pila Update Cookbooks](workingstacks-commands.md) para actualizar la memoria caché del libro de recetas con la versión más reciente del repositorio.

El agente solo graba en caché los comandos más recientes. Puede enumerarlos ejecutando [`list_commands`](agent-list.md), que devuelve una lista de comandos almacenados en caché y el momento en que se han llevado a cabo.

```
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
```

Para volver a ejecutar el comando más reciente, ejecute lo siguiente:

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

Para volver a ejecutar la instancia más reciente de un comando especificado, ejecute lo siguiente:

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

Por ejemplo, para volver a ejecutar las recetas Setup, puede ejecutar el siguiente comando:

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

Cada comando tiene un [JSON de la implementación y la configuración de la pila](workingcookbook-json.md) asociado que representa el estado de la implementación y de la pila en el momento en que se ha ejecutado el comando. Dado que los datos pueden cambiar de un comando a otro, una instancia más antigua de un comando podría utilizar datos ligeramente distintos que los que utiliza la más reciente. Para volver a ejecutar una instancia determinada de un comando, copie la hora de la salida `list_commands` y ejecute los siguiente:

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

Todos los ejemplos anteriores vuelven a ejecutar el comando utilizando el JSON predeterminado, que es el JSON que se instaló para dicho comando. Puede volver a ejecutar un comando en un archivo JSON arbitrario de la siguiente manera:

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

## Mostrar los registros de Chef
<a name="troubleshoot-debug-cli-log"></a>

El comando [`show_log`](agent-show.md) de la CLI del agente muestra un registro específico. Una vez finalizado el comando, verá el final del archivo. El comando `show_log`, por tanto, proporciona una manera cómoda de consultar la cola del registro, que suele ser donde se encuentra la información de error. Puede desplazarse hacia arriba para ver las partes antiguas del registro.

Para visualizar el registro del comando actual, ejecute lo siguiente:

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

También puede mostrar los registros de un comando determinado, pero debe saber que el agente almacena en caché los registros de únicamente los últimos treinta comandos. Puede enumerar los comandos de la instancia ejecutando [`list_commands`](agent-list.md), que devuelve una lista de comandos almacenados en caché y la hora en que se llevaron a cabo. Para ver un ejemplo, consulta [Ejecución de recetas](#troubleshoot-debug-cli-recipes).

Para mostrar el registro de la ejecución más reciente de un determinado comando, ejecute lo siguiente:

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

El parámetro del comando puede fijarse en `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop` o `restart`. Muchos de estos comandos se corresponden con los eventos del ciclo de vida y ordenan al agente que ejecute las recetas asociadas.

Para visualizar el registro de una ejecución de comandos determinada, copie la fecha de la salida `list_commands` y ejecute:

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

Si un comando sigue ejecutándose, `show_log` mostrará el estado actual del registro.

**nota**  
Una forma de `show_log` solucionar errores y out-of-memory problemas es guardar un registro durante la ejecución, de la siguiente manera:  
Use `run_command` para disparar el evento del ciclo de vida adecuado. Para obtener más información, consulte [Ejecución de recetas](#troubleshoot-debug-cli-recipes).
Ejecute `show_log` varias veces para ver la cola del registro tal como se escribe.
Si Chef se queda sin memoria o se cierra de forma inesperada, el registro finalizará bruscamente. Si una receta da error, el registro finalizará con una excepción y un rastro de pila. 

## Mostrar el archivo JSON de la implementación y la configuración de la pila
<a name="troubleshoot-debug-cli-json"></a>

La mayor parte de los datos que utilizan las recetas proviene del [JSON de la implementación y la configuración de la pila](workingcookbook-json.md), que define un conjunto de atributos de Chef que proporcionan una descripción detallada de la configuración de la pila, las implementaciones y los atributos personalizados y opcionales que pueden añadir los usuarios. Para cada comando, OpsWorks Stacks instala un JSON que representa el estado de la pila y del despliegue en el momento del comando. Para obtener más información, consulte [Atributos de configuración e implementación de pilas](workingcookbook-json.md).

Si la receta personalizada obtiene datos del JSON de la configuración e implementación de la pila, puede verificar los datos examinando el JSON. La forma más sencilla de visualizar el JSON de configuración e implementación de la pila consiste en ejecutar el comando [`get_json`](agent-json.md) de la CLI del agente, que muestra una versión formateada del objeto JSON. A continuación se muestran las primeras líneas de algunas salidas típicas:

```
{
  "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"
...
```

Puede visualizar el JSON de configuración e implementación de la pila más reciente de la siguiente manera:

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

Puede visualizar el JSON de configuración e implementación de la pila más reciente para un comando especificado mediante la ejecución de lo siguiente:

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

El parámetro del comando puede fijarse en `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop` o `restart`. Muchos de estos comandos se corresponden con los eventos del ciclo de vida y ordenan al agente que ejecute las recetas asociadas.

Puede visualizar el JSON de configuración e implementación de la pila para una ejecución de comando determinada especificando la fecha del comando de la siguiente manera:

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

La forma más sencilla de utilizar este comando es la siguiente:

1. Ejecute `list_commands`, que devuelve una lista de comandos que se ha ejecutado en la instancia, y la fecha en que se ha ejecutado cada comando.

1. Copia la fecha del comando correspondiente y úsala como argumento. `get_json` *date*