RousselTMLEARNING

Observabilité

Les types de services dans Dynatrace : web, base de données, messagerie, personnalisés et services unifiés

Ce qu'est un service pour Dynatrace, les types de services détectés automatiquement (requêtes web, services web, bases de données, messagerie, appels distants, services unifiés), les services personnalisés et les règles de détection.

1. Qu’est-ce qu’un service ? #

Le niveau logique des requêtes.

Définition #

Pour Dynatrace, un service est un point d'entrée qui reçoit des requêtes : une application web, une API, un consommateur de messages, une base de données vue depuis l'application. Il se situe au-dessus des processus : un même process group peut exposer plusieurs services, et un service peut tourner dans de nombreuses instances.

Les services sont reliés par les traces distribuées (PurePaths) et apparaissent dans la topologie Smartscape : c'est ce qui permet à Davis de suivre la propagation d'un problème.

2. Les types détectés automatiquement #

Selon la technologie.

Les principaux types #

TypeCe qui le créeExemples
Requêtes webpoint d’entrée HTTP instrumentéAPI REST Spring, ASP.NET Core, Express
Services webservices décrits par un contrat (SOAP, WCF)SOAP, WCF
Base de donnéesappels vers une base depuis l’applicationPostgreSQL, Oracle, MongoDB, Redis
Messagerieconsommation de messagesKafka, JMS, RabbitMQ
Appels distantsprotocoles RPCgRPC, RMI
Services unifiéstraces OpenTelemetry ou données de spansservices instrumentés avec OTel
Services externes (opaques)appels sortants vers un système non superviséAPI d’un partenaire, SaaS
À savoir : Un cache comme Redis ou une file comme Kafka n'est pas un « type de service » à part : vu depuis l'application, Redis apparaît comme une base de données, et la consommation de messages Kafka comme un service de messagerie. Les conteneurs, eux, sont des entités d'infrastructure, pas des services.
Selon la version : Les services unifiés et la détection de services fondée sur les spans arrivent avec la nouvelle plateforme ; les noms exacts des types peuvent varier selon la version de l'environnement.

3. Services personnalisés et règles #

Quand la détection automatique ne suffit pas.

Services personnalisés #

Un traitement sans point d'entrée standard (batch Java, tâche planifiée, écouteur maison) n'apparaît pas comme un service. Un service personnalisé déclare une méthode d'entrée (classe et méthode) : chaque appel devient alors une requête de service, avec ses temps et ses erreurs.

Règles de détection et de nommage #

Les règles de détection permettent de fusionner des services identiques (même application sur plusieurs ports) ou de les séparer (une application qui sert plusieurs clients). Les règles de nommage remplacent les noms techniques par des noms parlants.

Bonne pratique : Nommez les services d'après le métier et l'environnement (par exemple paiement-api [prod]) : les alertes, les SLO et les tableaux de bord deviennent lisibles par tous.

Commandes à connaître #

Sélectionner des services avec un entity selector (API v2, configuration) :

type(SERVICE),serviceType(DATABASE_SERVICE)
type(SERVICE),tag("env:prod"),entityName.startsWith("paiement")
type(SERVICE),fromRelationships.runsOnProcessGroupInstance(type(PROCESS_GROUP_INSTANCE),tag("team:shop"))
curl -H "Authorization: Api-Token $DT_TOKEN" \
  "$DT_URL/api/v2/entities?entitySelector=type(SERVICE),serviceType(DATABASE_SERVICE)&fields=properties.serviceType"

Syntaxe complète : Maîtriser les entity selectors.

Articles liés

Accéder au playground Dynatrace et le prendre en main

Le playground Dynatrace est un environnement de démonstration rempli de données réelles : comment y accéder, …

Les buckets Grail dans Dynatrace : création, routage, rétention, droits et coûts

Guide complet des buckets Grail : rôle, buckets par défaut, création dans Storage management, par l'API ou Te…

L'app QuickStart de Dynatrace : obtenir ses premières données en quelques minutes

Découvrir l'app QuickStart : ajouter des données avec Auto Discovery ou une tuile dédiée, lire les Findings, …

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !