Uso de la CLI de EB para monitorear el estado del entorno - AWS Elastic Beanstalk

Uso de la CLI de EB para monitorear el estado del entorno

La interfaz de línea de comandos de Elastic Beanstalk (CLI de EB) es una herramienta de línea de comandos que puede utilizar para crear, configurar y administrar entornos de AWS Elastic Beanstalk. También puede utilizar la CLI de EB para monitorizar el estado del entorno en tiempo real y con más detalle que lo que permite actualmente la consola de Elastic Beanstalk.

Después de instalar y configurar la CLI de EB, puede lanzar un nuevo entorno e implementar el código en él con el comando eb create. Si ya tiene un entorno creado en la consola de Elastic Beanstalk, puede asociarlo a la CLI de EB ejecutando eb init en una carpeta del proyecto y siguiendo después las instrucciones (la carpeta del proyecto puede estar vacía).

importante

Asegúrese de que está utilizando la última versión de la CLI de EB ejecutando pip install con la opción --upgrade:

$ sudo pip install --upgrade awsebcli

Para obtener instrucciones sobre la instalación de la CLI de EB, consulte Instalación de la CLI de EB.

Si desea utilizar la CLI de EB para monitorear el estado del entorno, primero debe configurar una carpeta de proyecto local ejecutando eb init y siguiendo las instrucciones. Para obtener instrucciones completas, consulte Configuración de la CLI de EB.

Si ya tiene un entorno que se ejecuta en Elastic Beanstalk y desea utilizar la CLI de EB para monitorizar su estado, siga estos pasos para adjuntarlo al entorno existente.

Para adjuntar la CLI de EB a un entorno existente

  1. Abra un terminal de línea de comando y desplácese hasta la carpeta del usuario.

  2. Cree y abra una nueva carpeta en el entorno.

  3. Ejecute el comando eb init y seleccione la aplicación y el entorno cuyo estado desea monitorear. Si solo hay un entorno que ejecute la aplicación seleccionada, la CLI de EB lo seleccionará automáticamente y no será necesario que lo elija usted, tal y como se muestra en el ejemplo siguiente.

    ~/project$ eb init Select an application to use 1) elastic-beanstalk-example 2) [ Create new Application ] (default is 2): 1 Select the default environment. You can change this later by typing "eb use [environment_name]". 1) elasticBeanstalkEx2-env 2) elasticBeanstalkExa-env (default is 1): 1

Para monitorear el estado a través de la CLI de EB

  1. Abra una línea de comando y desplácese hasta la carpeta del proyecto.

  2. Ejecute el comando eb health para mostrar el estado de las instancias del entorno. En este ejemplo, existen cinco instancias que se ejecutan en un entorno de Linux.

    ~/project $ eb health elasticBeanstalkExa-env Ok 2015-07-08 23:13:20 WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0 instance-id status cause health Overall Ok i-d581497d Ok i-d481497c Ok i-136e00c0 Ok i-126e00c1 Ok i-8b2cf575 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 671.8 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-d581497d 143.0 1430 0 0 0 0.003 0.002 0.001 0.001 0.000 i-d481497c 128.8 1288 0 0 0 0.003 0.002 0.001 0.001 0.000 i-136e00c0 125.4 1254 0 0 0 0.004 0.002 0.001 0.001 0.000 i-126e00c1 133.4 1334 0 0 0 0.003 0.002 0.001 0.001 0.000 i-8b2cf575 141.2 1412 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-d581497d t2.micro 1a 12 mins 0.0 0.04 6.2 0.0 1.0 92.5 0.1 i-d481497c t2.micro 1a 12 mins 0.01 0.09 5.9 0.0 1.6 92.4 0.1 i-136e00c0 t2.micro 1b 12 mins 0.15 0.07 5.5 0.0 0.9 93.2 0.0 i-126e00c1 t2.micro 1b 12 mins 0.17 0.14 5.7 0.0 1.4 92.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.19 0.08 6.5 0.0 1.2 92.1 0.1 instance-id status id version ago deployments i-d581497d Deployed 1 Sample Application 12 mins i-d481497c Deployed 1 Sample Application 12 mins i-136e00c0 Deployed 1 Sample Application 12 mins i-126e00c1 Deployed 1 Sample Application 12 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

    En este ejemplo, hay una sola instancia que se ejecuta en un entorno de Windows.

    ~/project $ eb health WindowsSampleApp-env Ok 2018-05-22 17:33:19 WebServer IIS 10.0 running on 64bit Windows Server 2016/2.2.0 total ok warning degraded severe info pending unknown 1 1 0 0 0 0 0 0 instance-id status cause health Overall Ok i-065716fba0e08a351 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 13.7 100.0 0.0 0.0 0.0 1.403 0.970 0.710 0.413 0.079 i-065716fba0e08a351 2.4 100.0 0.0 0.0 0.0 1.102* 0.865 0.601 0.413 0.091 instance-id type az running % user time % privileged time % idle time cpu i-065716fba0e08a351 t2.large 1b 4 hours 0.2 0.1 99.7 instance-id status id version ago deployments i-065716fba0e08a351 Deployed 2 Sample Application 4 hours

