Cross-Organization Visibility

Join the Preview!

Cross-organization visibility is in Preview.

Overview

Some companies rely on multiple Datadog organizations to isolate data for compliance or other reasons.

Cross-organization visibility allows customers to share data between different organizations in the same account, and show insights from multiple organizations in one place.

This document explains:

Capabilities

Organization connection

A source organization exposes data to a destination organization through an organization connection. The source and destination Datadog organizations must be in the same account. A source organization can have multiple destinations, and a destination organization can have multiple sources.

Note that once the connection is established, the destination organization can query the source organization’s data in the same ways it can query its own data. This means that the source organization’s data—including sensitive data—may be queried and displayed as permitted by the destination organization’s access-control and other settings. This may include, for example, the destination organization’s ability to create public Dashboards using the source organization’s data even if the source organization’s own settings do not permit the creation of public Dashboards.

After you set up an organization connection, the exposed data is still stored in the source organization and does not move to the destination. Instead, the destination organization queries the data from the source. Connections do not duplicate the data, and do not incur extra charges. The destination organization can query source data from any time range supported by the source data, including prior to the date of the creation of the connection. If you remove the connection, the destination can no longer access any data from the source and any queries or Dashboards created from the source organization’s data may no longer function.

Scope

Cross-organization visibility supports Metrics telemetry in Dashboard and Notebook widgets.

All types of metrics are supported, including custom metrics, trace metrics, and metrics generated from logs.

Configure connections

List connections

To browse connections, navigate to the cross-organization visibility page in Organization Settings. The table lists all of your cross-organization connections. Listing connections requires the Org Connections Read permission.

Create a connection

Creating a cross-organization connection allows you to query metrics from the source organization in the destination organization. Creating connections requires the Org Connections Write permission.

  1. Make sure you are signed in to the source organization that contains the data you want to expose.
  2. On the cross-organization visibility page, click New Connection. The New Connection dialog box appears.
  3. In the drop-down menu, select the destination organization where you want to see the data.
  4. Click Connect.

Delete a connection

Deleting a connection disables cross-organization querying from the destination organization of the source organization’s metrics. Deleting connections requires the Org Connections Write permission.

  1. Navigate to the cross-organization visibility page in Organization Settings.
  2. Hover over the connection you wish to delete. A trash can (Delete) icon appears on the right.
  3. Click the trash can (Delete) icon on the connection you wish to delete. The Are you sure? prompt appears.
  4. Click Delete.

In the API

To configure connections using the API, see the cross-organizations connections API.

Create a widget with cross-organization data

Cross-organization Dashboard and Notebook widgets are available for Datadog organizations that exist as a destination organization for at least one connection.

Each query in a widget can display data from a single organization. You can combine queries into a cross-organization formula query.

In the UI

Dashboard and Notebook widgets allow you to create cross-organization queries when the following conditions are met:

  • You have cross-organization visibility enabled in your organization
  • At least one connection exists where the current organization is the destination

If the previous conditions are true, an organization drop-down selector appears between the drop-down menus for data type and metric name. Use the organization drop-down selector to chose a source organization for your query.

The following screenshot shows an example of a cross-organization formula query. The widget graphs the number of ingested events per service. To get the total number of events, the cross-organization formula query sums the data from organization A (in the query a) and organization B (in the query b).

Screenshot showing configuration of a Dashboard widget with a cross-organization query

In the API

The Datadog Terraform Provider does not support creation of cross-organization connections. But a dashboard with widgets with cross-org queries may be Terraformed through proper JSON export.

You can define cross-organization queries in the following endpoint:

When you define a widget in the Dashboard API, use the cross_org_uuids parameter in the JSON widget definition payload to identify the source organization in a cross-organization query.

The cross_org_uuids parameter is optional. If you omit cross_org_uuids, the query runs on the same organization in which you defined the widget.

Example JSON widget definition

{
    "viz": "timeseries",
    "requests": [
        {
            "style": {
                "palette": "dog_classic",
                "type": "solid",
                "width": "normal"
            },
            "type": "line",
            "formulas": [
                {
                    "formula": "query2 + query1"
                }
            ],
            "queries": [
                {
                    "name": "query2",
                    "data_source": "metrics",
                    "query": "sum:datadog.estimated_usage.events.ingested_events{env:prod} by {service}.as_count()",
                    "cross_org_uuids": ["6434abde-xxxx-yyyy-zzzz-da7ad0900001"]
                },
                {
                    "name": "query1",
                    "data_source": "metrics",
                    "query": "sum:datadog.estimated_usage.events.ingested_events{env:prod} by {service}.as_count()",
                    "cross_org_uuids": ["74edde28-xxxx-yyyy-zzzz-da7ad0900001"]
                }
            ],
            "response_format": "timeseries"
        }
    ]
}

Note the cross_org_uuids parameter in the JSON widget definition payload.

  • This parameter is optional. If omitted, the query runs on the organization on which the widget is defined.
  • Use the organization identifier, which you can recover from the Organizations endpoint, to identify the organization on which the query runs.
  • Though this parameter accepts an array, the array must contain only one element. Adding multiple elements to the cross_org_uuids array results in a 400 error.