Avant de lire cet article, vous devez déployer un environnement Jaeger, comme suit :
Protocole OpenTracing
OpenTracing est un protocole de suivi distribué indépendant de la plateforme ou du langage, avec une interface unifiée, pratique pour le développement et l’accès à différents systèmes de suivi distribués.Zipkin et Jaeger suivent tous deux le protocole OpenTracing。
Jaeger système de suivi distribué
Jaeger est un système de suivi distribué développé par Uber, déjà utilisé à grande échelle chez Uber. Et a rejoint l’organisation open source CNCF le 13 septembre 2017. Avec Jaeger, on peut visualiser la chaîne d’appels de l’ensemble du système distribué, ce qui permet d’identifier et de résoudre facilement les problèmes :
fonction
- Diffusion de l’information dans un environnement distribué
- Surveillance distribuée des transactions
- Démontre les chaînes d’appels inter-processus
- Optimisation des performances
- Localiser le problème
caractéristique
- L’avantage d’utiliser UDP pour transmettre des données par rapport à HTTP est que vous n’avez pas à vous soucier des interruptions du service Jaeger ou des problèmes de transmission réseau qui affectent les activités normales. L’inconvénient est la perte de paquets, qui affecte toute la chaîne d’appels.
- Les données sont sérialisées via Thrift ou protobuf (transmission gRPC), qui est la norme par défaut : Thrift.
Stratégie de recouvrement
- ConstSampler, collection complète
- ProbabilisticSampler, collecte de probabilités, par défaut à 1 sur 10 000
- RateLimitingSampler est une acquisition limitant le débit qui ne peut collecter qu’une certaine quantité de données par seconde
- RemotelyControlledSampler est une stratégie de collecte dynamique qui ajuste la stratégie de collecte en fonction du nombre de visites dans le système actuel
ASP.NET Core est connecté au traçage de liens Jaeger
Le projet est un framework pour .NET Core 3.1, et Nuget installe les paquets suivants :
Parmi eux, OpenTracing.Contrib.NetCore fournit l’outil OpenTracing pour les applications basées sur .NET Core, qui n’est qu’une extension, et la principale surveillance est la suivante :
- ASP.NET Core
- Structure d’entité Core
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
Dans le fichier de démarrage, la méthode ConfigureServices est configurée comme suit :
Appeler ITracer sur les journaux de contrôleurs HomeController et le code chronophage est le suivant :
Lancez le site web, visitez la page /Home/Index, puis consultez le lien via l’interface Jaeger en ligne pour visiter :http://127.0.0.1:16686/, vous pouvez rechercher des nombres premiers par tags, comme montré dans la figure ci-dessous :
http.url=http ://localhost :27138/ Comme montré ci-dessous :
Téléchargement du code source :
Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaît Répondre
Ressources:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
|