Utilisation de l'interface de ligne de commande EB pour surveiller l'intégrité de l'environnement - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'interface de ligne de commande EB pour surveiller l'intégrité de l'environnement

L'interface de ligne de commande Elastic Beanstalk (EB CLI) est un outil de ligne de commande pour la gestion des environnements AWS Elastic Beanstalk. Vous pouvez également utiliser l'interface de ligne de commande EB pour surveiller l'intégrité de votre environnement en temps réel et avec davantage de granularité que celle qui est actuellement disponible dans la console Elastic Beanstalk.

Après avoir installé et configuré l'interface de ligne de commande EB, vous pouvez lancer un nouvel environnement et y déployer votre code avec la commande eb create. Si vous avez déjà un environnement que vous avez créé dans la console Elastic Beanstalk, vous pouvez y attacher l'interface de ligne de commande EB en exécutant eb init dans un dossier de projet et en suivant les invites (le dossier du projet peut être vide).

Important

Assurez-vous que vous utilisez la dernière version de l'interface de ligne de commande EB en exécutant pip install avec l'option --upgrade :

$ sudo pip install --upgrade awsebcli

Pour des instructions complètes d'installation de l'interface de ligne de commande EB, veuillez consulter Installation de l'interface de ligne de commande Elastic Beanstalk.

Pour utiliser l'interface de ligne de commande EB pour surveiller l'intégrité de votre environnement, vous devez tout d'abord configurer un dossier local du projet en exécutant eb init puis en suivant les invites. Pour obtenir des instructions complètes, veuillez consulter Configuration de l'interface de ligne de commande EB.

Si un environnement s'exécute déjà dans Elastic Beanstalk et que vous souhaitez utiliser l'interface de ligne de commande EB pour surveiller son état, procédez comme suit pour l'attacher à l'environnement existant.

Pour attacher l'interface de ligne de commande EB à un environnement existant
  1. Ouvrez une terminal de ligne de commande et accédez à votre dossier utilisateur.

  2. Créez et ouvrez un dossier pour votre environnement.

  3. Exécutez la commande eb init, puis choisissez l'application et l'environnement dont vous souhaitez analyser l'intégrité. Si un seul environnement exécute l'application que vous avez choisie, l'interface de ligne de commande EB le sélectionne automatiquement et vous n'avez pas à choisir l'environnement, comme illustré dans l'exemple suivant.

    ~/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
Pour surveillez l'intégrité en utilisant l'interface de ligne de commande EB
  1. Ouvrez une ligne de commande et accédez au dossier de votre projet.

  2. Exécutez la commande eb health pour afficher l'état d'intégrité des instances dans votre environnement. Dans cet exemple, il y a cinq instances en cours d'exécution dans un environnement 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

    Dans cet exemple, il y a une seule instance en cours d'exécution dans un environnement 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

Lecture du résultat

Le résultat affiche le nom de l'environnement, l'intégrité globale de l'environnement et la date actuelle en haut de l'écran.

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

Les trois lignes suivantes affichent le type d'environnement (« serveur web » dans le cas présent), la configuration (Ruby 2.1 avec Puma) et une répartition du nombre d'instances dans chacun des sept états.

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

Le reste du résultat est divisé en quatre sections. La première affiche l'état et la cause de l'état de l'environnement dans l'ensemble, puis pour chaque instance. L'exemple suivant montre deux instances de l'environnement avec un état Info et une cause indiquant qu'un déploiement a commencé.

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

Pour de plus amples informations sur les couleurs et les états d'intégrité, veuillez consulter Couleurs et états utilisés dans les rapports d'intégrité.

La section requests (demandes) affiche des informations à partir des journaux du serveur web sur chaque instance. Dans cet exemple, chaque instance accepte les demandes normalement et il n'y a pas d'erreurs.

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

La section cpu illustre les métriques du système d'exploitation pour chaque instance. La sortie diffère selon le système d'exploitation. Voici la sortie pour les environnements 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

Voici la sortie pour les environnements 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

Pour de plus amples informations sur les métriques du serveur et du système d'exploitation affichées, veuillez consulter Métriques des instances.

La section finale, deployments (déploiements), présente l'état de déploiement de chaque instance. En cas d'échec d'un déploiement propagé, vous pouvez utiliser l'ID, le statut et l'étiquette de version indiqués pour identifier les instances de votre environnement exécutant la mauvaise version.

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

Vue d'intégrité interactive

La commande eb health affiche un instantané de l'intégrité de votre environnement. Pour actualiser les informations affichées toutes les 10 secondes, utilisez l'option --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, ▼ ▲ ◄ ►)

Cet exemple illustre un environnement qui a récemment été monté en puissance d'une à cinq instances. L'opération de mise à l'échelle a abouti, et toutes les instances transmettent maintenant des vérifications de l'état et sont prêtes à prendre des demandes. En mode interactif, l'état d'intégrité est mis à jour toutes les 10 secondes. Dans l'angle supérieur droit, un minuteur assure le décompte jusqu'à la prochaine mise à jour.

Dans l'angle inférieur gauche, le rapport affiche une liste d'options. Pour quitter le mode interactif, appuyez sur Q. Pour faire défiler, appuyez sur les flèches. Pour afficher une liste de commandes supplémentaires, appuyez sur H.

Options d'affichage d'intégrité interactif

Lors de l'affichage d'intégrité de l'environnement de manière interactive, vous pouvez utiliser les touches du clavier pour ajuster la vue et dire à Elastic Beanstalk de remplacer ou de redémarrer des instances individuelles. Pour afficher la liste des commandes disponibles lors de la consultation du rapport d'intégrité en mode interactif, appuyez sur 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)