Container monitoring

Dynatrace offers in-depth monitoring for containerized environments and the applications running therein. Kubernetes is the most prominent container platform and Dynatrace provides observability for various container use cases:

Kubernetes Platform Monitoring

Kubernetes Platform Monitoring (known as "Kubernetes Monitoring" before September 2024) via the Kubernetes app is only available for Dynatrace SaaS customers with a Dynatrace Platform Subscription (DPS). If you are a Dynatrace SaaS DPS customer and for any reason can’t use the Kubernetes app, please get in touch with your Dynatrace administrator to have the app activated. Alternatively, have a look at the Getting started with K8s experience FAQs in Dynatrace Community.

For Kubernetes platform owners, Kubernetes Platform Monitoring offers insights into your Kubernetes clusters. It provides comprehensive insights into resource metrics, events, topology, and alerts to help manage and automate the health and performance of your Kubernetes clusters, workloads, and pods. Plus, it enables optimization of resource utilization across multiple workloads and pods.

A Kubernetes workload is an application that belongs to a Kubernetes namespace. Each workload runs a set of pods (or instances) that consist of a set of running containers. The smallest operational unit that you can deploy and run in Kubernetes is a pod.

Pod-hours

The unit of measure for calculating consumption of Kubernetes Platform Monitoring is a pod-hour. The longer a pod is monitored, the more pod-hours the environment consumes. Note that a pod-hour is independent of the size of the pod.

Billing granularity for pod-hour consumption

Dynatrace is built for elastic cloud-native environments where services are often short-lived—which is the case for pods running in Kubernetes environments. Therefore, billing granularity for pod-hour consumption is based on 15-minute intervals. When a pod is monitored for fewer than 15 minutes in an interval, pod-hour consumption is rounded up to the full 15 minutes before consumption is calculated.

The image below illustrates how pod-hour consumption per pod is calculated.

Pod-hour consumption per pod, calculated at 15-minute intervals

What observability value is included in a pod-hour?

Kubernetes Platform Monitoring offers in-depth observability insights for Kubernetes clusters, including the following signals:

  • A comprehensive set of resource and health metrics for clusters, namespaces, pods, containers, and nodes.

  • Kubernetes warning events are included on a fair-use basis. The fair-use quota is designed to cover all Kubernetes warning events in regular scenarios.
    A pod-hour includes 60 Kubernetes warning events per pod. The Kubernetes warning events are pooled across all pods. The consumption of the fair-use quota is calculated in 15-minute intervals.

    Dynatrace currently doesn’t charge for Kubernetes warning events in excess of the amount allowed under your fair-use quota.

    Additional events are licensed via Custom Events Classic pricing. By March 2024, additional events will be billed via Events powered by Grail.

  • Kubernetes anomaly detection for alerting.

Kubernetes info events, Prometheus metrics, and Istio metrics are not included in a pod-hour.

Consumption details: Kubernetes Platform Monitoring

Dynatrace provides built-in usage metrics that help you understand and analyze your organization's consumption of Kubernetes Platform Monitoring. To use these metrics, in Data Explorer, enter DPS in the Search field. These metrics are also available via the Environment API and Account Management (Cost and usage details > Usage summary > Kubernetes monitoring > Actions > View details).

Here is the metric you can use to monitor the consumption details for Kubernetes Platform Monitoring.

(DPS) Kubernetes Monitoring billing usage

Key: builtin:billing.kubernetes_monitoring.usage

Dimension: Kubernetes cluster; Kubernetes namespace

Resolution: 15 min

Description: Total number of pod-hours consumed.

Monitor pod-hour consumption

You can monitor the total pod-hour consumption for different intervals (hour, day, or week) for any selected timeframe using the (DPS) Kubernetes Monitoring billing usage metric. The example below shows consumption aggregated in 1-hour intervals and split by Kubernetes cluster. You can monitor the total pod-hour consumption for different intervals (hour, day, or week) for any selected timeframe using the (DPS) Kubernetes Monitoring billing usage metric. Aggregated consumption metrics will also be provided in Account Management. The example below shows consumption aggregated in 1-hour intervals and split by Kubernetes cluster.

Pod - hour consumption

Code Monitoring

Code Monitoring allows you to analyze and debug code that is running in your production environments.

Code Monitoring is only available for Dynatrace SaaS customers with a Dynatrace Platform Subscription (DPS). If you're a Dynatrace SaaS customer and can’t use Live Debugger, please contact your Dynatrace administrator.

Container-hours

The unit of measure for Dynatrace Code Monitoring consumption is the container-hour.

Each concurrent process consumes container-hours. This consumption can be calculated for containerized and non-containerized workloads:

  • Containerized workloads: A container with OneAgent running is treated as a single concurrent process.
  • Non-containerized workloads: Each concurrent process running on the host is treated separately. A host consumes the total container-hours of all its concurrent processes.

Billing granularity for container-hour consumption

Billing granularity is based on 15-minute intervals. One 15-minute interval is equivalent to 0.25 container-hours.

The figure below illustrates how container-hour consumption is calculated over the course of an entire hour (i.e., four 15-minute intervals).

Code Monitoring consumption example

Consumption details: Code Monitoring

Dynatrace provides usage details that can help you to understand and analyze your organization's consumption of Code Monitoring. You can access these details in the following ways:

  • With a DQL query, for example in Notebooks or via the Environment API.
  • In Account Management, available at Subscription > Overview > Cost and Usage Details > Capability: Code Monitoring > Actions > View details.

Use the following DQL query to get an overview of Code Monitoring consumption. It returns the total number of container-hours consumed per day, for all days that Code Monitoring is running.

fetch dt.system.events, scanLimitGBytes: -1
| filter event.kind == "BILLING_USAGE_EVENT"
| filter event.type == "Code Monitoring"
| dedup event.id
| summarize ContainerHours=sum(billed_container_hours), by:{timestamp=bin(timestamp, 1d)}
| sort timestamp ASC