The following table describes the required permissions.
Check if Workflows has the required permissions to run automations: open
Workflows, select Settings > Authorization settings in the upper-right corner, and ensure that the following settings are enabled.
app-engine:apps:runapp-engine:functions:runapp-settings:objects:readautomation:workflows:readautomation:workflows:writeenvironment-api:entities:readiam:bindings:readstate:app-states:readstate:app-states:writestate:app-states:deletestorage:bizevents:readstorage:buckets:readstorage:entities:readstorage:events:writestorage:metrics:readFor more information, see Manage user permissions with IAM policies and Workflow authorization settings.
Make sure the app is installed in your environment.
Carbon dioxide emissions and energy consumption are calculated for hosts that are set up and monitored with OneAgent. Energy calculations are based on observed infrastructure metrics.
Cost & Carbon Optimization, go to the Hosts tab.The data generation of carbon emissions must be active to allow generating public pricing cloud costs. You can activate it in the app's settings.
You need instrumented hosts with OneAgent and cloud vendor monitoring configured. The calculation of public price list costs requires the collection of metadata from a host as the cloud provider, cloud region, and the type of instance configured in the cloud vendor. This information is provided by configuring the cloud vendor monitoring for the hosts to be monitored with OneAgent. For more information, see Ingest data.
Enable External requests to the cloud vendors where the hosts are running to collect public price lists into Grail.
External requests enable outbound network connections from your Dynatrace environment to external services. They allow you to control access to public endpoints from the AppEngine with app functions and functions in Dashboards, Notebooks, and Automations.
Go to
Settings > General > Environment management, External requests.
Select New host pattern.
Add the domain names.
Select Add.
This way you can granularly control the web services your functions can connect to.
You need to add the following domain names
For AWS, add *.amazonaws.com
For Azure, add azure.microsoft.com
For Google Cloud, add cloudbilling.googleapis.com
Dynatrace
Cost & Carbon Optimization enables you to calculate and monitor your IT cost (public list price) and carbon footprint.
It tracks, reports, and helps you optimize the costs from your cloud infrastructure and reduce your carbon emissions resulting from your cloud and on-premises infrastructure electricity consumption.
The Overview tab provides an at-a-glance view of your IT carbon footprint.

Optimization recommendations reports idle hosts and underutilized hosts with their cost and wasted energy measured.
To adjust thresholds influencing these calculations to your needs, navigate to the upper-right corner and select to open the app's settings.
The Accumulated carbon footprint over time chart shows the accumulated carbon footprint and energy consumption over time.
With the Carbon versus business KPI chart, you can compare carbon emissions over time with a business key performance indicator (KPI) of your choice, derived from any of your captured business events.
If cloud costs are calculated, two more charts display Accumulated cloud cost over time and Cloud cost versus business KPI defined.
Carbon/energy data is measured for all hosts monitored by Dynatrace OneAgent, or by Dynatrace Kubernetes monitoring.
This tab allows you to view energy, carbon emissions, costs, and utilization information for OneAgent-monitored hosts.

Idling, Scaling, Normal—thresholds are defined in the app's settings).
Cost & Carbon Optimization works only for Kubernetes monitoring on Grail; classic Kubernetes monitoring is not supported.
This tab allows you to view energy, carbon emissions, and utilization information for Kubernetes infrastructure monitored by Dynatrace.