Descripción de la salida

En la salida, en la parte superior de la pantalla, se muestra el nombre del entorno, el estado general del entorno y la fecha actual.

elasticBeanstalkExa-env Ok 2015-07-08 23:13:20

En las tres líneas siguientes, se indica el tipo de entorno ("WebServer" en este caso), la configuración (Ruby 2.1 con Puma) y un desglose del número de instancias que tienen cada uno de los siete estados.

WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0

El resto de la salida está dividida en cuatro secciones. En la primera, el valor de status indica el estado, mientras que el valor de cause indica la causa del estado del entorno en su conjunto y de cada instancia. En el ejemplo siguiente, se muestran dos instancias del entorno con el estado Info y una causa que indica que se ha iniciado una implementación.

instance-id status cause health Overall Ok i-d581497d Info Performing application deployment (running for 3 seconds) i-d481497c Info Performing application deployment (running for 3 seconds) i-136e00c0 Ok i-126e00c1 Ok i-8b2cf575 Ok

Para obtener más información sobre los estados y los colores, consulte Colores y estados.

En la sección requests, se muestra información de los logs de los servidores web de cada instancia. En este ejemplo, cada instancia está atendiendo normalmente las solicitudes y no hay errores.

instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 13.7 100.0 0.0 0.0 0.0 1.403 0.970 0.710 0.413 0.079 i-d581497d 2.4 100.0 0.0 0.0 0.0 1.102* 0.865 0.601 0.413 0.091 i-d481497c 2.7 100.0 0.0 0.0 0.0 0.842* 0.788 0.480 0.305 0.062 i-136e00c0 4.1 100.0 0.0 0.0 0.0 1.520* 1.088 0.883 0.524 0.104 i-126e00c1 2.2 100.0 0.0 0.0 0.0 1.334* 0.791 0.760 0.344 0.197 i-8b2cf575 2.3 100.0 0.0 0.0 0.0 1.162* 0.867 0.698 0.477 0.076

En la sección cpu, se muestran las métricas del sistema operativo de cada instancia. La salida difiere según el sistema operativo. A continuación, se muestra la salida para entornos Linux.

instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-d581497d t2.micro 1a 12 mins 0.0 0.03 0.2 0.0 0.0 99.7 0.1 i-d481497c t2.micro 1a 12 mins 0.0 0.03 0.3 0.0 0.0 99.7 0.0 i-136e00c0 t2.micro 1b 12 mins 0.0 0.04 0.1 0.0 0.0 99.9 0.0 i-126e00c1 t2.micro 1b 12 mins 0.01 0.04 0.2 0.0 0.0 99.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.0 0.01 0.2 0.0 0.1 99.6 0.1

Esta es la salida para entornos Windows.

instance-id type az running % user time % privileged time % idle time i-065716fba0e08a351 t2.large 1b 4 hours 0.2 0.0 99.8

Para obtener más información sobre las métricas del servidor y del sistema operativo mostradas, consulte Métricas de la instancia.

