BLOG | NGINX

Trouvez et corrigez les problèmes de point de terminaison d'API avec le module certifié NGINX Plus d'Akita

NGINX-Partie-de-F5-horiz-black-type-RGB
Vignette de Mark Gritter
Marc Gritter
Publié le 31 mai 2023

Si vous êtes responsable d'un service de production avec un certain nombre d'utilisateurs, vous comprenez probablement la difficulté que rencontrent les clients qui découvrent des problèmes avant vous. Chez Akita, nous voulons résoudre ce problème – c'est pourquoi nous avons créé notre nouveau module certifié NGINX Plus .

Dans ce blog, nous aborderons les aspects clés du module, notamment la raison pour laquelle il faut effectuer un zoom arrière sur les journaux, les moyens de trouver et de résoudre rapidement les problèmes sur votre système et la manière dont le nouveau module Akita rend cette fonctionnalité facilement accessible aux utilisateurs de NGINX.

Zoom arrière des journaux vers les points de terminaison de l'API

Aujourd’hui, d’innombrables développeurs se retrouvent dans une situation malheureuse où leurs clients sont devenus leur système de surveillance.

Ce n’est pas que les équipes de développement de logiciels n’enregistrent pas les erreurs. Par exemple, si vous utilisez NGINX comme proxy inverse, vous recevez toutes sortes d'informations dans vos journaux NGINX : horodatages, longueurs de requêtes et temps de traitement, et code d'état de réponse. Si vous avez le temps et la patience de chercher, l’information est là.

Cependant, dans les systèmes comportant de nombreuses requêtes et réponses différentes, il est facile de se perdre dans la mer de journaux ! À moins que vous n’ayez configuré de manière proactive des tableaux de bord ou un autre type d’outil au-dessus des journaux, vous risquez de vous retrouver à parcourir des milliers, voire des millions, de lignes de journaux, en essayant d’identifier les problèmes potentiels et leur origine. Mais la mise en place de tableaux de bord et de méthodes de surveillance appropriés peut prendre des semaines, des mois, voire des trimestres. Et il doit souvent être mis à jour en même temps que le code.

Chez Akita, nous pensons qu’il est essentiel de passer des journaux aux points de terminaison des API. Cela permet aux équipes logicielles d’avoir rapidement un aperçu des problèmes et des points chauds tout en conservant la granularité nécessaire pour identifier réellement le problème. Nous résolvons le problème de la surcharge d’informations dans la surveillance grâce à une solution de mesures entièrement intégrée qui surveille automatiquement les mesures de latence et les erreurs – aucune modification de code ni création de tableaux de bord n’est nécessaire. Notre solution surveille passivement le trafic API et l'analyse automatiquement pour fournir une surveillance et des alertes par point de terminaison. Le meilleur de tout : Les utilisateurs peuvent commencer dans les 15 minutes suivant leur inscription.

Présentation du module certifié NGINX Plus d'Akita

Nous sommes ravis de vous présenter le module Akita, désormais disponible pour les utilisateurs de NGINX . Si vous utilisez NGINX comme serveur application Web, proxy inverse ou passerelle API, vous pouvez désormais envoyer votre trafic API à Akita pour analyse. Créez un compte Akita gratuit , installez le module et l'agent Akita et apportez une petite modification à votre fichier de configuration NGINX.

En quelques minutes, vous pourrez accéder à la console Akita pour voir vos points de terminaison d’API, ce qui agit lentement et ce qui génère des erreurs.

Présentation de la console Akita

Le module certifié NGINX Plus d’Akita offre aux utilisateurs de NGINX les nombreux avantages d’Akita en tant qu’extension de votre configuration NGINX existante. Akita capturera votre trafic à partir d'une requête HTTP et mesurera sa latence et ses erreurs tout en vous montrant ce qui se passe en production avec des tableaux de bord prédéfinis.

Comment fonctionne le module certifié NGINX Plus d'Akita

Plongeons dans les fonctionnalités du module et où il entre en jeu. Tout d’abord, les requêtes sont traitées par NGINX en plusieurs « phases », en commençant par la lecture de la requête sur le réseau, en passant par les réécritures et les contrôles d’accès, et en terminant par la génération de la réponse et des entrées de journal. Le module certifié NGINX Plus d'Akita s'insère tard dans ce processus (dans la phase de pré-contenu , après des fonctionnalités telles que la réécriture de l'en-tête) afin de pouvoir voir la demande sous la forme la plus similaire à celle que reçoit l' application . Akita vérifie chaque demande entrante pour voir si elle est signalée pour surveillance, en fonction du serveur et de l'emplacement dans la configuration NGINX.

Note : Tout comme les autres fonctionnalités et modules NGINX, vous pouvez activer Akita pour une partie seulement de votre service Web ou le définir par défaut sur tout ce que NGINX sert.

Dans la phase suivante, le module enregistre le corps de la demande et l'envoie à l'agent Akita dès que la demande a été entièrement reçue. Ce comportement est similaire au module ngx_http_mirror, car les mêmes données sont transmises à la fois à l' application et à l'agent Akita en parallèle.

Lorsque NGINX ou un serveur en amont dispose d'une réponse prête, le module Akita enregistre cette réponse (jusqu'à 1 Mo) pendant qu'elle la renvoie au client. La réponse n’est pas retardée par cette mise en mémoire tampon, qui a lieu dans un « filtre de contenu » NGINX qui peut traiter chaque morceau du corps de la réponse dès qu’il est disponible.

Une fois le temps de réponse du serveur connu et la réponse réussie, cette réponse est ensuite reflétée sur l'agent Akita. L'agent associe la demande et la réponse, puis tente d'analyser le contenu du corps de la demande et de la réponse. Ces données sont obscurcies localement par l'agent avant d'être envoyées à Akita pour analyse. Cela signifie qu'Akita voit la structure de votre trafic API mais pas les valeurs spécifiques envoyées par ou à vos utilisateurs.

Le module certifié NGINX Plus d'Akita déduit automatiquement vos points de terminaison à partir de cette trace de trafic application , créant un modèle consultable et téléchargeable de votre API et affichant automatiquement les informations de latence et d'erreur. Il vous permet d'alerter sur le taux d'erreurs par point de terminaison, la latence élevée pour un point de terminaison spécifique ou même un volume d'appels inattendu.

Pour chaque point de terminaison, le module certifié NGINX Plus d'Akita vous permet de voir :

  • Le nombre d'appels API
  • Distribution du code de réponse HTTP
  • Combien de temps a-t-il fallu à votre serveur pour répondre

Vous trouverez plus d'informations sur la configuration du module certifié NGINX Plus d'Akita ici .

Commencez avec le module certifié NGINX Plus d'Akita

Akita est actuellement en version bêta ouverte. Vous pouvez vous inscrire à la version bêta et obtenir des résultats en moins de 30 minutes.


« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."