Datadog Service Catalog includes all discovered services from APM, USM, and RUM by default. If you are using any of these products, your catalog is pre-populated with entries. If you are not, there are many other ways to add services to your Service Catalog.
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.
You can add services to Service Catalog that are not associated with any Datadog telemetry. To create such an entry, 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:
You can register multiple services in one YAML file by separating each definition with three dashes (---).
Discover additional services
To discover other 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_SERVICEtag.
Once 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.
Import data from other sources
Backstage
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.
Further reading
Additional helpful documentation, links, and articles: