Pratique de suivi des liens basée sur le langage Go

Pratique de suivi des liens basée sur le langage Go

Observabilité des programmes et Télémétrie
Architecture client OpenTelemetry et
Solution globale de flux de données du système Trace écologique
Une pratique de traçage de liens basée sur le langage Go

Complexité du système distribué

Le problème est difficile à localiser

La réponse est très lente, comment dépanner ?

Le problème de positionnement est lent

Kibana afficher les journaux de journaux

Métriques de vue Grafana

Mettre en place un système de traçabilité, avec une durée kanban de la chaîne d'appel

Trace verrouille rapidement la plage de défauts

Observabilité et traçage du programme

Journalisation : informations de journal discrètes

Métriques : métriques agrégées

Traçage : suivi des liens au niveau de la demande

Le contexte historique de la naissance d'OpenTracing

Difficultés rencontrées par OpenTracing

Le journal Trace Metric standard doit apporter le contexte de l'application, et le plus important est d'apporter le traceid

OpenTracing est un ensemble de spécifications théoriques

La naissance d'OpenTelemetry

Ce que OpenTelemetry veut résoudre, c'est l'unité observable

OpenTelemetry une norme unifiée neutre

Fournir un protocole et des composants sécurisés et indépendants du fournisseur pour former un pipeline permettant d'envoyer des données à différents backends

L'écologie globale d'OpenTelemetry

Définition de trace dans OpenTelemetry

L'unité de base de Trace dans OpenTelemetry

Portées portée

SDK OpenTelemetry et injection automatique

Outils prêts à l'emploi d'OpenTelemetry

Le document officiel fournit comment accéder, plus détaillé

Outils de traçage jaeger, skywalking

Déployer le labbe

Initialiser Tracer, en utilisant Jaeger comme backend

interface

base de données

client

Enterré

Enterré dans le code

Système d'observabilité full-link cloud natif

Le module de collecte de données réalise l'agent pour collecter des informations de lien,
Le module d'analyse de liens réalise la topologie visualisée qui complète automatiquement les appels de service, et le module de gestion réalise les fonctions d'autorité de panneau et d'autorité de source de données
Exigences de l'outil de lien
conception architecturale
app<-link agent sidecar->link collection module->ES-> conteneur link analysis module->web ui display
application de pod d'espace de noms kubernetes 
kubernete-> cache 30MIN -> module d'analyse de lien de conteneur
À l'intérieur du pod : application + agent de liaison side-car
Module d'acquisition de lien
java agent proxy bytecode injection interception d'appel et collecte de données
La sonde Java Agent implémente l'interception d'appels et la collecte de données via l'injection de bytecode , et peut réaliser une véritable non-intrusion de code. Il vous suffit d'ajouter quelques paramètres lors du démarrage du serveur pour terminer le déploiement de la sonde
données stockées dans es
Module d'analyse des liens conteneurs
à l'affichage de l'interface utilisateur Web
processus
paas->cache->project podid->promethues<-exporter->es
contenu:
Suivi et liaison de la collecte et de l'affichage des informations.
Surveillance des performances : regroupez les indicateurs de surveillance des performances des applications et affichez l'état de fonctionnement actuel du système d'application dans plusieurs dimensions.
Affichage de la topologie des relations d'appel entre les applications.
Topologie des applications : visualisation des séries d'applications, visualisation des états anormaux et localisation rapide des services anormaux.
Analyse des liens des demandes réelles, affichant visuellement les informations sur l'état des liens.
Suivi des liens : pour les demandes de transaction, demandez l'analyse des liens de transaction réels
Analyse des performances : initiée par l'utilisateur, une analyse d'échantillonnage détaillée est effectuée sur des requêtes lentes spécifiées afin de localiser rapidement la cause de la lenteur de la réponse du système.
Vérification de l'état de l'application
articles de bilan de santé
Conception complète des éléments de contrôle de l'application : situation des liens et des ressources
bilan de santé
Générez des rapports de vérification de l'état de l'application sous le projet, déclenchez-les manuellement et générez-les périodiquement.
vérification de l'état
État d'exécution de l'application : si elle est à l'état de démarrage et si toutes les instances sous l'application sont à l'état d'exécution.
Localisation du défaut
Selon la localisation de la liaison défaillante, la localisation du défaut peut être directement déduite.
Évaluation quantitative
La valeur d'intégrité est calculée en pondérant des informations telles que les informations de lien d'application, l'utilisation des ressources d'application et les journaux.
Cible:
Analyser les informations de suivi des liens d'appels professionnels des microservices dans la plate-forme cloud de conteneurs pour obtenir la topologie des relations de microservice
Combiné avec les journaux de conteneurs et les informations de surveillance, il affiche l'état de l'application de manière globale ;
Travail
Plate-forme d'amarrage
Collectez les données de lien des applications exécutées sur la plate-forme PaaS et affichez visuellement les informations de lien et l'état d'exécution de l'application sur la page de la plate-forme
interface utilisateur Web
Selon les informations de lien, intégrez la relation d'accès entre les applications et affichez la topologie de la relation d'application sur la page frontale
optimisation des performances
Introduire une base de données de séries chronologiques pour effectuer une agrégation secondaire de données de liens massifs, réduire les demandes de volume de données de requête et d'analyse et améliorer l'efficacité de l'accès aux données
stockage de données
Les clusters ES conteneurisés résolvent le problème du stockage des informations de liaison.
page de présentation
Toutes les applications sous le projet de conteneur, y compris les informations de tri telles que le nombre de demandes d'application et le nombre d'erreurs.
Page de surveillance des conteneurs
Surveillez l'utilisation des ressources et l'état d'exécution des pods de conteneur contenus dans le projet.
Page de liste de services
Afficher la liste des services et les informations sur l'état de santé de toutes les applications du projet
Page Topologie globale
Affiche la relation d'appel entre toutes les applications du projet et les graphiques de demande, d'erreur et de réponse de chaque service.
Page d'entrée du lien
Afficher la liste des interfaces de saisie appelées en externe sous le projet. Et afficher ses données de demande, d'erreur et de réponse.
Page de requête multidimensionnelle
Afficher toutes les informations de lien du projet et fournir des conditions de filtre. Filtrez les informations de lien en fonction des exigences spécifiées et cliquez sur link traceid pour afficher les détails du lien.
Page de détails du service
Affiche les informations détaillées du service spécifié sous le projet. Vous pouvez rechercher le nombre de fois où le service est demandé, le nombre d'erreurs et le temps de réponse.
Lier les détails de l'appel
Afficher les informations détaillées sur la portée d'un seul appel de liaison en détail, le temps d'exécution et l'ordre d'exécution de chaque portée
affichage des pages

 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/niwoxiangyu/article/details/130649515
conseillé
Classement