En la última sección, deployments, se muestra el estado de implementación de cada instancia. Si se produce un error en una implementación continua, puede utilizar el ID de implementación, el estado y la etiqueta de versión para identificar las instancias del entorno que están ejecutando la versión incorrecta.

instance-id status id version ago deployments i-d581497d Deployed 1 Sample Application 12 mins i-d481497c Deployed 1 Sample Application 12 mins i-136e00c0 Deployed 1 Sample Application 12 mins i-126e00c1 Deployed 1 Sample Application 12 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

Vista de estado interactiva

El comando eb health muestra una instantánea del estado del entorno. Para actualizar la información que aparece cada 10 segundos, utilice la opción --refresh.

$ eb health --refresh elasticBeanstalkExa-env Ok 2015-07-09 22:10:04 (1 secs) WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0 instance-id status cause health Overall Ok i-bb65c145 Ok Application deployment completed 35 seconds ago and took 26 seconds i-ba65c144 Ok Application deployment completed 17 seconds ago and took 25 seconds i-f6a2d525 Ok Application deployment completed 53 seconds ago and took 26 seconds i-e8a2d53b Ok Application deployment completed 32 seconds ago and took 31 seconds i-e81cca40 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 671.8 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-bb65c145 143.0 1430 0 0 0 0.003 0.002 0.001 0.001 0.000 i-ba65c144 128.8 1288 0 0 0 0.003 0.002 0.001 0.001 0.000 i-f6a2d525 125.4 1254 0 0 0 0.004 0.002 0.001 0.001 0.000 i-e8a2d53b 133.4 1334 0 0 0 0.003 0.002 0.001 0.001 0.000 i-e81cca40 141.2 1412 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-bb65c145 t2.micro 1a 12 mins 0.0 0.03 0.2 0.0 0.0 99.7 0.1 i-ba65c144 t2.micro 1a 12 mins 0.0 0.03 0.3 0.0 0.0 99.7 0.0 i-f6a2d525 t2.micro 1b 12 mins 0.0 0.04 0.1 0.0 0.0 99.9 0.0 i-e8a2d53b t2.micro 1b 12 mins 0.01 0.04 0.2 0.0 0.0 99.7 0.1 i-e81cca40 t2.micro 1c 1 hour 0.0 0.01 0.2 0.0 0.1 99.6 0.1 instance-id status id version ago deployments i-bb65c145 Deployed 1 Sample Application 12 mins i-ba65c144 Deployed 1 Sample Application 12 mins i-f6a2d525 Deployed 1 Sample Application 12 mins i-e8a2d53b Deployed 1 Sample Application 12 mins i-e81cca40 Deployed 1 Sample Application 1 hour (Commands: Help,Quit, ▼ ▲ ◄ ►)

En este ejemplo, se muestra un entorno que recientemente se ha escalado verticalmente de una a cinco instancias. La operación de escalado se hizo correctamente y todas las instancias están superando las comprobaciones de estado y están listas para atender solicitudes. En el modo interactivo, la información de estado se actualiza cada 10 segundos. En la esquina superior derecha, aparece un temporizador con la cuenta atrás hasta la siguiente actualización.

En la esquina inferior izquierda, aparece una lista de opciones. Para salir del modo interactivo, pulse Q. Para desplazarse, pulse las teclas de flecha. Para ver una lista de comandos adicionales, pulse H.

Opciones de la vista de estado interactiva

Si utiliza la vista interactiva con el estado del entorno, puede utilizar las teclas del teclado para ajustar la vista e indicarle a Elastic Beanstalk que reemplace o reinicie determinada instancias. Para ver una lista de los comandos disponibles mientras consulta el informe de estado en modo interactivo, pulse H.

up,down,home,end Scroll vertically left,right Scroll horizontally F Freeze/unfreeze data X Replace instance B Reboot instance <,> Move sort column left/right -,+ Sort order descending/ascending P Save health snapshot data file Z Toggle color/mono mode Q Quit this program Views 1 All tables/split view 2 Status Table 3 Request Summary Table 4 CPU%/Load Table H This help menu (press Q or ESC to return)