Skip to content

Commit 664a244

Browse files
Update Software Catalog setup landing page and add correlation requirements (#31967)
* flesh out set up landing page and update discover entities with correlation requirements * refinements * Apply suggestions from code review Co-authored-by: Brett Blue <[email protected]> * rearrange ordering * remove line about telemetry correlation and add a link to renaming rules --------- Co-authored-by: Brett Blue <[email protected]>
1 parent b27d7e6 commit 664a244

File tree

3 files changed

+67
-6
lines changed

3 files changed

+67
-6
lines changed

content/en/internal_developer_portal/software_catalog/set_up/_index.md

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,33 +57,71 @@ further_reading:
5757
Software Catalog entities are defined through [Entity Definitions][1], which are Kubernetes-style YAML configuration files.
5858

5959
To populate Software Catalog, you can:
60-
- Set up Datadog Application Performance Monitoring (APM), Universal Service Monitoring (USM), Real User Monitoring (RUM), infrastructure metrics, or logs, which will automatically feed entity data into Software Catalog.
60+
- Set up Datadog Application Performance Monitoring (APM), Universal Service Monitoring (USM), Real User Monitoring (RUM), infrastructure metrics, or logs, which automatically feed entity data into Software Catalog.
6161
- Create entity definitions manually or through automation.
62-
- Import existing entity definitions from third parties.
63-
64-
By default, these services are not associated with Datadog telemetry, but you can link telemetry data from Datadog or external sources manually using entity definition YAML files.
62+
- Import existing entity definitions from third parties.
6563

6664
## Automatically discover entities from Datadog
6765

66+
By default, Software Catalog is automatically populated with entries discovered from APM, USM, and RUM. You can also manually import entries from other Datadog telemetries, like logs.
67+
6868
{{< whatsnext desc=" " >}}
6969
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/discover_entities#automatic-discovery-with-apm-usm-and-rum" >}}Discover from APM, USM, and RUM{{< /nextlink >}}
7070
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/discover_entities#import-entities-from-infrastructure-and-logs" >}}Import from Infrastructure and Logs{{< /nextlink >}}
7171
{{< /whatsnext >}}
7272

73+
### APM
74+
75+
When you instrument your application code with Datadog APM SDKs or OpenTelemetry, your applications emit traces and generate unsampled trace metrics. These traces and metrics power the entity discovery and dependency mapping capabilities in IDP. Your instrumentation choices (for example, your Datadog Agent version, your SDK version, and whether you use custom instrumentation or service overrides) affect the quality and accuracy of your dependency maps. See [Discover from APM, USM, and RUM][5] for details.
76+
77+
### USM
78+
79+
USM detects Golden Signal metrics (for example, requests, errors, and durations) and maps out application dependencies based on eBPF. It does not require instrumentation of your application code.
80+
81+
### RUM
82+
83+
RUM provides frontend user experience data, including page performance, errors, session events, and views. If you have RUM applications, they appear in Software Catalog as **Frontend Apps** in the component selector.
84+
85+
### Other Datadog telemetries
86+
87+
You can also import entities that are identified from Datadog telemetries like logs, host metrics, container metrics, network metrics, and process metrics.
88+
89+
When you use [**Import Entities**][10] and choose a data source, Datadog queries that source and searches for valid `DD_SERVICE` tags. Entities are marked with the `kind:service` attribute.
90+
91+
**Note**: You should only do this if the `DD_SERVICE` tags are well maintained and do not contain irrelevant or incorrect tag values.
92+
7393
## Create entities
7494

95+
[Entity definitions][1], defined in entity YAML files, are the canonical source of truth in Software Catalog. You can:
96+
- Create entity definitions manually through Datadog.
97+
- Store definitions in a version control system like Git, and set up [Source Code Integration][6] to sync definitions with IDP. Changes made to your files are reflected in Datadog within minutes.
98+
7599
{{< whatsnext desc=" " >}}
76100
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/create_entities#through-the-datadog-ui" >}}Create through the Datadog UI{{< /nextlink >}}
77101
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/create_entities#through-automation" >}}Create through code automation{{< /nextlink >}}
78102
{{< /whatsnext >}}
79103

104+
**Note**: To automatically correlate an entity to its telemetry, the `name` field in your definition must exactly match the primary identifier from the telemetry data. For most services, this is the `service` tag as defined in Datadog's Unified Service Tagging. See examples for [`kind:datastore`][7], [`kind:queue`][8], and other [`entity types`][9].
105+
80106
## Import entities
81107

108+
If you maintain software inventories in Backstage or ServiceNow CMDB, you can sync these inventories into Datadog's Software Catalog.
109+
82110
{{< whatsnext desc=" " >}}
83111
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/import_entities#import-from-backstage" >}}Import from Backstage{{< /nextlink >}}
84112
{{< nextlink href="/internal_developer_portal/software_catalog/set_up/import_entities#import-from-servicenow" >}}Import from ServiceNow{{< /nextlink >}}
85113
{{< /whatsnext >}}
86114

115+
### Backstage
116+
117+
You can bring your Backstage entities into Datadog's IDP in one of two ways:
118+
1. Install [Datadog's Backstage plugin][11].
119+
1. Import entity descriptor files from Backstage to IDP using the Datadog API, Terraform, or Datadog's GitHub integration.
120+
121+
### ServiceNow
122+
123+
Sync your ServiceNow CMDB inventories with Datadog's Software Catalog by setting up a regular query against your ServiceNow CI tables.
124+
87125
## Verify configuration completeness
88126

89127
Following monitoring best practices such as tracing, logging, and code profiling helps you ensure that you have all the data you need during incident triage. Software Catalog provides automatic checks for these recommended setups.
@@ -125,6 +163,13 @@ The permission is enabled by default in the **Datadog Admin Role** and **Datadog
125163
[2]: https://app.datadoghq.com/software
126164
[3]: /account_management/rbac
127165
[4]: /account_management/rbac/permissions
166+
[5]: /internal_developer_portal/software_catalog/set_up/discover_entities#automatic-discovery-with-apm-usm-and-rum
167+
[6]: /integrations/guide/source-code-integration/
168+
[7]: /internal_developer_portal/software_catalog/entity_model/entity_types?tab=datastore#datastore-peer-tags
169+
[8]: /internal_developer_portal/software_catalog/entity_model/entity_types?tab=queue#datastore-peer-tags
170+
[9]: /internal_developer_portal/software_catalog/entity_model?tab=v30
171+
[10]: https://app.datadoghq.com/software/settings/get-started
172+
[11]: https://www.npmjs.com/package/@datadog/backstage-plugin-datadog-entity-sync-backend
128173

129174

130175

content/en/internal_developer_portal/software_catalog/set_up/discover_entities.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Datadog Software Catalog is pre-populated with entries detected through [APM][1]
2525

2626
All automatically detected entities appear in the Component Selector within Software Catalog.
2727

28-
APM and USM automatically detect the following entities types: `service`,`datastore`, `queue`, `external providers`, `inferred services`, and `endpoints`. APM SDKs identify dependencies of instrumented services and classify them as databases, queues, or third-party APIs—even if those dependencies are not directly instrumented. Custom instrumentation may affect how entities are auto-discovered and how the `service tag` is assigned. To learn more, see [APM Inferred Services][3].
28+
APM and USM automatically detect the following entities types: `service`,`datastore`, `queue`, `external providers`, `inferred services`, and `endpoints`. APM SDKs identify dependencies of instrumented services and classify them as databases, queues, or third-party APIs—even if those dependencies are not directly instrumented. Custom instrumentation may affect how entities are discovered and how the `service tag` is assigned. To learn more, see [APM Inferred Services][3].
2929

3030
RUM is responsible for discovering `frontend apps` entities.
3131

@@ -37,10 +37,21 @@ For information about discovering endpoints, see [Discovering Endpoints from APM
3737

3838
To adjust how inferred entities appear in Software Catalog, you can:
3939

40-
- Assign a display name to identify an entity by a custom name.
40+
- [Create a renaming rule][18] to identify an entity by a custom name.
4141
- [Filter out entities][3] by type (database, queue, third-party).
4242
- [Remove service overrides][4] such as `service:my-service-http-client` from your catalog or map.
4343

44+
### Correlation requirements for APM
45+
46+
To ensure proper auto-correlation between APM and Software Catalog, follow these best practices:
47+
48+
- Ensure your APM SDK and Datadog Agent versions support [inferred entities][15].
49+
- Avoid arbitrary [service overrides][16] and use [inferred entities][15] instead.
50+
- Arbitrary service overrides can make correlation unreliable and clutter your catalog. They also make Software Catalog hard to use for those unfamiliar with the override names.
51+
- [Rename inferred entities][14], like datastores and queues, to match your team's naming conventions.
52+
- Use [Unified Service Tagging][17] to ensure service names, environments, and versions match across APM, infrastructure, and catalog definitions.
53+
- In Datadog APM, a service is an identifier used to group traces and aggregate metrics, not necessarily a logical service. Define what constitutes a "service" for your organization (for example, a Kubernetes namespace, deployment, or individual pod) and apply this definition consistently across all telemetry sources.
54+
4455

4556
## Import entities from Infrastructure and Logs
4657

@@ -72,3 +83,8 @@ To remove imported services from the default **Explore** view, click **Clear Pre
7283
[11]: https://app.datadoghq.com/software/settings/get-started
7384
[12]: /software_catalog/apis/
7485
[13]: /integrations/github/
86+
[14]: /tracing/services/renaming_rules/#step-3-name-your-rule-and-review
87+
[15]: /tracing/services/inferred_services/?tab=agentv7600#set-up-inferred-services
88+
[16]: /tracing/guide/service_overrides/#how-service-overrides-are-set
89+
[17]: /getting_started/tagging/unified_service_tagging/
90+
[18]: /tracing/services/renaming_rules/
252 KB
Loading

0 commit comments

Comments
 (0)