Use the Kubernetes view to explore the energy consumption and carbon emissions of Kubernetes clusters, namespaces, and nodes by selecting the relevant link at the top of the page. Each view provides you with:
Provides a breakdown of carbon emissions and energy consumption for each monitored cluster, with an average count of nodes, namespaces, and workloads seen during the user-selected timeframe.
You can filter the table by cluster deployment type (for example, EKS, AKS, GKE) and search for a specific cluster names.
See Average vs. actual values for additional information on the use of average and actual counts.
The Clusters and Namespaces views
Kubernetes by selecting the cluster, namespace, or node link in the table.Use this information to
Identify Kubernetes clusters and namespaces with the highest energy consumption and carbon emissions, and correlate this with Dynatrace
Kubernetes information on CPU and memory slack to identify the most costly and underutilized Kubernetes resources.
Leverage this information with your application teams to reconsider optimizing their requests/limits to reduce slack and optimize carbon and costs.
One-click navigation between
Cost & Carbon Optimization and
Kubernetes allows you to quickly drill down into more information about the Kubernetes resources to inspect resource requests and limits, quotas, or idle workloads/jobs that reserve resources but run infrequently.
Track energy and carbon at the Kubernetes cluster and namespace over time and identify anomalies that need further investigation to understand what changed in the environment and whether the change was intentional and warranted. A large spike (increase) in energy and carbon could be a normal side effect of increased usage, but it could signal an issue or change with automatic scaling or resource provisioning. Examples: Changes to the type of node instances being used, or an unnecessary increase in associated storage.
Measure and compare carbon emissions from single-use servers to Kubernetes infrastructure to ensure that migration efforts are meeting the desired sustainability goals. Organizations may even consider gamifying this and challenging their engineering teams to develop solutions that delight end-users and the environment.
Kubernetes is a dynamic environment, and the number of nodes and pods changes continuously.
When reporting on carbon and energy over longer timeframes, counts can be derived using the average count of nodes, pods, and other entities observed during the user-selected timeframe, or a more in-depth query can be made to the Kubernetes data in Grail to get actual distinct counts of each entity.
In a large Kubernetes environment, an actual count of distinct entities can take several seconds, whereas the average count typically takes milliseconds, and is sufficient for most use cases.
This selector may account for differences between
Cost & Carbon Optimization and
Kubernetes.
The query time for the actual data is dependent on the size of your Kubernetes infrastructure and the timeframe being analyzed.
When using the deployment mode Kubernetes platform monitoring + Application observability, nodes and namespaces can be excluded from monitoring using the namespaceSelector (and nodeSelector).
As
Cost & Carbon Optimization only reports on the energy/carbon of namespaces/nodes that are monitored, energy and carbon emissions shown may be lower than expected when infrastructure is excluded from monitoring. Excluded namespaces will be displayed in the Namespaces table but will show no carbon/energy measurements.
In addition, internal workloads (such as coredns, traefik, and more) may be running that are not monitored by Dynatrace and energy/carbon data will not be included in the measurements.
Go through the following process to learn using
Cost & Carbon Optimization:
This popup error message will list the permissions needed to use
Cost & Carbon Optimization.
Ensure that a Dynatrace IAM administrator adds these policies to your user/group.
There's no data to display, potentially due to the timeframe selected, or due to carbon data not being generated correctly.
If you enabled
Cost & Carbon Optimization recently, please wait for up to 1-2 hours for the workflow to execute and start generating carbon data.
You can check whether carbon or carbon Kubernetes data is being generated by running the following DQL in a notebook. Select the icon on the page, right above any table in the Hosts or Kubernetes tabs, to Open with the underlying DQL in a notebook:
fetch bizeventsfilter event.type == "carbon.measurement" or event.type == "carbon.measurement.k8s.cluster"
Ensure that the Cost & Carbon Optimization workflow has the required authorization settings to function.
Open
Cost & Carbon Optimization settings page. If this is the problem, an error message with missing authorization settings will be displayed theres.
Ensure that the Cost & Carbon Optimization workflow is scheduled to run every hour, that all steps within the workflow are enabled (not disabled), and that no errors are generated by the workflow.
Review any workflow errors for further troubleshooting or contact our customer support.
A platform issue is preventing the app from executing queries to report on carbon Kubernetes data.
The issue may be temporary and will resolve itself shortly, or please reach out to our customer support.
Kubernetes monitoring may not be set up or functioning correctly.
Please check
Kubernetes to ensure that your Kubernetes infrastructure is being monitored correctly.
Cost & Carbon Optimization
Kubernetes
Notebooks