diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml
index 25ae18f61dd17..116ab382ede89 100644
--- a/config/_default/menus/main.en.yaml
+++ b/config/_default/menus/main.en.yaml
@@ -3673,111 +3673,126 @@ menu:
parent: cloud_cost_setup
identifier: cloud_cost_custom
weight: 105
+ - name: Real-Time Costs
+ url: cloud_cost_management/setup/real_time_costs
+ parent: cloud_cost_setup
+ identifier: cloud_cost_real_time_costs
+ weight: 106
- name: Datadog Costs
url: cloud_cost_management/datadog_costs
parent: cloud_cost
identifier: cloud_cost_datadog_costs
weight: 2
- - name: Cost Allocation
- url: cloud_cost_management/cost_allocation
+ - name: Tags
+ url: cloud_cost_management/tags
parent: cloud_cost
- identifier: cloud_cost_cost_allocation
+ identifier: cloud_cost_tags
weight: 3
- - name: Container Costs
- url: cloud_cost_management/cost_allocation/container_cost_allocation/
+ - name: Tag Explorer
+ url: cloud_cost_management/tags/tag_explorer
+ parent: cloud_cost_tags
+ identifier: cloud_cost_tag_explorer
+ weight: 301
+ - name: Tag Pipelines
+ url: cloud_cost_management/tags/tag_pipelines
+ parent: cloud_cost_tags
+ identifier: cloud_cost_tag_pipelines
+ weight: 302
+ - name: Allocation
+ url: cloud_cost_management/allocation
+ parent: cloud_cost
+ identifier: cloud_cost_cost_allocation
+ weight: 4
+ - name: Container Cost Allocation
+ url: cloud_cost_management/allocation/container_cost_allocation/
parent: cloud_cost_cost_allocation
identifier: cloud_cost_container_cost_allocation
- weight: 301
+ weight: 401
- name: AWS
- url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=aws/
+ url: cloud_cost_management/allocation/container_cost_allocation/?tab=aws/
parent: cloud_cost_container_cost_allocation
identifier: cloud_cost_container_cost_allocation_aws
weight: 101
- name: Azure
- url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=azure
+ url: cloud_cost_management/allocation/container_cost_allocation/?tab=azure
parent: cloud_cost_container_cost_allocation
identifier: cloud_cost_container_cost_allocation_azure
weight: 102
- name: Google Cloud
- url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=google
+ url: cloud_cost_management/allocation/container_cost_allocation/?tab=google
parent: cloud_cost_container_cost_allocation
identifier: cloud_cost_container_cost_allocation_google
weight: 103
- name: BigQuery Costs
- url: cloud_cost_management/cost_allocation/bigquery/
+ url: cloud_cost_management/allocation/bigquery/
parent: cloud_cost_cost_allocation
identifier: cloud_cost_cost_allocationbigquery
- weight: 302
+ weight: 402
- name: Custom Allocation Rules
- url: cloud_cost_management/custom_allocation_rules
- parent: cloud_cost
+ url: cloud_cost_management/allocation/custom_allocation_rules
+ parent: cloud_cost_cost_allocation
identifier: cloud_cost_custom_allocation_rules
- weight: 4
+ weight: 403
+ - name: Reporting
+ url: cloud_cost_management/reporting
+ parent: cloud_cost
+ identifier: cloud_cost_reporting
+ weight: 5
+ - name: Explorer
+ url: cloud_cost_management/reporting/explorer
+ parent: cloud_cost_reporting
+ identifier: cloud_cost_explorer
+ weight: 501
+ - name: Scheduled Cost Reports
+ url: cloud_cost_management/reporting/scheduled_reports
+ parent: cloud_cost_reporting
+ identifier: cloud_cost_scheduled_reports
+ weight: 502
+ - name: Reports
+ url: cloud_cost_management/reporting/reports
+ parent: cloud_cost_reporting
+ identifier: cloud_cost_reports
+ weight: 503
+ - name: Monitors
+ url: cloud_cost_management/reporting/monitors
+ parent: cloud_cost_reporting
+ identifier: cloud_cost_monitors
+ weight: 504
+ - name: Anomalies
+ url: cloud_cost_management/reporting/anomalies
+ parent: cloud_cost_reporting
+ identifier: cloud_cost_anomalies
+ weight: 505
- name: Planning
url: cloud_cost_management/planning
parent: cloud_cost
identifier: cloud_cost_planning
- weight: 5
+ weight: 6
- name: Budgets
url: cloud_cost_management/planning/budgets
parent: cloud_cost_planning
identifier: cloud_cost_planning_budgets
- weight: 501
+ weight: 601
- name: Commitment Programs
url: cloud_cost_management/planning/commitment_programs
parent: cloud_cost_planning
identifier: cloud_cost_planning_commitment_programs
- weight: 502
- - name: Tag Pipelines
- url: cloud_cost_management/tag_pipelines
- parent: cloud_cost
- identifier: cloud_cost_tag_pipelines
- weight: 6
- - name: Tag Explorer
- url: cloud_cost_management/tag_explorer
+ weight: 602
+ - name: Optimization
+ url: cloud_cost_management/optimization
parent: cloud_cost
- identifier: cloud_cost_tag_explorer
+ identifier: cloud_cost_optimization
weight: 7
- - name: Multisource Querying
- url: cloud_cost_management/multisource_querying
- parent: cloud_cost
- identifier: cloud_cost_multisource_querying
- weight: 8
- - name: Reports
- url: /cloud_cost_management/reports
- parent: cloud_cost
- identifier: cloud_cost_reports
- weight: 9
- - name: Scheduled Cost Reports
- url: /cloud_cost_management/reports/scheduled_reports
- parent: cloud_cost_reports
- identifier: cloud_cost_scheduled_reports
- weight: 901
- name: Recommendations
url: cloud_cost_management/recommendations
- parent: cloud_cost
+ parent: cloud_cost_optimization
identifier: cloud_cost_recommendations
- weight: 10
+ weight: 401
- name: Custom Recommendations
url: cloud_cost_management/recommendations/custom_recommendations
parent: cloud_cost_recommendations
identifier: cloud_cost_custom_recommendations
- weight: 1001
- - name: Monitors
- url: /cloud_cost_management/monitors
- parent: cloud_cost
- identifier: cloud_cost_monitors
- weight: 11
- - name: Anomalies
- url: /cloud_cost_management/anomalies
- parent: cloud_cost
- identifier: cloud_cost_anomalies
- weight: 12
- - name: Real-Time Costs
- url: cloud_cost_management/real_time_costs
- parent: cloud_cost
- identifier: cloud_cost_real_time_costs
- weight: 13
+ weight: 101
- name: APM
url: tracing/
pre: apm
diff --git a/content/en/account_management/plan_and_usage/cost_details.md b/content/en/account_management/plan_and_usage/cost_details.md
index 5ede06db752bb..0d9b096d48bba 100644
--- a/content/en/account_management/plan_and_usage/cost_details.md
+++ b/content/en/account_management/plan_and_usage/cost_details.md
@@ -160,5 +160,5 @@ Products billed by the sum of usage throughout the month include indexed logs an
[4]: /api/latest/usage-metering/#get-historical-cost-across-your-account
[5]: /account_management/plan_and_usage/cost_details/#cost-summary
[6]: /api/latest/usage-metering/#get-projected-cost-across-your-account
-[7]: /cloud_cost_management/monitors/?tab=costmetricbased
+[7]: /cloud_cost_management/reporting/monitors/?tab=costmetricbased
[8]: /cloud_cost_management/datadog_costs/
diff --git a/content/en/cloud_cost_management/_index.md b/content/en/cloud_cost_management/_index.md
index 4d349cf1f1fa1..5d8586f97aced 100644
--- a/content/en/cloud_cost_management/_index.md
+++ b/content/en/cloud_cost_management/_index.md
@@ -19,12 +19,9 @@ further_reading:
- link: "/monitors/types/cloud_cost/"
tag: "Documentation"
text: "Create a Cloud Cost monitor"
- - link: "/cloud_cost_management/tag_pipelines/"
+ - link: "/cloud_cost_management/tags/"
tag: "Documentation"
- text: "Learn about Tag Pipelines"
- - link: "/cloud_cost_management/tag_pipelines"
- tag: "Documentation"
- text: "Standardize tags across Cloud Cost Management with Tag Pipelines"
+ text: "Learn about Tags in Cloud Cost Management"
- link: "https://www.datadoghq.com/blog/cloud-costs-study-learnings/"
tag: "Blog"
text: "Key learnings from the State of Cloud Costs study"
@@ -80,21 +77,19 @@ Optionally, you can programmatically export a timeseries graph of your cloud cos
## Use daily Datadog cost data
-Visualize daily Datadog spending alongside related utilization metrics with a retention period of 15 months to spot potential inefficiencies and savings opportunities.
+Visualize daily Datadog spending alongside related utilization metrics with a retention period of 15 months to spot potential inefficiencies and savings opportunities. Learn more about [Datadog Costs][8].
-When creating a dashboard, select **Cloud Cost** as the data source for your search query.
+When creating a dashboard, select **Cloud Cost** as the data source, then choose **Datadog** from the available cost types.
{{< img src="cloud_cost/datadog_costs/dashboard-updated.png" alt="Datadog costs as an option for the Cloud Cost data source in a dashboard" style="width:80%;" >}}
Optionally, you can programmatically export a timeseries graph of your Datadog cost data by using the [Metrics API][2].
-## Create tag rules
-
-Use [Tag Pipelines][5] to ensure comprehensive cost tracking by standardizing the tags across all cloud resources. This prevents any cost data from being overlooked.
+## Tagging and cost allocation
-{{< img src="cloud_cost/tags_addnew.png" alt="Create a tag rule in Tag Pipelines to ensure your cloud resources use standard tags" style="width:60%;" >}}
+Learn how tags are sourced, enriched, and managed in Cloud Cost Management by visiting the [Tags documentation][5].
-You can create tag rules to correct missing or incorrect tags and add inferred tags that align with your organization's business logic.
+You can create tag rules to correct missing or incorrect tags, and add inferred tags that align with your organization's business logic.
## Create a cost monitor
@@ -104,7 +99,7 @@ Proactively manage and optimize your cloud spending by creating a [Cloud Cost Mo
## Allocate costs
-Use [Container Cost Allocation metrics][4] to discover costs associated with clusters and workloads across Kubernetes, Amazon ECS, Azure, and Google Cloud. Gain visibility into pod-level costs, identify idle resource costs, and analyze costs by resource type.
+Use [Container Cost Allocation metrics][4] to discover costs associated with clusters and workloads across Kubernetes, Amazon ECS, Azure, and Google Cloud. You can gain visibility into pod-level costs, identify idle resource costs, and analyze costs by resource type.
## Permissions
Two permissions are available:
@@ -113,27 +108,26 @@ Two permissions are available:
The table below describes the impact of these permissions in both Cloud Cost Management and related pages.
-| Page/Functionality | Cloud Cost Management Read Permission | Cloud Cost Management Write Permission |
-|-----------------------------------|---------------------------------------------|---------------------------------------------------|
-| CCM Summary Page | Permission Required | N/A |
-| CCM Containers Page | Permission Required | N/A |
-| CCM Recommendations Page | Permission Required | N/A |
-| CCM Explorer Page | Permission Required | N/A |
-| CCM Plan Page | Permission Required | Permission Required to view Budgets |
-| CCM Settings Page - Custom Costs | Permission Required | Permission Required to upload custom costs |
-| CCM Settings Page - Tag Pipelines | Permission Required | Permission Required to create tag pipelines |
-| CCM Settings Page - SaaS Integrations | Permission Required | Permission Required to enable integration for CCM |
-| CCM Settings Page - Accounts | Permission Required | Permission Required to modify or create accounts |
-| CCM Settings Page - Configure Recommendations | Permission Required | Permission Required to customize recommendations |
-| Dashboards/Notebooks (external) | Permission Required to create and view data | N/A |
-| Monitors (external) | Permission Required to create CCM monitors | N/A |
-| Service Catalog (external) | Permission Required to view cost data | N/A |
-| Resource Catalog (external) | Permission Required to view cost data | N/A |
-| API Queries for Cost Data | Permission Required | N/A |
-
-### Data Access Control Preview
-More granular tag-level restrictions are available as part of the [Data Access Control Preview][6]. To request preview access,
-please fill out [this form][7].
+| Page/Functionality | Cloud Cost Management Read Permission | Cloud Cost Management Write Permission |
+|-----------------------------------------------|---------------------------------------------|---------------------------------------------------|
+| CCM Summary Page | Permission Required | N/A |
+| CCM Containers Page | Permission Required | N/A |
+| CCM Recommendations Page | Permission Required | N/A |
+| CCM Explorer Page | Permission Required | N/A |
+| CCM Plan Page | Permission Required | Permission Required to view Budgets |
+| CCM Settings Page - Custom Costs | Permission Required | Permission Required to upload custom costs |
+| CCM Settings Page - Tag Pipelines | Permission Required | Permission Required to create tag pipelines |
+| CCM Settings Page - SaaS Integrations | Permission Required | Permission Required to enable integration for CCM |
+| CCM Settings Page - Accounts | Permission Required | Permission Required to modify or create accounts |
+| CCM Settings Page - Configure Recommendations | Permission Required | Permission Required to customize recommendations |
+| Dashboards/Notebooks (external) | Permission Required to create and view data | N/A |
+| Monitors (external) | Permission Required to create CCM monitors | N/A |
+| Service Catalog (external) | Permission Required to view cost data | N/A |
+| Resource Catalog (external) | Permission Required to view cost data | N/A |
+| API Queries for Cost Data | Permission Required | N/A |
+
+### Data access control preview
+More granular tag-level restrictions are available as part of the [Data Access Control Preview][6]. To request preview access, fill out [this form][7].
## Further reading
@@ -143,6 +137,7 @@ please fill out [this form][7].
[2]: /api/latest/metrics/#query-timeseries-data-across-multiple-products
[3]: /monitors/types/cloud_cost/
[4]: /cloud_cost_management/container_cost_allocation
-[5]: /cloud_cost_management/tag_pipelines
+[5]: /cloud_cost_management/tags/
[6]: /account_management/rbac/data_access/
[7]: https://www.datadoghq.com/product-preview/data-access-control/
+[8]: /cloud_cost_management/datadog_costs
diff --git a/content/en/cloud_cost_management/cost_allocation/_index.md b/content/en/cloud_cost_management/allocation/_index.md
similarity index 90%
rename from content/en/cloud_cost_management/cost_allocation/_index.md
rename to content/en/cloud_cost_management/allocation/_index.md
index 92b312e868904..8c21ac69c9916 100644
--- a/content/en/cloud_cost_management/cost_allocation/_index.md
+++ b/content/en/cloud_cost_management/allocation/_index.md
@@ -5,10 +5,10 @@ further_reading:
- link: "/cloud_cost_management/"
tag: "Documentation"
text: "Learn about Cloud Cost Management"
- - link: "/cloud_cost_management/cost_allocation/container_cost_allocation"
+ - link: "/cloud_cost_management/allocation/container_cost_allocation"
tag: "Documentation"
text: "Container Cost Allocation"
- - link: "/cloud_cost_management/cost_allocation/bigquery"
+ - link: "/cloud_cost_management/allocation/bigquery"
tag: "Documentation"
text: "BigQuery Cost Allocation"
---
@@ -51,6 +51,6 @@ To get started with cost allocation:
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /cloud_cost_management/cost_allocation/container_cost_allocation
-[2]: /cloud_cost_management/cost_allocation/bigquery
+[1]: /cloud_cost_management/allocation/container_cost_allocation
+[2]: /cloud_cost_management/allocation/bigquery
[3]: https://app.datadoghq.com/cost/setup
\ No newline at end of file
diff --git a/content/en/cloud_cost_management/cost_allocation/bigquery.md b/content/en/cloud_cost_management/allocation/bigquery.md
similarity index 100%
rename from content/en/cloud_cost_management/cost_allocation/bigquery.md
rename to content/en/cloud_cost_management/allocation/bigquery.md
diff --git a/content/en/cloud_cost_management/cost_allocation/container_cost_allocation.md b/content/en/cloud_cost_management/allocation/container_cost_allocation.md
similarity index 100%
rename from content/en/cloud_cost_management/cost_allocation/container_cost_allocation.md
rename to content/en/cloud_cost_management/allocation/container_cost_allocation.md
diff --git a/content/en/cloud_cost_management/custom_allocation_rules.md b/content/en/cloud_cost_management/allocation/custom_allocation_rules.md
similarity index 91%
rename from content/en/cloud_cost_management/custom_allocation_rules.md
rename to content/en/cloud_cost_management/allocation/custom_allocation_rules.md
index 5bf40288f4665..71ff5c8c1a369 100644
--- a/content/en/cloud_cost_management/custom_allocation_rules.md
+++ b/content/en/cloud_cost_management/allocation/custom_allocation_rules.md
@@ -1,6 +1,8 @@
---
title: Custom Allocation Rules
description: "Allocate cloud costs based on custom allocation rules."
+aliases:
+- /cloud_cost_management/custom_allocation_rules
further_reading:
- link: "https://docs.datadoghq.com/cloud_cost_management/?tab=aws#overview"
tag: "Documentation"
@@ -21,9 +23,9 @@ The following allocation methods are available:
| Even | Split costs evenly among all destinations. | Scenarios where each team, project, or environment should be charged the same amount for a shared cost. | Untagged support costs are allocated evenly to teams `teamA`, `teamB`, and `teamC`. |
| Custom | Split costs to each destination based on percentages you define. | Scenarios where business rules or agreements dictate how much each team should pay. | Untagged support costs are allocated 60% to `teamA`, 30% to `teamB`, and 10% to `teamC`. |
| Proportional by spend | Split costs based on each destination's share of total spend. | Scenarios where teams should pay in proportion to their actual spend. | Untagged support costs are allocated to teams `teamA`, `teamB`, and `teamC` based on their proportion of total spend on Amazon EC2.|
- | Dynamic by metric | Split costs based each destination's share of total usage. | Scenarios where teams should pay in proportion to their actual usage. | Shared PostgreSQL costs are allocated by total query execution time per team. |
+ | Dynamic by metric | Split costs based on each destination's share of total usage. | Scenarios where teams should pay in proportion to their actual usage. | Shared PostgreSQL costs are allocated by total query execution time per team. |
-Custom allocation rules runs after [Tag Pipelines][1], enabling cost allocations on the latest user-defined tags. Costs are allocated on a daily basis. Cost allocations can be applied to AWS, Google Cloud, and Azure costs.
+Custom allocation rules run after [Tag Pipelines][1], enabling cost allocations on the latest user-defined tags. Costs are allocated on a daily basis. Cost allocations can be applied to AWS, Google Cloud, and Azure costs.
## Create a custom allocation rule
@@ -92,10 +94,9 @@ For example, this PostgreSQL metrics query `sum:postgresql.queries.time{*} by {u
To create a rule for this allocation, you could:
-- Define the costs to allocate (source): **PostGreSQL costs** (`azure_product_family:dbforpostgresql`).
+- Define the costs to allocate (source): **PostgreSQL costs** (`azure_product_family:dbforpostgresql`).
- Choose the allocation method: **Dynamic by metric**
- Choose the [destination tag](#step-3---define-the-destination) to split your costs by: **User** (`User A`, `User B`, `User C`).
-- Refine the allocation by applying [filters](#step-4---optional-apply-filters): **EC2** (`aws_product:ec2`).
- Define the metric query used to split the source costs: **Query execution time per user** (`sum:postgresql.queries.time{*}` by `{user}.as_count`).
- Create suballocations by [partitioning](#step-5---optional-apply-a-partition) the allocation rule: **environment** (`env`).
@@ -166,13 +167,13 @@ You can also disable a custom allocation rule without deleting it.
Rules are applied in the same order as shown in the list.
## Visualize your allocations
-Changes to custom allocation rules may take up to 24 hours to be applied. After being applied, the new allocations can be seen throughout Cloud Cost Management on all costs where Container Allocation is set to `enabled`. Custom allocated costs also include an `allocated_by_rule` tag, denoting the rule name that applied the allocation.
+Changes to custom allocation rules may take up to 24 hours to be applied. After being applied, the new allocations can be seen throughout Cloud Cost Management. Custom allocated costs also include an `allocated_by_rule` tag, denoting the rule name that applied the allocation.
{{< img src="cloud_cost/custom_allocation_rules/visualize_your_allocations-1.png" alt="See your allocations throughout Datadog" style="width:90%;" >}}
## Further reading
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /cloud_cost_management/tag_pipelines
+[1]: /cloud_cost_management/tags/tag_pipelines
[2]: https://app.datadoghq.com/cost/settings/custom-allocation-rules
[3]: https://www.datadoghq.com/support/
diff --git a/content/en/cloud_cost_management/datadog_costs/_index.md b/content/en/cloud_cost_management/datadog_costs/_index.md
index 8027feafe915e..8893d771071a6 100644
--- a/content/en/cloud_cost_management/datadog_costs/_index.md
+++ b/content/en/cloud_cost_management/datadog_costs/_index.md
@@ -92,7 +92,7 @@ You can use out-of-the-box tags to break down and allocate your Datadog cost dat
{{< partial name="whats-next/whats-next.html" >}}
-[1]: /cloud_cost_management/monitors
+[1]: /cloud_cost_management/reporting/monitors
[2]: /cloud_cost_management/setup/saas_costs
[3]: /cloud_cost_management/
[4]: /account_management/plan_and_usage/cost_details/
diff --git a/content/en/cloud_cost_management/optimization/_index.md b/content/en/cloud_cost_management/optimization/_index.md
new file mode 100644
index 0000000000000..ad3b44a7dc5f0
--- /dev/null
+++ b/content/en/cloud_cost_management/optimization/_index.md
@@ -0,0 +1,13 @@
+---
+title: Optimization
+description:
+further_reading:
+- link: "/cloud_cost_management/"
+ tag: "Documentation"
+ text: "Learn about Cloud Cost Management"
+---
+
+
+## Further reading
+
+{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/en/cloud_cost_management/planning/budgets.md b/content/en/cloud_cost_management/planning/budgets.md
index ddc6c69eb275b..3af70c94bc4e2 100644
--- a/content/en/cloud_cost_management/planning/budgets.md
+++ b/content/en/cloud_cost_management/planning/budgets.md
@@ -132,4 +132,4 @@ Learn how to [create a budget-based monitor][2].
{{< partial name="whats-next/whats-next.html" >}}
[1]: https://app.datadoghq.com/cost/plan/budgets
-[2]: /cloud_cost_management/monitors/
\ No newline at end of file
+[2]: /cloud_cost_management/reporting/monitors/
\ No newline at end of file
diff --git a/content/en/cloud_cost_management/reporting/_index.md b/content/en/cloud_cost_management/reporting/_index.md
new file mode 100644
index 0000000000000..5052fb7e71b2b
--- /dev/null
+++ b/content/en/cloud_cost_management/reporting/_index.md
@@ -0,0 +1,16 @@
+---
+title: Reporting
+description:
+further_reading:
+- link: "/cloud_cost_management/reporting/scheduled_reports"
+ tag: "Documentation"
+ text: "Scheduled cost reports"
+- link: "/cloud_cost_management/"
+ tag: "Documentation"
+ text: "Learn about Cloud Cost Management"
+---
+
+
+## Further reading
+
+{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/en/cloud_cost_management/anomalies.md b/content/en/cloud_cost_management/reporting/anomalies.md
similarity index 99%
rename from content/en/cloud_cost_management/anomalies.md
rename to content/en/cloud_cost_management/reporting/anomalies.md
index 026e69018035a..3c9de4cfc1fc1 100644
--- a/content/en/cloud_cost_management/anomalies.md
+++ b/content/en/cloud_cost_management/reporting/anomalies.md
@@ -4,7 +4,7 @@ further_reading:
- link: "/cloud_cost_management/"
tag: "Documentation"
text: "Learn about Cloud Cost Management"
-- link: "/cloud_cost_management/monitors"
+- link: "/cloud_cost_management/reporting/monitors"
tag: "Monitors"
text: "Create Cost Monitors"
---
diff --git a/content/en/cloud_cost_management/multisource_querying/_index.md b/content/en/cloud_cost_management/reporting/explorer.md
similarity index 99%
rename from content/en/cloud_cost_management/multisource_querying/_index.md
rename to content/en/cloud_cost_management/reporting/explorer.md
index f7ead05400ed8..660d2aeff2ea2 100644
--- a/content/en/cloud_cost_management/multisource_querying/_index.md
+++ b/content/en/cloud_cost_management/reporting/explorer.md
@@ -1,5 +1,5 @@
---
-title: Multisource Querying
+title: Cloud Cost Explorer
is_beta: true
description: Learn how to use Multisource Querying to query costs across multiple providers in Cloud Cost Management.
further_reading:
@@ -121,7 +121,7 @@ Cloud Cost Management retrieves the billing currency from each cloud provider's
[6]: https://app.datadoghq.com/cost/explorer
[7]: /dashboards
[8]: /notebooks
-[9]: /cloud_cost_management/monitors
+[9]: /cloud_cost_management/reporting/monitors
[10]: /cloud_cost_management
[11]: https://app.datadoghq.com/dashboard/lists
[12]: https://focus.finops.org/#obtain
diff --git a/content/en/cloud_cost_management/monitors/_index.md b/content/en/cloud_cost_management/reporting/monitors.md
similarity index 93%
rename from content/en/cloud_cost_management/monitors/_index.md
rename to content/en/cloud_cost_management/reporting/monitors.md
index 55606b3bc1d7d..271af8bc64f6a 100644
--- a/content/en/cloud_cost_management/monitors/_index.md
+++ b/content/en/cloud_cost_management/reporting/monitors.md
@@ -1,6 +1,8 @@
---
-title: Cloud Cost Monitor
+title: Monitors
description: Learn how to create a monitor with Cloud Cost data.
+aliases:
+- /cloud_cost_management/monitors
further_reading:
- link: "https://www.datadoghq.com/blog/ccm-cost-monitors/"
tag: "Blog"
diff --git a/content/en/cloud_cost_management/reports/_index.md b/content/en/cloud_cost_management/reporting/reports.md
similarity index 97%
rename from content/en/cloud_cost_management/reports/_index.md
rename to content/en/cloud_cost_management/reporting/reports.md
index ed90f1b73c363..113fcd799cb38 100644
--- a/content/en/cloud_cost_management/reports/_index.md
+++ b/content/en/cloud_cost_management/reporting/reports.md
@@ -1,9 +1,11 @@
---
title: Reports
private: true
+aliases:
+- /cloud_cost_management/reports
description: Track your organization spending with Cloud Cost Management Reports.
further_reading:
-- link: "/cloud_cost_management/reports/scheduled_reports"
+- link: "/cloud_cost_management/reporting/scheduled_reports"
tag: "Documentation"
text: "Scheduled cost reports"
- link: "/cloud_cost_management/"
@@ -105,5 +107,5 @@ After you've created and customized your report, you can save and share it from
[8]: /cloud_cost_management/setup/azure/#cost-types
[9]: /cloud_cost_management/setup/google_cloud/#cost-types
[10]: /cloud_cost_management/setup/custom/#cost-metric-types
-[11]: /cloud_cost_management/reports/scheduled_reports
+[11]: /cloud_cost_management/reporting/scheduled_reports
[12]: /cloud_cost_management/oracle/
diff --git a/content/en/cloud_cost_management/reports/scheduled_reports.md b/content/en/cloud_cost_management/reporting/scheduled_reports.md
similarity index 98%
rename from content/en/cloud_cost_management/reports/scheduled_reports.md
rename to content/en/cloud_cost_management/reporting/scheduled_reports.md
index 229af6ac85551..f71332348214d 100644
--- a/content/en/cloud_cost_management/reports/scheduled_reports.md
+++ b/content/en/cloud_cost_management/reporting/scheduled_reports.md
@@ -1,5 +1,7 @@
---
title: Scheduled Cost Reports
+aliases:
+- /cloud_cost_management/scheduled_reports
further_reading:
- link: "/cloud_cost_management/"
tag: "Documentation"
@@ -71,6 +73,6 @@ After a report is created, you can subscribe, unsubscribe, edit schedules, and d
{{< partial name="whats-next/whats-next.html" >}}
[1]: https://app.datadoghq.com/cost/analyze/reports
-[2]: /cloud_cost_management/reports
+[2]: /cloud_cost_management/reporting
[3]: /integrations/slack/?tab=datadogforslack
[4]: /account_management/org_settings/domain_allowlist/
\ No newline at end of file
diff --git a/content/en/cloud_cost_management/setup/aws.md b/content/en/cloud_cost_management/setup/aws.md
index 1fabd9d6c11b5..c55d504583c5d 100644
--- a/content/en/cloud_cost_management/setup/aws.md
+++ b/content/en/cloud_cost_management/setup/aws.md
@@ -21,10 +21,10 @@ further_reading:
## Overview
-To set up Cloud Cost Management in Datadog, you should:
-1. Have an AWS account with billing access
-2. Have the AWS integration installed in Datadog
-3. Follow the steps below to create a Cost and Usage Report
+To set up Cloud Cost Management in Datadog, you need:
+1. An AWS account with billing access
+2. The AWS integration installed in Datadog
+3. A Cost and Usage Report (follow the steps below to create one)
## Setup
@@ -32,13 +32,14 @@ To set up Cloud Cost Management in Datadog, you should:
Navigate to [Setup & Configuration][7] and select an AWS account from the dropdown menu to pull costs from.
-**Note**: Datadog recommends sending a Cost and Usage Report from an [AWS **management account**][2] for cost visibility into related **member accounts**. If you send a Cost and Usage report from an AWS **member account**, ensure that you have selected the following options in your **management account's** [preferences][3]:
+**Note:** Datadog recommends configuring a Cost and Usage Report from an [AWS **management account**][2] for cost visibility into related **member accounts**.
-* **Linked Account Access**
-* **Linked Account Refunds and Credits**
-* **Linked Account Discounts**
+If you send a Cost and Usage Report from an AWS **member account**, ensure that you have selected the following options in your **management account's** [preferences][3]:
+- **Linked Account Access**
+- **Linked Account Refunds and Credits**
+- **Linked Account Discounts**
-This ensures complete cost accuracy by allowing periodic cost calculations against the AWS Cost Explorer.
+These settings ensure complete cost accuracy by allowing periodic cost calculations against the AWS Cost Explorer.
{{< tabs >}}
@@ -63,7 +64,7 @@ Enter the following details for your Cost and Usage Report:
* **Export Path Prefix**: The S3 path prefix where report files are stored.
* **Export Name**: The name of your Cost and Usage Report.
-**Notes**:
+**Note**:
- These values either locate your existing Cost and Usage Report, or define the settings for newly created resources.
- It may take between 48 and 72 hours for all available data to populate in your Datadog organization after a complete Cost and Usage Report is generated. If 72 hours have passed and the data has still not yet populated, contact [Datadog Support][18].
@@ -105,7 +106,7 @@ To enable Datadog to locate the Cost and Usage Report, complete the fields with
* **Export Path Prefix**: This is the **S3 path prefix** in the Data export storage settings section.
* **Export Name**: This is the **Export name** in the Export name section.
-**Note**: Datadog only supports legacy CURs generated by AWS. Do not modify or move the files generated by AWS, or attempt to provide access to files generated by a 3rd party.
+**Note**: Datadog only supports legacy Cost and Usage Reports (CURs) generated by AWS. Do not modify or move the files generated by AWS, or attempt to provide access to files generated by a third party.
{{< site-region region="gov" >}}
The AWS Cost and Usage Reports endpoint is used to validate the above fields against the CUR export in your S3 bucket. This endpoint is not FIPS validated.
@@ -164,7 +165,7 @@ To enable Datadog to locate the Cost and Usage Report, complete the fields with
}
{{< /code-block >}}
-**Tip:** Make note of the name you created for this policy for next steps.
+**Note:** Make note of the name you created for this policy for next steps.
### Attach the policy to the Datadog integration role
@@ -189,7 +190,7 @@ Attach the new S3 policy to the Datadog integration role.
### Account filtering
-Use Account Filtering to control which AWS member accounts to pull into Cloud Cost Management. You do not incur any additional costs for accounts that you filter out.
+Use Account Filtering to control which AWS member accounts to pull into Cloud Cost Management. Filtering out accounts does not incur additional Datadog costs.
Using Account Filtering requires an AWS management account. You can configure account filters after an account has been configured in Cloud Cost Management.
@@ -210,9 +211,9 @@ Click **Billing dataset** to access the Account Filtering UI.
Visualize your ingested data using out-of-the-box cost types. The cost types differ mainly in how they report on discount rates, savings plans and reservations.
### On-demand
-**On-demand** costs are the costs of usage at the public, on-demand rate published by AWS. This excludes all savings plans, reservations, discounts, taxes, and fees.
+**On-demand** costs represent the cost of usage at the public, on-demand rate published by AWS. This excludes all savings plans, reservations, discounts, taxes, and fees.
-In most cases, on-demand costs are not a reliable source to estimate actual costs.
+**Note**: In most cases, on-demand costs are not a reliable source to estimate actual costs.
### Amortized and unblended costs
**Amortized** cost metrics distribute commitment savings throughout the discount term. This is also called _accrual basis_. Reservations and savings plans are drawn down from a monthly commitment and applied directly to covered usage, at the time of usage. Any unused remainder appears as a fee.
@@ -263,9 +264,11 @@ In general:
| `aws.cost.unblended` | Unblended costs, without container cost breakdowns. Matches the AWS invoice. |
| `aws.cost.ondemand` | Costs based on the list rate provided by AWS, excluding all savings plans, reservations, discounts, taxes, and fees. |
-## Tag enrichment
+## How Datadog enriches your AWS cost data with tags
-Datadog adds tags to the ingested cost data using many sources, described in detail below.
+Datadog automatically enriches your AWS cost data with tags from multiple sources. For a comprehensive overview of how tags are applied to cost data, see [Tags][19].
+
+The following tag sources are available for AWS:
- Cost and Usage Report columns
- AWS Resource tags
@@ -279,7 +282,7 @@ Datadog adds tags to the ingested cost data using many sources, described in det
All string-valued columns from the AWS [Cost and Usage Report (CUR)][6] are added as tags on cost metrics.
-To ensure consistency, Datadog normalizes tag keys using underscores and lower case. For example, the CUR column `lineItem/ResourceId` maps to the tag key `line_item/resource_id`. Tag values are generally unmodified - maintaining exact casing and most special characters.
+To ensure consistency, Datadog normalizes tag keys using underscores and lowercase. For example, the CUR column `lineItem/ResourceId` maps to the tag key `line_item/resource_id`. Tag values are generally unmodified, maintaining exact casing and most special characters.
**Examples:**
@@ -291,7 +294,7 @@ To ensure consistency, Datadog normalizes tag keys using underscores and lower c
### AWS resource tags
-[AWS resource tags][12] are user-defined tags that appear in the AWS console when viewing a particular resource, like an EC2 instance or S3 bucket.
+[AWS resource tags][12] are user-defined tags that appear in the AWS console when viewing a particular resource, such as an EC2 instance or S3 bucket.
When you enable the Datadog AWS integration, Datadog automatically collects resource tags for most AWS resources. These tags are applied to all costs found in the CUR for a given resource. Resource tags are retrieved regularly and are applied to cost data starting from the day they are created or modified. Historical tag values are not overwritten when tags change.
@@ -364,7 +367,7 @@ The following out-of-the-box tags are available for filtering and grouping data:
| `pricing/purchase_option` | How you chose to pay for the line item (such as `All Upfront`). |
| `pricing/term` | Whether your AWS usage is `Reserved` or `On-Demand`. |
| `pricing/unit` | The pricing unit that AWS used for calculating the usage cost (such as `Hours`). |
-| `reservation/availability_zone` | The Availability Zone of the resource associated with the line item (such as `us-east-1`). |
+| `reservation/availability_zone` | The availability zone of the resource associated with the line item (such as `us-east-1`). |
| `reservation/modification_status` | Shows whether the RI lease was modified or unaltered (such as `Manual`). |
| `reservation/reservation_arn` | The ARN of the RI that the line item benefited from. |
| `reservation/subscription_id` | The unique ID that maps the line item with the associated offer. |
@@ -377,9 +380,9 @@ The following out-of-the-box tags are available for filtering and grouping data:
#### Cost and observability correlation
-Viewing costs in context of observability data is important to understand how infrastructure changes impact costs, identify why costs change, and optimize infrastructure for both costs and performance. Datadog updates resource identifying tags on cost data for top AWS products to simplify correlating observability and cost metrics.
+Viewing costs in context of observability data is important to understand how infrastructure changes impact costs, identify why costs change, and optimize infrastructure for both costs and performance. Datadog updates resource-identifying tags on cost data for top AWS products to simplify correlating observability and cost metrics.
-For example, to view cost and utilization for each RDS database, you can make a table with `aws.cost.amortized`, `aws.rds.cpuutilization`, and `aws.rds.freeable_memory` (or any other RDS metric) and group by `dbinstanceidentifier`. Or, to see Lambda usage and costs side by side, you can graph `aws.lambda.concurrent_executions` and `aws.cost.amortized` grouped by `functionname`.
+For example, to view cost and utilization for each RDS database, you can create a table with `aws.cost.amortized`, `aws.rds.cpuutilization`, and `aws.rds.freeable_memory` (or any other RDS metric) and group by `dbinstanceidentifier`. To see Lambda usage and costs side by side, you can graph `aws.lambda.concurrent_executions` and `aws.cost.amortized` grouped by `functionname`.
The following out-of-the-box tags are available:
@@ -409,15 +412,16 @@ _Requires [container cost allocation][11], and applies only to `shared.resources
### Tag pipelines
-Finally, all of your [tag pipeline][15] rulesets are applied, providing complete cost allocation when infrastructure tagging is not possible.
+Finally, all of your [tag pipeline][15] rulesets are applied, providing complete cost allocation when infrastructure tagging is not possible. Tag pipelines are the final enrichment layer and add new tags to your cost data.
## Billing conductor
-[AWS Billing Conductor][16] is a custom billing service for AWS Marketplace Channel Partners (Partners) and organizations that have chargeback requirements.
+[AWS Billing Conductor][16] is a custom billing service for AWS Marketplace Channel Partners and organizations that have chargeback requirements.
Billing Conductor enables customers to create a second, pro forma version of their costs to share with their customers or account owners.
Billing rates, credits and fees, and overhead costs can be customized at your discretion. You can also select which accounts to include in the CUR.
-_Pro Forma Cost and Usage Reports do not include discounts and taxes, which makes it difficult to compare costs in Datadog to AWS Cost Explorer.
-Additionally, adding accounts to a billing group impacts how Reservations and Savings Plans are shared across AWS accounts._
+**Important limitations**:
+- Pro forma Cost and Usage Reports do not include discounts and taxes, which makes it difficult to compare costs in Datadog to AWS Cost Explorer.
+- Adding accounts to a billing group impacts how Reservations and Savings Plans are shared across AWS accounts.
To create a billing conductor CUR, follow the [AWS Cost and Usage Reports user guide][8]. Ensure the CUR meets [Datadog's requirements][9].
After the billing conductor CUR is created, follow the Cloud Cost Management instructions above to set it up in Datadog.
@@ -439,7 +443,8 @@ After the billing conductor CUR is created, follow the Cloud Cost Management ins
[12]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html
[13]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html
[14]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html
-[15]: /cloud_cost_management/tag_pipelines
+[15]: /cloud_cost_management/tags/tag_pipelines
[16]: https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html
[17]: https://app.datadoghq.com/cost/settings/accounts
[18]: /help/
+[19]: /cloud_cost_management/tags
diff --git a/content/en/cloud_cost_management/setup/azure.md b/content/en/cloud_cost_management/setup/azure.md
index d427077eedc4a..6efd0ad7febc7 100644
--- a/content/en/cloud_cost_management/setup/azure.md
+++ b/content/en/cloud_cost_management/setup/azure.md
@@ -20,9 +20,11 @@ further_reading:
## Overview
-To use Azure Cloud Cost Management in Datadog, you must set up the Datadog Azure integration and set up **amortized** and **actual** exports in Azure. Additionally, Datadog must have permissions to read the exports from the container.
+To use Azure Cloud Cost Management in Datadog, you must configure the Datadog Azure integration and create **amortized** and **actual** exports in Azure. Additionally, Datadog must have permissions to read the exports from the container.
-Datadog provides cost visibility on a Subscription, Resource Group, and Billing Account Level. Microsoft Customer Agreements (MCA) can be set up at all three scopes. Pay as you go (PAYG) accounts are in Preview. Contact [Datadog support][11] if you encounter any issues with setup. To determine your account type, see the [Azure documentation][10]. **Note**: If your account type is listed as "Microsoft Online Services Program", then your account is PAYG.
+Datadog provides cost visibility on a Subscription, Resource Group, and Billing Account Level. Microsoft Customer Agreements (MCA) can be set up at all three scopes. Pay as you go (PAYG) accounts are in Preview. Contact [Datadog support][11] if you encounter any issues with setup.
+
+To determine your account type, see the [Azure documentation][10]. **Note:** If your account type is listed as "Microsoft Online Services Program", then your account is PAYG.
## Setup
@@ -92,8 +94,8 @@ You need to generate exports for two data types: **actual** and **amortized**. D
5. Choose **Add role assignment**.
6. Choose **Storage Blob Data Reader**, then click Next.
7. Assign these permissions to one of the App Registrations you have connected with Datadog.
- - Click **Select members**, pick the name of the App Registration, and click **Select**. **Note:** If you do not see your App Registration listed, start typing in the name for the UI to update and show it, if it is available.
- - Select *review + assign*.
+ - Click **Select members**, pick the name of the App Registration, and click **Select**. **Note:** If you do not see your App Registration listed, start typing the name for the UI to update and show it, if it is available.
+ - Select **Review + assign**.
If your exports are in different storage containers, repeat steps one to seven for the other storage container.
{{% /tab %}}
@@ -108,7 +110,7 @@ If your exports are in different storage containers, repeat steps one to seven f
6. Choose **Storage Blob Data Reader**, then click Next.
7. Assign these permissions to one of the App Registrations you have connected with Datadog.
- Click **Select members**, pick the name of the App Registration, and click **Select**.
- - Select *review + assign*.
+ - Select **Review + assign**.
If your exports are in different storage containers, repeat steps one to seven for the other storage container.
@@ -130,7 +132,7 @@ This ensures complete cost accuracy by allowing periodic cost calculations again
{{% /tab %}}
{{< /tabs >}}
-**Note**: If you have the proper permissions on the app registration but your network is blocking Datadog's webhook IPs, you may see unexpected errors that appear to be permission issues.
+**Note**: If you have the proper permissions on the app registration but your network is blocking Datadog's webhook IPs, you may encounter errors that appear to be permission-related.
To resolve this, add Datadog's webhook IPs to your network allowlist by visiting the `Webhooks` section at `https://ip-ranges.`{{< region-param key="dd_site" code="true" >}}.
@@ -172,7 +174,9 @@ You can visualize your ingested data using the following cost types:
### Out-of-the-box tags
-Datadog adds out-of-the-box tags to ingested cost data to help you further break down and allocate your costs. These tags are derived from your [usage cost report][9] and make it easier to discover and understand cost data.
+Datadog automatically enriches your Azure cost data with tags from multiple sources. For a comprehensive overview of how tags are applied to cost data, see [Tags][12].
+
+The following out-of-the-box tags are derived from your [usage cost report][9] and make it easier to discover and understand cost data:
| Tag Name | Tag Description |
| ---------------------------- | ----------------- |
@@ -225,7 +229,7 @@ Datadog adds out-of-the-box tags to ingested cost data to help you further break
| `resourceid` | The ID of the Azure resource. |
| `resourcelocation` | The data center location where the resource is running (such as `westus2`). |
| `resourcename` | The name of the resource. Not all charges come from deployed resources. |
-| ResourceType | |
+| `resourcetype` | The type of the Azure resource. |
| `servicefamily` | The service family that the service belongs to (such as `Compute`). The tag `consumedservice` has deeper insights on infrastructure types. |
| `ServicePeriodEndDate` | The termination date of the Azure service period. |
| `ServicePeriodStartDate` | The start date the Azure service period. |
@@ -255,3 +259,4 @@ For example, to view cost and utilization for each Azure VM, you can make a tabl
[9]: https://learn.microsoft.com/en-us/azure/cost-management-billing/understand/download-azure-daily-usage
[10]: https://docs.azure.cn/en-us/cost-management-billing/manage/resolve-past-due-balance#check-the-type-of-your-account
[11]: /help/
+[12]: /cloud_cost_management/tags
diff --git a/content/en/cloud_cost_management/setup/google_cloud.md b/content/en/cloud_cost_management/setup/google_cloud.md
index 7abd20aef8dd3..47ead0a741bd8 100644
--- a/content/en/cloud_cost_management/setup/google_cloud.md
+++ b/content/en/cloud_cost_management/setup/google_cloud.md
@@ -122,7 +122,7 @@ If your integrated Service Account exists in a different Google Cloud Platform p
1. Trigger the service agent creation by following the [official documentation][11] using the following values:
* ENDPOINT: `bigquerydatatransfer.googleapis.com`
* RESOURCE_TYPE: `project`
- * RESOURCE_ID: export dataset project
+ * RESOURCE_ID: export dataset project
This creates a new service agent that looks like `service-@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com`.
@@ -133,7 +133,7 @@ If your integrated Service Account exists in a different Google Cloud Platform p
### Configure Cloud Cost
Continue to follow the steps indicated in [Setup & Configuration][3].
-**Note**: Data can take up to 48 to 72 hours after setup to stabilize in Datadog.
+**Note**: Data can take 48 to 72 hours after setup to stabilize in Datadog.
## Cost types
You can visualize your ingested data using the following cost types:
@@ -145,9 +145,10 @@ You can visualize your ingested data using the following cost types:
| `gcp.cost.ondemand` | Total public, on-demand cost of resources before public and private discounts are applied over an interval. |
### Out-of-the-box tags
-Datadog adds out-of-the-box tags to ingested cost data to help you further break down and allocate your costs. These tags are derived from your [detailed usage cost report][16] and make it easier to discover and understand cost data.
-The following out-of-the-box tags are available for filtering and grouping data:
+Datadog automatically enriches your Google Cloud cost data with tags from multiple sources. For a comprehensive overview of how tags are applied to cost data, see the [Tags documentation][17].
+
+The following out-of-the-box tags are derived from your [detailed usage cost report][16] and make it easier to discover and understand cost data:
| Tag Name | Tag Description |
| ---------------------------- | ----------------- |
@@ -207,3 +208,4 @@ The following out-of-the-box tags are available:
[14]: /cloud_cost_management/container_cost_allocation/
[15]: /cloud_cost_management/setup/google_cloud/#create-or-select-a-google-cloud-storage-bucket
[16]: https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables/detailed-usage
+[17]: /cloud_cost_management/tags
diff --git a/content/en/cloud_cost_management/setup/oracle.md b/content/en/cloud_cost_management/setup/oracle.md
index 5accdd6fcc408..f00035b717c31 100644
--- a/content/en/cloud_cost_management/setup/oracle.md
+++ b/content/en/cloud_cost_management/setup/oracle.md
@@ -99,8 +99,8 @@ Container cost allocation is not available for OCI. See [Container Cost Allocati
## Further reading
{{< partial name="whats-next/whats-next.html" >}}
-[1]: https://docs.datadoghq.com/integrations/oracle-cloud-infrastructure/
+[1]: /integrations/oracle-cloud-infrastructure/
[2]: https://app.datadoghq.com/cost/setup?cloud=oracle
-[3]: https://docs.datadoghq.com/integrations/oracle-cloud-infrastructure/?tab=createvcnrecommended#oci-integration-manual-to-quickstart-migration
+[3]: /integrations/oracle-cloud-infrastructure/?tab=createvcnrecommended#oci-integration-manual-to-quickstart-migration
[4]: https://docs.oracle.com/en-us/iaas/Content/Billing/Concepts/costusagereportsoverview.htm
-[5]: https://docs-staging.datadoghq.com/jahanzeb.hassan/oci-docs-yo/cloud_cost_management/cost_allocation/container_cost_allocation/?tab=aws
+[5]: /cloud_cost_management/allocation/container_cost_allocation/?tab=aws
diff --git a/content/en/cloud_cost_management/real_time_costs.md b/content/en/cloud_cost_management/setup/real_time_costs.md
similarity index 98%
rename from content/en/cloud_cost_management/real_time_costs.md
rename to content/en/cloud_cost_management/setup/real_time_costs.md
index 0a98e869e95cf..8ea21cee2fabd 100644
--- a/content/en/cloud_cost_management/real_time_costs.md
+++ b/content/en/cloud_cost_management/setup/real_time_costs.md
@@ -76,4 +76,4 @@ You can use the `estimated_hourly_cost` tag to understand the estimated unit cos
- Instances are monitored by the Datadog Agent but are not included in CCM billing data
[1]: /metrics/types/?tab=rate#metric-types
-[2]: /cloud_cost_management/cost_allocation/container_cost_allocation/
+[2]: /cloud_cost_management/allocation/container_cost_allocation/
diff --git a/content/en/cloud_cost_management/tags/_index.md b/content/en/cloud_cost_management/tags/_index.md
new file mode 100644
index 0000000000000..db9186ee98941
--- /dev/null
+++ b/content/en/cloud_cost_management/tags/_index.md
@@ -0,0 +1,130 @@
+---
+title: Tags
+description: Learn how tags are sourced, enriched, and managed in Cloud Cost Management.
+further_reading:
+- link: "/cloud_cost_management/"
+ tag: "Documentation"
+ text: "Learn about Cloud Cost Management"
+- link: "/cloud_cost_management/tags/tag_pipelines"
+ tag: "Documentation"
+ text: "Tag Pipelines"
+- link: "/cloud_cost_management/tags/tag_explorer"
+ tag: "Documentation"
+ text: "Tag Explorer"
+- link: "/getting_started/tagging/"
+ tag: "Documentation"
+ text: "Getting Started with Tags"
+---
+
+## Overview
+
+Tags help you investigate and understand your cloud and SaaS costs across any dimensions. Tags consist of tag keys and values. For example, in `aws_product:ec2`, the tag key is `aws_product`, and the value is `ec2`.
+
+Cloud Cost Management automatically enriches your cost data with tags from multiple sources, to help you achieve better cost allocation and get deeper insight into who owns infrastructure costs in your ever-changing cloud environments. Using tags, you can allocate shared costs fairly, create accurate reports, and track costs by team, service, or environment.
+
+## Where tags come from
+
+Across all cloud and SaaS providers, Datadog collects tags from the following sources (including enriching cost data with data from other Datadog products) and adds them to your cost data:
+
+| Source | What tags are collected | Description |
+|---|---|---|
+| All Providers | Bill columns | Such as AWS Cost and Usage Report (CUR) columns, Google Billing Export columns, etc |
+| Datadog Enrichment | Host Agent | Tags added to host metadata by the Datadog agent running on the host |
+| Datadog Enrichment | Software Catalog | Tags associated with this service in the APM Service Catalog |
+| Datadog Enrichment | Integration Tiles | Tags added to the Datadog integration tile for a specific cloud account. Integration tile tags apply to all costs in that account. Requires enabling the provider integration for each account |
+| Datadog Enrichment | Data Observability | Tags from the Datadog Data Observability product, powering BigQuery cost allocation. Requires enabling BigQuery monitoring |
+| Datadog Enrichment | Cloud Network Monitoring | Source and destination dimensions from the [Datadog Cloud Network][12] product. Requires enabling Cloud Network in the Datadog agent. See [data transfer cost allocation][13] for more details |
+| Kubernetes Enrichment | Kubernetes Node | User-defined tags found on Kubernetes nodes monitored with Datadog |
+| Kubernetes Enrichment | Kubernetes Pod | User-defined tags found on Kubernetes pods monitored with Datadog |
+| Kubernetes Enrichment | Kubernetes Persistent Volume | User-defined tags found on Persistent Volumes in Kubernetes clusters monitored with Datadog |
+| Kubernetes Enrichment | Kubernetes Persistent Volume Claim | User-defined tags found on Persistent Volume Claims in Kubernetes clusters monitored with Datadog |
+| Cloud Cost Management | Cloud Cost Aliases | Tags derived from provider cost data to simplify the cost data model, such as `aws_product` (an alias of `lineItem/ProductCode`). Additional tags that exist on both cost data and integration metrics are added, allowing cost data and usage data to be combined in Custom Allocation Rules, dashboards, and notebooks |
+| Cloud Cost Management | Cloud Cost Allocation | Tags created during [cost allocation][11] that specify the split of shared resources, such as `allocated_spend_type` |
+| Cloud Cost Management | FOCUS | Provider-agnostic tags compliant with [FOCUS][8], the unifying format for cloud billing data |
+| Tag Pipelines | Rules defined by user | Tags created by applying your Tag Pipelines to cost data |
+| Custom Allocation Rules | Rules defined by user | Tags created by applying your Custom Allocation Rules to cost data (do not apply to SaaS costs) |
+
+Datadog also adds provider specific tags:
+
+| Provider | What tags are collected | Description |
+|---|---|---|
+| AWS | Cost Allocation Tags | Any tag defined by the user in [AWS Cost Allocation][1] tags that show up in the AWS CUR |
+| AWS | AWS Resource Groups Tagging API | User-defined tags on a cloud resource in AWS, pulled by Cloud Cost Management using the [Groups Tagging API][10] |
+| AWS | AWS Organizational Units | User-defined tags on an AWS organizational units using [AWS Organizations][7] |
+| AWS | AWS Organizations - Accounts | User-defined tags on an AWS account using [AWS Organizations][7] |
+| Amazon ECS | Amazon ECS Task | User-defined tags on an ECS task definition |
+| Amazon ECS | Amazon ECS Container | User-defined tags on a container running in an ECS task |
+| Azure | Azure Cost Export - User Resource Tags | User-defined tags on a cloud resource in Azure, found in the Tags column in the Azure cost export. Does not include Resource Group tags |
+| Azure | Azure Cost Export - System Resource Tags | Azure-defined tags on a cloud resource, found in the AdditionalInfo column in the Azure cost export |
+| Google Cloud | Google Billing Export - Project Labels| User-defined labels on a project in Google Cloud, found in the project.labels column in the billing export |
+| Google Cloud | Google Billing Export - System Resource Labels | System-generated labels on a resource in Google Cloud, found in the system_labels column in the billing export |
+| Google Cloud | Google Billing Export - User Resource Labels | User-defined labels on a cloud resource in Google Cloud, found in the labels column in the billing export |
+| Google Cloud | Google Billing Export - User Resource Tags | User-defined tags on a cloud resource in Google Cloud, found in the tags column in the billing export. The `goog-originating-sku-description` tag is added leveraging Google's SKU APIs, to provide more granular SKU details for commitment line items. |
+| Google Cloud | GKE Pod | User-defined labels found on pods running in Google Kubernetes Engine |
+| Oracle Cloud | OCI Cost Export - User Resource Tags | User-defined tags on a cloud resource in Oracle Cloud Infrastructure, from the Tags column in the OCI FOCUS cost export |
+| Datadog | Datadog Usage Attribution | User-defined tags for Usage Attribution in Datadog Plan and Usage |
+| Custom Costs | Cost File Tags | User-defined tags for every provider, found on [cost files][9] uploaded to Cloud Cost Management |
+
+## How tags are normalized
+
+Tag keys and/or values may look slightly different in Cloud Cost Management compared to the providers or other parts of Datadog because of tag normalization.
+
+Cloud Cost Management normalizes tag **keys** largely the same as Datadog Metrics:
+- Drop leading characters that are not letters
+- Lower-case all characters
+- Replace special characters and spaces with single underscore
+- Remove any trailing underscore
+- Reduce contiguous underscores to a single underscore
+- Tag keys up to 5000 characters are supported, and any characters up until a letter are dropped so that tag keys start with letters (differs from Datadog Metrics)
+
+Cloud Cost Management normalizes tag **values** as well, while maintaining human readable tag values for cost reporting. For example, `aws_instance_family:Machine Learning ASIC Instances` remains readable rather than being converted to something like `machine_learning_asic_instances`. The normalization follows this logic:
+- Convert any consecutive whitespace to a single space
+- Keep all letters, marks, numbers, punctuation, and symbols
+- Replace any other characters with an underscore `_`
+- Tag values up to 5000 characters are supported
+
+## How tags are prioritized
+
+A cost data row can have multiple values for the same tag key when tag values from two or more sources are combined and one is not prioritized over the other.
+
+To resolve conflicts and mitigate this, Cloud Cost Management replaces existing tags instead of adding duplicates using the most specific source for each tag key. For example, a Kubernetes Pod tag `team:shopping` would take precedence and replace a Kubernetes node tag `team:compute`.
+
+Sources higher in this list replace tag values from sources lower in this list, if there are conflicts:
+- Custom Allocation Rules
+- FOCUS
+- Service Catalog
+- Amazon ECS Container
+- Amazon ECS Task
+- Kubernetes Pod
+- Kubernetes Persistent Volume
+- Kubernetes Node
+- Host Agent
+
+Other tag sources (such as AWS Organization tags, integration tile tags, and similar sources) can be overridden by these sources. Bill columns and FOCUS columns are reserved and cannot be overridden by any source. Tag Pipelines add new tags but do not override existing tags.
+
+## Improving tagging
+
+1. **Understand what tags exist** - Use [Tag Explorer][5] to discover which tags are already available in your cost data.
+2. **Identify gaps in cost allocation** - In Explorer, group by any tag to see how many dollars are allocated to that tag, or are unallocated (which show up as `N/A`). Make sure to have "Container Allocated" enabled so that you are looking at cost allocation including tags on pods.
+3. **Split up shared costs** - Use [Custom Allocation Rules][6] to split and assign shared costs back to teams, services, or more. You can use observability data to split costs accurately based on infrastructure usage.
+4. **Address missing or incorrect tags** - Use [Tag Pipelines][4] to alias tags, or create a new tag, for incorrect tagging. For example, if your organization wants to use the standard `application` tag key, but teams use variations (like app, webapp, or apps), you can clean up those tags to become `application` for more accurate cost reporting.
+5. **Add new tags** - Use [Tag Pipelines][4] to automatically create new inferred tags that align with specific business logic, such as a `business-unit` tag based on team structure.
+
+{{< img src="cloud_cost/tag_explorer/aws_1.png" alt="Tag Explorer interface showing available AWS tags and their usage" style="width:80%;" >}}
+## Further reading
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
+[2]: /cloud_cost_management/container_cost_allocation
+[3]: /cloud_cost_management/setup/aws/#aws-resource-tags
+[4]: /cloud_cost_management/tags/tag_pipelines
+[5]: /cloud_cost_management/tags/tag_explorer
+[6]: /cloud_cost_management/allocation/custom_allocation_rules
+[7]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html
+[8]: https://focus.finops.org/
+[9]: /cloud_cost_management/setup/custom?tab=csv
+[10]: https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/overview.html
+[11]: /cloud_cost_management/cost_allocation/container_cost_allocation/?tab=aws#understanding-spend
+[12]: /network_monitoring/
+[13]: /cloud_cost_management/cost_allocation/container_cost_allocation/?tab=aws#data-transfer
\ No newline at end of file
diff --git a/content/en/cloud_cost_management/tag_explorer/_index.md b/content/en/cloud_cost_management/tags/tag_explorer.md
similarity index 86%
rename from content/en/cloud_cost_management/tag_explorer/_index.md
rename to content/en/cloud_cost_management/tags/tag_explorer.md
index 60212c5542c1f..7236338b326e7 100644
--- a/content/en/cloud_cost_management/tag_explorer/_index.md
+++ b/content/en/cloud_cost_management/tags/tag_explorer.md
@@ -1,5 +1,7 @@
---
title: Tag Explorer
+aliases:
+ - /cloud_cost_management/tag_explorer
description: Search and manage all cost-related tags, including those from your bills, with insights into their sources.
further_reading:
- link: "/cloud_cost_management/"
@@ -14,16 +16,16 @@ further_reading:
- link: "/cloud_cost_management/setup/saas_costs"
tag: "Documentation"
text: "Learn about SaaS Cost Integrations"
-- link: "/cloud_cost_management/tag_pipelines"
+- link: "/cloud_cost_management/tags/tag_pipelines"
tag: "Documentation"
text: "Learn about Tag Pipelines"
---
## Overview
-[Cloud Cost Management][1] detects the sources for all of your cost-related tags, allowing you to search and manage tags for breaking down costs, including [Custom costs][4], [Datadog costs][5], and [SaaS cost integrations][6].
+[Cloud Cost Management][1] detects the sources for all of your cost-related tags. You can search and manage tags for breaking down costs, including [Custom costs][4], [Datadog costs][5], and [SaaS cost integrations][6].
-Use the [Tag Explorer][2] to understand the sources and view descriptions for each tag, in addition to those managed through [Tag Pipelines][3]. [Tag Pipelines][3] allow you to create and manage tag rules that fix missing or incorrect tags on your cloud bill, or create inferred tags according to your business logic.
+Use the [Tag Explorer][2] to understand the sources and view descriptions for each tag. This includes tags managed through [Tag Pipelines][3]. [Tag Pipelines][3] allow you to create and manage tag rules that fix missing or incorrect tags on your cloud bill, or create inferred tags according to your business logic.
{{< img src="cloud_cost/tag_explorer/dropdown_1.png" alt="Search through the list of Azure cost-related tags in the Tag Explorer and understand where the costs are coming from" style="width:100%;" >}}
@@ -35,7 +37,7 @@ See the respective documentation for your cloud provider:
{{< partial name="cloud_cost/getting-started.html" >}}
-
+
## Search and manage tags
@@ -60,7 +62,7 @@ For Azure tags, select **Azure** from the dropdown menu on the top right corner.
For Google Cloud tags, select **Google** from the dropdown menu on the top right corner.
-{{< img src="cloud_cost/tag_explorer/google_1.png" alt="Search through the list of Azure cost-related tags in the Tag Explorer and understand where the costs are coming from" style="width:100%;" >}}
+{{< img src="cloud_cost/tag_explorer/google_1.png" alt="Search through the list of Google Cloud cost-related tags in the Tag Explorer and understand where the costs are coming from" style="width:100%;" >}}
{{% /tab %}}
{{% tab "Datadog" %}}
@@ -147,7 +149,7 @@ For Twilio tags, select **Twilio** from the dropdown menu on the top right corne
{{< /tabs >}}
## Set preferred tags
-Set up to five preferred tags to highlight your organization's most important tags throughout Cloud Cost Management. These tags appear first when selecting tags in the [Explorer page][7], [CCM Reports][8], and [Custom Allocation Rules][9], among other areas.
+You can set up to five preferred tags to highlight your organization's most important tags throughout Cloud Cost Management. These tags appear first when selecting tags in the [Explorer page][7], [CCM Reports][8], and [Custom Allocation Rules][9], among other areas.
{{< img src="cloud_cost/tag_explorer/preferred_tags_1.png" alt="Preferred tags are shown throughout CCM" style="width:100%;" >}}
@@ -161,10 +163,10 @@ You can choose preferred tags from any of your existing cost data tags, includin
[1]: /cloud_cost_management/
[2]: https://app.datadoghq.com/cost/tags
-[3]: /cloud_cost_management/tag_pipelines
+[3]: /cloud_cost_management/tags/tag_pipelines
[4]: /cloud_cost_management/setup/custom
[5]: /cloud_cost_management/datadog_costs
[6]: /cloud_cost_management/setup/saas_costs
[7]: https://app.datadoghq.com/cost/explorer
-[8]: /cloud_cost_management/reports
-[9]: /cloud_cost_management/custom_allocation_rules
+[8]: /cloud_cost_management/reporting
+[9]: /cloud_cost_management/allocation/custom_allocation_rules
diff --git a/content/en/cloud_cost_management/tag_pipelines.md b/content/en/cloud_cost_management/tags/tag_pipelines.md
similarity index 78%
rename from content/en/cloud_cost_management/tag_pipelines.md
rename to content/en/cloud_cost_management/tags/tag_pipelines.md
index 7b4252166bb77..de4a07969facd 100644
--- a/content/en/cloud_cost_management/tag_pipelines.md
+++ b/content/en/cloud_cost_management/tags/tag_pipelines.md
@@ -1,5 +1,7 @@
---
title: Tag Pipelines
+aliases:
+ - /cloud_cost_management/tag_pipelines/
further_reading:
- link: "/cloud_cost_management/"
tag: "Documentation"
@@ -14,13 +16,13 @@ further_reading:
## Overview
-To effectively monitor cloud costs, you need a comprehensive understanding of how various services, teams, and products contribute to your overall spending. Tag Pipelines enforce the use of standardized tags across your cloud resources and ensure consistent, accurate cost attribution throughout your organization.
+To effectively monitor cloud costs, you need to understand how various services, teams, and products contribute to your overall spending. Tag Pipelines enforce the use of standardized tags across your cloud resources and ensure consistent, accurate cost attribution throughout your organization.
With [Tag Pipelines][1], you can create tag rules to address missing or incorrect tags on your cloud bills. You can also create new inferred tags that align with specific business logic to enhance the accuracy of your cost tracking.
-Tag pipelines are applied to Cloud Cost metrics from all providers. Tag pipelines are not applied to Cloud Cost Recommendations.
+Tag pipelines are applied to Cloud Cost metrics from all providers, but are not applied to Cloud Cost Recommendations.
-When tag pipelines change, the new rules are automatically applied to the most recent three months of data. It may take up to 24 hours for the backfill to complete after rules are added or modified.
+When tag pipelines change, the new rules are automatically applied to the most recent three months of data. It may take up to 24 hours for the historical data update to complete after rules are added or modified.
## Create a ruleset
@@ -47,7 +49,7 @@ For example, you can create a rule to tag all resources with their business unit
Under the **Additional options** section, you have the following options:
- **Only apply if tag `{tag}` doesn't exist** - Ensures the rule only applies if the specified tag (`business-unit` in the example above) doesn't already exist.
-- **Apply case-insensitive matching to resource tags** - Enables tags defined in the `To resources with tag(s)` field and tags from the cost data to be case insensitive. For example, if resource tags from the UI is: `foo:bar` and the tag from the cost data is `Foo:bar`, then the two can be matched.
+- **Apply case-insensitive matching to resource tags** - Enables tags defined in the `To resources with tag(s)` field and tags from the cost data to be case insensitive. For example, if resource tags from the UI are: `foo:bar` and the tag from the cost data is `Foo:bar`, then the two can be matched.
### Alias tag keys
@@ -57,24 +59,24 @@ For example, if your organization wants to use the standard `application` tag ke
{{< img src="cloud_cost/pipelines-alias-tag.png" alt="Add application tag to resources with app, webapp, or apps tag." style="width:60%;" >}}
-Add the application tag to resources with `app`, `webapp`, or `apps` tags. The rule stops executing for each resource after a first match is found. For example, if a resource already has a `app` tag, then the rule no longer attempts to identify a `webapp` or `apps` tag.
+Add the application tag to resources with `app`, `webapp`, or `apps` tags. The rule stops executing for each resource after the first match is found. For example, if a resource already has an `app` tag, then the rule no longer attempts to identify a `webapp` or `apps` tag.
To ensure the rule only applies if the `application` tag doesn't already exist, click the toggle in the **Additional options** section.
### Map multiple tags
-Use [Reference Tables][2] to add multiple tags to cost data without creating multiple rules. This maps the values from your Reference Table's primary key column to values from cost tags. If found, the pipelines adds the selected Reference Table columns as tags to cost data.
+Use [Reference Tables][2] to add multiple tags to cost data without creating multiple rules. This maps the values from your Reference Table's primary key column to values from cost tags. If found, the pipeline adds the selected Reference Table columns as tags to cost data.
For example, if you want to add information about which VPs, organizations, and business_units different AWS and Azure accounts fall under, you can create a table and map the tags.
{{< img src="cloud_cost/pipelines-map-multiple-tags.png" alt="Add account metadata like customer_name using reference tables for tag pipelines" style="width:60%;" >}}
-Similar to [Alias tag keys](#alias-tag-keys), the rule stops executing for each resource after a first match is found. For example, if an `aws_member_account_id` is found, then the rule no longer attempts to find a `subscriptionid`.
+Similar to [Alias tag keys](#alias-tag-keys), the rule stops executing for each resource after the first match is found. For example, if an `aws_member_account_id` is found, then the rule no longer attempts to find a `subscriptionid`.
Under the **Additional options** section, you have the following options:
- **Only apply if columns don't exist** - Ensures the defined columns are only added if they do not already exist with the associated tags from the cost data.
-- **Apply case-insensitive matching for primary key values** - Enables case-insensitive matching between the primary key value from the reference table and the value of the tag in the cost data where the tag key matches the primary key. For example, if the primary key value pair from UI is: foo:Bar and the tag from the cost data is foo:bar, then the two can be matched.
+- **Apply case-insensitive matching for primary key values** - Enables case-insensitive matching between the primary key value from the reference table and the value of the tag in the cost data where the tag key matches the primary key. For example, if the primary key value pair from the UI is `foo:Bar` and the tag from the cost data is `foo:bar`, then the two can be matched.
## Reserved tags
@@ -83,7 +85,7 @@ Certain tags such as `env` and `host` are [reserved tags][4], and are part of [U
Using tags helps correlate your metrics, traces, processes, and logs. Reserved tags like `host` provide visibility and effective monitoring across your infrastructure. For optimal correlation and actionable insights, use these reserved tags as part of your tagging strategy in Datadog.
## Delete tags
-To delete a tag created using Tag Pipelines, delete the rule that created it. Within 24 hours, the tag will be automatically removed from the most recent three months of data. To remove the tag from older data, request a backfill through [Datadog support][5].
+To delete a tag created using Tag Pipelines, delete the rule that created it. Within 24 hours, the tag is automatically removed from the most recent three months of data. To remove the tag from older data, contact [Datadog support][5].
## Further reading
@@ -93,3 +95,4 @@ To delete a tag created using Tag Pipelines, delete the rule that created it. Wi
[2]: /integrations/guide/reference-tables/?tab=manualupload
[3]: /getting_started/tagging/unified_service_tagging/
[4]: /getting_started/tagging/
+[5]: /help/