Adding Entries to Service Catalog

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Overview

Datadog Service Catalog is a centralized hub for your development teams to discover and understand critical components in your runtime envrionments. If you are using products that provide application performance telemetries such as APM, USM, and RUM, you can take advantage of the auto-discovery feature. If not, you can create your Service Catalog based on your existing knowledge base (with open-source solutions like Backstage or managed solutions like ServiceNow) or create entries from service tags from other Datadog products like infrastructure monitoring and Log Management.

Automatic service discovery

Datadog Service Catalog includes both eBPF-based autodiscovery with Universal Service Monitoring and distributed tracing based detection with APM. RUM applications are included in the Service Catalog as well. If you are using any of these products, your catalog is pre-populated with entries.

Opt in to the private beta!

Datadog automatically discovers the dependencies of instrumented services, including databases or third-party APIs, even if the dependency hasn't been instrumented. The Service Catalog lists these as separate entries. To differentiate auto-detected components from instrumented services, you can request access to the private beta for inferred services.

Request Access

Create user-defined services

To add your own services to Service Catalog, you can either manually add them by creating Service Definitions through the API or GitHub integration or import them from existing sources like ServiceNow or Backstage. These services are by default not associated with any Datadog telemetry, but you can link telemetries from Datadog or external sources manually using service.datadog.yaml files.

To create a user-defined service, name your service in the dd-service field in a service.datadog.yaml file at the root of the repository, using one of the supported metadata schema versions. For example:

Example

service.datadog.yaml

schema-version: v2.1
dd-service: my-unmonitored-cron-job
team: shopist
contacts:
 - type: slack
   contact: https://datadogincidents.slack.com/archives/XXXXX
application: shopist
description: important cron job for shopist backend
tier: tier1
lifecycle: production
links:
 - name: Common Operations
   type: runbook
   url: https://datadoghq.atlassian.net/wiki/
 - name: Disabling Deployments
   type: runbook
   url: https://datadoghq.atlassian.net/wiki/
tags: []
integrations:
 pagerduty:
   service-url: https://datadog.pagerduty.com/service-directory/XXXXXXX
External Resources (Optional)

You can register multiple services in one YAML file by separating each definition with three dashes (---).

Import data from other sources

Backstage

Service panel highlighting backstage metadata, links and definition

If you already have data or services registered in Backstage, you can import these services into Datadog directly.

If you use API or Terraform, replace the YAMLs in your requests.

If you use GitHub integration, directly save your Backstage YAMLs to a repo with Datadog read permission. Datadog scans for files named catalog-info.yaml located at the root folder of a repo.

Upon import, the following occurs:

  • Datadog only recognizes kind:component in Backstage YAMLs as services
  • metadata.name gets mapped to dd-service
  • metadata.namespace gets mapped to a custom tag with the format namespace:${metadata.namespace}
  • spec.lifecycle gets mapped to lifecycle
  • spec.owner gets mapped to team
  • metadata.links gets mapped to links
    • The annotation github.com/project-slug maps to a link with type=repo and url=https://www.github.com/${github.com/project-slug}
  • metadata.description gets mapped to description
  • spec.system gets mapped to application
  • Other spec values get mapped to custom tags

ServiceNow

You can populate your Datadog Service Catalog with services from your ServiceNow CMDB by using the Service Ingestion feature in the Datadog-ServiceNow integration.

Manual Service Discovery through other Datadog telemetries

To discover additional services through existing Datadog telemetry such as infrastructure metrics, navigate to the Setup & Config tab on the top of the page and click on the Import Entries tab. You can import services from other Datadog telemetry containing the DD_SERVICE tag.

Import Entries tab in the Service Catalog setup and configuration section

After you have imported some entries, they appear in the Explore tab. Entries may expire unless you add metadata such as the owner or contacts by using the API or the GitHub integration.

To remove your imported services from the default Explore view, click Clear Previously Imported Services. This removes all services that do not have metadata or do not have APM, Universal Service Monitoring (USM), or Real User Monitoring (RUM) telemetry.

Confirm the deletion of previously imported services in the Service Catalog setup and configuration section

Further reading