Catalog utilise des schémas de définition pour stocker et afficher les métadonnées sur vos entités. Les schémas disposent de règles de validation intégrées pour garantir que seules des valeurs valides sont acceptées. Vous pouvez consulter les avertissements dans l’onglet Définition du panneau latéral de Catalog pour tous les services sélectionnés.
Utilisez le champ links pour ajouter des liens de code source vers des dépôts GitHub ou GitLab.
Versions prises en charge
Le schéma Entity Model v3.0 n'est pas pris en charge pour votre site Datadog sélectionné ().
Datadog prend en charge quatre versions du schéma de définition :
v3.0 : Dernière version avec un modèle de données étendu, la prise en charge de la propriété multiple, la déclaration manuelle des dépendances et des fonctionnalités améliorées pour les infrastructures complexes.
v2.2 : Prend en charge les annotations utilisateur pour les métadonnées personnalisées et les associations de pipelines CI pour lier les services à leurs processus de construction.
v2.1 : Prend en charge le regroupement de services pour une meilleure organisation et introduit des champs supplémentaires pour des descriptions de service plus complètes.
v2 : Première version prise en charge, fournissant les champs essentiels pour les métadonnées de service de base et la documentation.
Chaque version s’appuie sur la précédente, ajoutant de nouvelles fonctionnalités tout en maintenant la rétrocompatibilité. Choisissez la version qui correspond le mieux à vos besoins et à la complexité de votre infrastructure.
Comparaison des versions
Les fonctionnalités suivantes sont prises en charge dans chaque version :
Fonctionnalité
v3.0
v2.2
v2.1
v2.0
Métadonnées de base
Regroupements de services
Annotations utilisateur
Associations de pipeline CI
Modèle de données étendu
Propriété multiple
Déclaration manuelle de dépendance
Pour des informations détaillées sur chaque version, y compris les schémas complets et des exemples de fichiers YAML, consultez les pages de version individuelles dans Versions prises en charge.
Détails de la version
Inscrivez-vous à la version préliminaire pour obtenir la dernière version de Catalog.
Le schéma Entity Model v3.0 n'est pas pris en charge pour votre site Datadog sélectionné ().
Fonctionnalités clés
Modèle de données étendu : v3.0 prend en charge plusieurs types d’entités. Vous pouvez organiser vos systèmes en utilisant divers composants tels que des systèmes, des services, des files d’attente et des banques de données.
Propriété multiple : vous pouvez affecter plusieurs propriétaires à tout objet défini via le schéma v3.0 afin de spécifier plusieurs points de contact.
Mappage amélioré des relations : avec les données APM et USM, vous pouvez détecter automatiquement les dépendances entre les composants. La v3.0 prend en charge la déclaration manuelle pour augmenter la topologie système détectée automatiquement afin de garantir une vue d’ensemble complète de la manière dont les composants interagissent au sein de vos systèmes.
Héritage des métadonnées système : les composants au sein d’un système héritent automatiquement des métadonnées du système. Il n’est plus nécessaire de déclarer les métadonnées pour tous les composants associés un par un comme dans les versions v2.1 et v2.2.
Emplacement précis du code : ajoutez le mappage de l’emplacement de votre code pour votre service. La section codeLocations dans la v3.0 spécifie les emplacements du code avec le dépôt qui contient le code et son paths associé. L’attribut paths est une liste de globs qui doivent correspondre aux chemins dans le dépôt.
Logs et événements filtrés : déclarez des logs enregistrés et des requêtes d’événements pour un system via les sections logs et events et affichez les résultats sur la page Système.
Entités personnalisées : définissez des types d’entités personnalisés au-delà de Service, System, Datastore, Queue et API. Restreignez l’application des cartes de score et des actions aux types d’entités spécifiques.
(À venir) Integrations : intégrez des outils tiers pour obtenir dynamiquement des informations relatives à vos composants (par exemple, GitHub pull requests, incidents PagerDuty et pipelines GitLab). Générez des rapports et rédigez des règles de cartes de score pour toute source tierce.
(À venir) Regroupement par produit ou domaine : organisez les composants par produit, ce qui permet plusieurs niveaux de regroupement hiérarchique.
Si un seul composant fait partie de plusieurs systèmes, vous devez spécifier ce composant dans le YAML pour chaque système. Par exemple, si la banque de données orders-postgres est un composant aussi bien d’un parc postgres que d’une application web, spécifiez deux YAML :
Pour le parc postgres (managed-postgres), spécifiez une définition pour kind:system :
Le champ inheritFrom indique au pipeline d’ingestion d’hériter des métadonnées de l’entité référencée par <entity_kind>:<name>.
entity.datadog.yaml
inheritFrom:<entity_kind>:<name>
Héritage implicite
Les composants (kind:service, kind:datastore, kind:queue, kind:ui) héritent de toutes les métadonnées du système auquel ils appartiennent dans les conditions suivantes :
Il n’y a qu’un seul système défini dans le fichier YAML.
La clause inheritFrom:<entity_kind>:<name> est absente du fichier YAML.
Migration vers la v3.0
La v3.0 prend en charge les mêmes méthodes de création de métadonnées que les versions précédentes, notamment GitHub, GitLab, API, Terraform, Backstage, ServiceNow et la UI. Cependant, il existe de nouveaux endpoints d’API et une nouvelle ressource Terraform pour la v3.0.
Pour créer, obtenir et supprimer des définitions pour tous les types d’entités tels que les endpoints, les systèmes, les banques de données et les files d’attente, consultez la référence de l’API Catalog.
Fonctionnalités clés
Annotations utilisateur
Remplacement du type de service et des langages détectés automatiquement à l’aide de type et languages
Associer un pipeline CI à un service à l’aide de ci-pipeline-fingerprints
Logique de validation moins restrictive pour contact.type et link.type
Pour créer, obtenir et supprimer des définitions pour de nouveaux types de composants tels que les systèmes, les banques de données et les files d’attente, consultez la référence de l’API Catalog.
Nouveaux éléments d’interface utilisateur tels que les regroupements de services et les champs pour application, tier et lifecycle
Application et Teams peuvent être utilisés comme variables de regroupement dans Catalog
Le champ - Lifecycle indique la phase de développement pour différencier les services production, experimental ou deprecated
Le champ - Tier indique la criticité du service pour la priorisation lors du triage des incidents
Pour créer, obtenir et supprimer des définitions pour de nouveaux types de composants tels que les systèmes, les banques de données et les files d’attente, consultez la référence de l’API Catalog.
Pour créer, obtenir et supprimer des définitions pour de nouveaux types de composants tels que les systèmes, les banques de données et les files d’attente, consultez la référence de l’API Catalog.
Les extensions personnalisées sont en disponibilité limitée pour toutes les versions de schéma.
Les extensions personnalisées vous permettent d’attacher des métadonnées spécifiques à l’organisation aux entités, permettant la prise en charge d’outils et de workflows personnalisés. Par exemple, utilisez le champ extensions pour inclure des notes de version, des tags de conformité ou des modèles de propriété dans vos définitions d’entité.
Datadog prend également en charge des clés d’extension spécifiques pour certaines fonctionnalités. Celles-ci incluent :
datadoghq.com/dora-metrics : Définissez des modèles de chemin de code source pour filtrer les commits Git lors du calcul des métriques DORA.
datadoghq.com/cd-visibility : Contrôlez quels commits sont considérés comme faisant partie d’un déploiement dans CD Visibility.
L’exemple suivant définit une extension personnalisée utilisée pour gérer la planification des versions dans les environnements :
Datadog fournit un JSON Schema pour les définitions afin que, lorsque vous modifiez une définition dans un IDE pris en charge, des fonctionnalités telles que la saisie semi-automatique et la validation soient fournies.