diff --git a/hugo/config/_default/menus/main.en.yaml b/hugo/config/_default/menus/main.en.yaml index 6ba017882ec..49131c06e54 100644 --- a/hugo/config/_default/menus/main.en.yaml +++ b/hugo/config/_default/menus/main.en.yaml @@ -4222,16 +4222,21 @@ menu: parent: cloud_cost identifier: cloud_cost_recommendations weight: 7 - - name: Cost Optimization Automation + - name: Cost Optimization Automations url: cloud_cost_management/recommendations/cost_optimization_automation parent: cloud_cost_recommendations identifier: cloud_cost_optimization_automation weight: 700 + - name: Notifications + url: cloud_cost_management/recommendations/notifications + parent: cloud_cost_recommendations + identifier: cloud_cost_notifications + weight: 701 - name: Custom Recommendations url: cloud_cost_management/recommendations/custom_recommendations parent: cloud_cost_recommendations identifier: cloud_cost_custom_recommendations - weight: 701 + weight: 702 - name: Planning url: cloud_cost_management/planning parent: cloud_cost diff --git a/hugo/content/en/cloud_cost_management/recommendations/_index.md b/hugo/content/en/cloud_cost_management/recommendations/_index.md index ba78e2e79ab..3677431492b 100644 --- a/hugo/content/en/cloud_cost_management/recommendations/_index.md +++ b/hugo/content/en/cloud_cost_management/recommendations/_index.md @@ -697,7 +697,7 @@ You can see the detailed logic for each recommendation type, along with observab Recommendations support [Tag Pipelines][11], allowing you to filter, group, and analyze recommendations using your organization's standardized tags. Any tag rules configured in Tag Pipelines are automatically applied to recommendations and [are normalized][12]. -You can also query your recommendations from an AI agent with the [`cost_recommendations`][16] tool in the Datadog MCP Server. +You can also query your recommendations from an AI agent with the [`cost_recommendations`][17] tool in the Datadog MCP Server. ## Recommendation categories @@ -719,8 +719,8 @@ The following are requirements necessary to receive Cloud Cost recommendations: - [AWS integration and resource collection][3] (for AWS recommendations) - [Azure integration and resource collection][8] (for Azure recommendations) - [GCP integration and resource collection][10] (for GCP recommendations) -- [OpenAI integration][17] (for OpenAI recommendations) -- [Anthropic integration][18] (for Anthropic recommendations) +- [OpenAI integration][18] (for OpenAI recommendations) +- [Anthropic integration][19] (for Anthropic recommendations) - [Datadog Agent integration][5] (for Downsize recommendations) ## Setup @@ -800,7 +800,8 @@ You can act on recommendations to save money and optimize costs. Cloud Cost Reco - **[Bits Code][14] code fixes**: Code fixes are available for applicable S3 and DynamoDB recommendations, as well as the Downsize Kubernetes Deployment recommendation. In these situations, Bits Code creates production-ready pull requests to implement cloud resource changes and cost optimizations in Terraform or Helm charts, respectively. [Set up Bits Code][13] to use this feature. - **1-click Workflow Automation actions**: Actions are available for a limited set of recommendations, allowing users to execute suggested actions, such as clicking {{< ui >}}Delete EBS Volume{{< /ui >}}, directly within Cloud Cost Management. -- **[Cost Optimization Automation][15]**: Set up automations that act on recommendations continuously on a recurring schedule. Automations are scoped to specific accounts, regions, and tags and include safeguards such as pre-action snapshots and optional human approval through Slack or Microsoft Teams. +- **[Cost Optimization Automations][15]**: Set up automations that act on recommendations continuously on a recurring schedule. Automations are scoped to specific accounts, regions, and tags and include safeguards such as pre-action snapshots and optional human approval through Slack or Microsoft Teams. +- **[Notifications][16]**: Set up notification rules that send a recurring Slack summary of matching recommendations, without taking any action. - **Datadog Case Management**: Users can go to the recommendation side panel and click {{< ui >}}Create Case{{< /ui >}} to generate a case to manage and take action on recommendations. - **Dismiss**: Use {{< ui >}}Dismiss{{< /ui >}} in the recommendation side panel to hide a recommendation for a chosen time frame and provide a reason. Dismissed recommendations move to the {{< ui >}}Dismissed{{< /ui >}} tab. @@ -827,6 +828,7 @@ You can act on recommendations to save money and optimize costs. Cloud Cost Reco [13]: /bits_ai/bits_code/setup [14]: /bits_ai/bits_code/ [15]: /cloud_cost_management/recommendations/cost_optimization_automation/ -[16]: /mcp_server/tools/#cost_recommendations -[17]: /cloud_cost_management/setup/saas_costs/?tab=openai#configure-your-saas-accounts -[18]: /cloud_cost_management/setup/saas_costs/?tab=anthropic#configure-your-saas-accounts +[16]: /cloud_cost_management/recommendations/notifications/ +[17]: /mcp_server/tools/#cost_recommendations +[18]: /cloud_cost_management/setup/saas_costs/?tab=openai#configure-your-saas-accounts +[19]: /cloud_cost_management/setup/saas_costs/?tab=anthropic#configure-your-saas-accounts diff --git a/hugo/content/en/cloud_cost_management/recommendations/cost_optimization_automation.md b/hugo/content/en/cloud_cost_management/recommendations/cost_optimization_automation.md index c5489d4d12d..4dce5a964e4 100644 --- a/hugo/content/en/cloud_cost_management/recommendations/cost_optimization_automation.md +++ b/hugo/content/en/cloud_cost_management/recommendations/cost_optimization_automation.md @@ -1,5 +1,5 @@ --- -title: Cost Optimization Automation +title: Cost Optimization Automations description: Set up automations that continuously act on Cloud Cost Recommendations to clean up unused or wasteful cloud resources on a recurring schedule. further_reading: - link: "/cloud_cost_management/" @@ -8,6 +8,9 @@ further_reading: - link: "/cloud_cost_management/recommendations/" tag: "Documentation" text: "Cloud Cost Recommendations" +- link: "/cloud_cost_management/recommendations/notifications/" + tag: "Documentation" + text: "Notifications" - link: "/actions/workflows/" tag: "Documentation" text: "Workflow Automation" @@ -16,39 +19,53 @@ further_reading: ## Overview -Cost Optimization Automation lets you continuously act on [Cloud Cost Recommendations][1] without manual cleanup. You define an **automation**, scope it to the accounts, regions, and resources you want, and Datadog executes the recommended action on a recurring schedule. Each run can require human approval in Slack or Microsoft Teams before Datadog makes any changes, so your team stays in control of every change. +Cost Optimization Automations let you continuously act on [Cloud Cost Recommendations][1] without manual cleanup. In the {{< ui >}}Automations{{< /ui >}} page, they live on the {{< ui >}}Remediation{{< /ui >}} tab. You define an **automation**, scope it to the accounts, regions, and resources you want, and Datadog executes the recommended action on a recurring schedule. Each run can require human approval in Slack or Microsoft Teams before Datadog makes any changes, so your team stays in control of every change. Each automation targets a single recommendation type and includes the following: - A schedule (weekly, biweekly, every 30 days, or every 90 days) -- A scope (AWS account, region, tags, and a maximum number of resources per run) +- A scope (account, region, tags, and a maximum number of resources per run) - Safeguards specific to the recommendation type (for example, a pre-deletion snapshot) - An optional human approval step routed through Slack or Microsoft Teams Recommendations acted on by an automation move to {{< ui >}}Completed{{< /ui >}} automatically and contribute to realized savings on the [Cloud Cost Recommendations][1] page. -Cost Optimization Automation is different from the 1-click Workflow Automation actions described in [Recommendation action-taking][2]. 1-click actions execute a single change on demand from the recommendation side panel. Automations execute on a recurring schedule and act on every matching resource in scope. +Automations are different from the 1-click Workflow Automation actions described in [Recommendation action-taking][2]. 1-click actions execute a single change on demand from the recommendation side panel. Automations execute on a recurring schedule and act on every matching resource in scope. -**Note**: Cost Optimization Automation uses Datadog Workflows and incurs additional costs. For detailed pricing information, see the [Workflow Automation pricing page][3]. +Automations are also different from [Notifications][8], which send a recurring Slack summary of matching recommendations but don't take any action. -## Supported recommendation types +**Note**: Automations use Datadog Workflows and incur additional costs. For detailed pricing information, see the [Workflow Automation pricing page][3]. -Cost Optimization Automation supports the following AWS recommendation types: +## Supported recommendation types -| Recommendation type | Built-in safeguards | -|---------------------|---------------------| -| Delete unattached EBS volume | An EBS snapshot is taken before each volume is deleted. | -| Transition S3 Standard objects to Amazon S3 Intelligent-Tiering | Reversible. The lifecycle configuration can be removed at any time. | -| Delete unused RDS instance | A final RDS snapshot is taken before each instance is deleted. | -| Delete extra on-demand backups (DynamoDB) | The two most recent backups are preserved on every run. | -| Set CloudWatch logs retention policy | Reversible. The retention period can be adjusted or removed at any time. | -| Delete old EBS snapshots | Snapshots referenced by an AMI are skipped. | +The {{< ui >}}Remediation{{< /ui >}} tab supports the following recommendation types: + +| Provider | Recommendation type | Built-in safeguards | +|----------|---------------------|---------------------| +| AWS | Delete unattached EBS volume | (Optional) Takes an EBS snapshot before each volume is deleted. | +| AWS | Migrate EBS volume from gp2 to gp3 | Reversible. The migration causes no data loss. | +| AWS | Delete unused EBS snapshots | Snapshots referenced by an AMI are skipped. | +| AWS | Delete extra on-demand backups (DynamoDB) | The two most recent backups are preserved on every run. | +| AWS | Migrate DynamoDB table to Infrequent Access table class | Reversible. The table class can be changed back at any time. | +| AWS | Delete unused DynamoDB table | A backup is taken before each table is deleted. | +| AWS | Set CloudWatch logs retention policy | Reversible. The retention period can be adjusted or removed at any time. | +| AWS | Delete unused RDS instance | A final RDS snapshot is taken before each instance is deleted. | +| AWS | Delete unused NAT gateway | None. Deletion is irreversible. | +| AWS | Transition S3 Standard objects to Amazon S3 Intelligent-Tiering | Reversible. Existing lifecycle rules are preserved, and the added rule can be removed at any time. | +| AWS | Delete unused EC2 instance | (Optional) Creates an AMI before each instance is deleted. | +| AWS | Delete unused Redshift cluster | A final snapshot is taken before each cluster is deleted. | +| GCP | Delete unattached Compute Engine disk | (Optional) Takes a snapshot before each disk is deleted. | +| GCP | Enable Autoclass on a Cloud Storage bucket | Reversible. Autoclass can be disabled at any time. | +| Azure | Delete unattached managed disk | (Optional) Takes a snapshot before each disk is deleted. | +| Azure | Delete unused SQL database | None. Deletion is irreversible. | + +Safeguards marked (Optional) are enabled by default and can be turned off in the automation form. All other listed safeguards are always applied and can't be disabled. ## Prerequisites -- An AWS account configured with [Cloud Cost Recommendations][4] and actively generating recommendations. -- The **Cloud Cost Management - Cloud Cost Management Write** permission to create or edit an automation. -- A [Workflow Automation connection][5] to each AWS account you want an automation to act on. Datadog uses this connection to assume an IAM role with the write permissions needed for the recommended action. Datadog grants only the permissions required for the selected recommendation type. +- An AWS, GCP, or Azure account configured with [Cloud Cost Recommendations][4] and actively generating recommendations. +- The **Cloud Cost Management - Cloud Cost Management Write** permission to access the {{< ui >}}Automations{{< /ui >}} page, and the **App Builder & Workflow Automation - Workflows Write** permission to create or edit an automation. +- A connection to each account you want an automation to act on, set up from {{< ui >}}Manage Connections{{< /ui >}} on the {{< ui >}}Automations{{< /ui >}} page. Datadog uses this connection to assume a role with the write permissions needed for the recommended action, and grants only the permissions required for the selected recommendation type. To act across multiple accounts with one automation, create a [connection group][7]. - (Optional) A Slack or Microsoft Teams connection if you want approval messages routed to a channel. ## Set up an automation @@ -56,26 +73,27 @@ Cost Optimization Automation supports the following AWS recommendation types: To set up an automation on a recurring schedule for a recommendation type: 1. Navigate to [{{< ui >}}Cloud Cost{{< /ui >}} > {{< ui >}}Optimize{{< /ui >}} > {{< ui >}}Automations{{< /ui >}}][6]. +1. Select the {{< ui >}}Remediation{{< /ui >}} tab. 1. On the left side of the page, select the recommendation type. -1. Click **Create New Automation**. -1. In the {{< ui >}}AWS Connection{{< /ui >}} dropdown menu, select or create a [connection][5]. To act across multiple accounts with one automation, select or create a [connection group][7]. +1. Click {{< ui >}}Create New Automation{{< /ui >}}. +1. In the {{< ui >}}Connection{{< /ui >}} dropdown menu, select a connection or connection group configured in [{{< ui >}}Manage Connections{{< /ui >}}][5]. 1. In the {{< ui >}}Define scope{{< /ui >}} section: 1. Enter tags to restrict the automation to resources matching those tags, such as `env`, `service`, and `team`. 1. Enter the maximum resources per run to cap how many resources the automation acts on during a single execution. The automation prioritizes resources by highest potential savings. 1. In the {{< ui >}}Set schedule{{< /ui >}} section, select the automation frequency and execution time. 1. (Optional) Enable the {{< ui >}}Require approval before execution{{< /ui >}} toggle to require human review before execution. If enabled, select {{< ui >}}Slack{{< /ui >}} or {{< ui >}}Microsoft Teams{{< /ui >}}, and fill out the channel notification fields. See [Safeguards](#safeguards). 1. Enter a name for the automation. -1. Click {{< ui >}}Save Policy{{< /ui >}}. +1. Click {{< ui >}}Save Automation{{< /ui >}}. ### Safeguards -Each recommendation type has built-in safeguards. For example, the **Delete Unattached EBS Volume** automation takes an EBS snapshot before deleting each volume. Review the safeguards listed in the automation form and toggle the ones that are optional for your environment. +Each recommendation type has built-in safeguards. For example, the **Delete Unattached EBS Volume** automation can take an EBS snapshot before deleting each volume. See [Supported recommendation types](#supported-recommendation-types) for the full list of safeguards by recommendation type. If {{< ui >}}Require approval before execution{{< /ui >}} is enabled in the [automation setup](#set-up-an-automation), Datadog posts in the designated channel a summary of the resources targeted on each run. The automation only runs after a user approves the request in the channel. ## Manage automations -The {{< ui >}}Automations{{< /ui >}} page lists every automation in your organization, grouped by recommendation type. From this page you can: +The {{< ui >}}Remediation{{< /ui >}} tab lists every automation in your organization, grouped by recommendation type. Automations are labeled **policies** in this view. Use the {{< ui >}}Provider{{< /ui >}}, {{< ui >}}Resource Type{{< /ui >}}, and {{< ui >}}Recommendation Type{{< /ui >}} filters at the top of the page to narrow the list. From this page you can: - Pause or resume an automation - Edit an automation's scope, schedule, or safeguards @@ -114,3 +132,4 @@ If you set a recommendation to {{< ui >}}Dismissed{{< /ui >}}, automations skip [5]: /actions/connections/ [6]: https://app.datadoghq.com/cost/optimize/automations [7]: /actions/connections/#connection-groups +[8]: /cloud_cost_management/recommendations/notifications/ diff --git a/hugo/content/en/cloud_cost_management/recommendations/notifications.md b/hugo/content/en/cloud_cost_management/recommendations/notifications.md new file mode 100644 index 00000000000..011a0cae630 --- /dev/null +++ b/hugo/content/en/cloud_cost_management/recommendations/notifications.md @@ -0,0 +1,56 @@ +--- +title: Notifications +description: Set up notification rules that send a recurring Slack summary of Cloud Cost Recommendations matching a scope you define. +further_reading: +- link: "/cloud_cost_management/" + tag: "Documentation" + text: "Cloud Cost Management" +- link: "/cloud_cost_management/recommendations/" + tag: "Documentation" + text: "Cloud Cost Recommendations" +- link: "/cloud_cost_management/recommendations/cost_optimization_automation/" + tag: "Documentation" + text: "Cost Optimization Automations" + +--- + +## Overview + +A notification rule sends a recurring Slack summary of [Cloud Cost Recommendations][1] matching a scope you define, without taking any action on your resources. Use a notification rule when you want visibility into new savings opportunities without configuring Datadog to make changes automatically. + +Notification rules are different from [Cost Optimization Automations][2], which act on recommendations directly on a recurring schedule. + +## Prerequisites + +- A Slack connection. See [Slack integration][3]. +- The **Cloud Cost Management - Cloud Cost Management Write** permission to create or edit a notification rule. + +## Set up a notification rule + +To set up a notification rule: + +1. Navigate to [{{< ui >}}Cloud Cost{{< /ui >}} > {{< ui >}}Optimize{{< /ui >}} > {{< ui >}}Automations{{< /ui >}}][4]. +1. Select the {{< ui >}}Notification{{< /ui >}} tab. +1. In the {{< ui >}}Define scope{{< /ui >}} section, use the {{< ui >}}Team{{< /ui >}}, {{< ui >}}Recommendation Type{{< /ui >}}, and {{< ui >}}Env{{< /ui >}} filters to restrict the notification to matching resources. Click {{< ui >}}+ Filter{{< /ui >}} to add more filters. Leave the filters empty to include all resources. +1. In the {{< ui >}}Set schedule{{< /ui >}} section, select the notification frequency, execution day, execution time, and timezone. +1. In the {{< ui >}}Destination{{< /ui >}} section, select a Slack workspace connection and channel. +1. Enter a name for the notification rule. +1. (Optional) Turn off the {{< ui >}}Notification enabled{{< /ui >}} toggle to create the rule without activating it. +1. Click {{< ui >}}Save{{< /ui >}}. + +## Manage notification rules + +The {{< ui >}}Notification{{< /ui >}} tab lists every notification rule in your organization. From this page you can: + +- Toggle a rule on or off without deleting it +- Edit a rule's scope, schedule, destination, or name +- Delete a rule + +## Further reading + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /cloud_cost_management/recommendations/ +[2]: /cloud_cost_management/recommendations/cost_optimization_automation/ +[3]: /integrations/slack/ +[4]: https://app.datadoghq.com/cost/optimize/automations