---
title: Thermal
description: >-
  Monitor hardware temperatures and thermal constraints on Windows and macOS
  hosts.
breadcrumbs: Docs > Integrations > Thermal
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Thermal
Supported OS Integration version1.0.0
{% callout %}
# Important note for users on the following Datadog sites: us2.ddog-gov.com

{% alert level="info" %}
To find out if this integration is available in your organization, see your [Datadog Integrations](https://app.datadoghq.com/integrations) page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email [support@ddog-gov.com](mailto:support@ddog-gov.com).
{% /alert %}

{% /callout %}

## Overview{% #overview %}

This check monitors hardware temperatures and thermal constraints on Windows and macOS hosts.

On Windows, the check collects the temperature and passive performance limit for each thermal zone exposed by the operating system. On macOS, it collects available CPU, GPU, SSD, and battery temperatures from the Apple System Management Controller (AppleSMC), along with the system thermal pressure level.

The check omits sensors that are unavailable on a host instead of reporting them as zero. The set of available metrics can vary by hardware model.

**Minimum Agent version:** 7.82.0 on Windows and 7.84.0 on macOS.

## Setup{% #setup %}

### Installation{% #installation %}

The Thermal integration is included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package. No additional installation is required.

### Configuration{% #configuration %}

The Thermal check is not enabled by default. To enable it, complete the following steps:

1. Copy the sample [`thermal.d/conf.yaml`](https://github.com/DataDog/datadog-agent/blob/main/cmd/agent/dist/conf.d/thermal.d/conf.yaml.example) to `thermal.d/conf.yaml` in the `conf.d` folder at the root of the Agent's [configuration directory](https://docs.datadoghq.com/agent/configuration/agent-configuration-files.md#agent-configuration-directory). No check-specific options are required:

   ```yaml
   init_config:
   
   instances:
     - {}
   ```

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands.md#restart-the-agent).

### Validation{% #validation %}

[Run the Agent's status subcommand](https://docs.datadoghq.com/agent/configuration/agent-commands.md#agent-information) and look for `thermal` under the **Checks** section.

On Windows and macOS, the check submits only the thermal metrics exposed by the host. If the host exposes no supported thermal data, as on some virtual machines, the check runs without submitting metrics.

## Data collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **system.thermal.passive_limit**(gauge)      | [Windows] The percentage of maximum performance permitted by passive thermal throttling for the thermal zone.*Shown as percent* |
| **system.thermal.pressure_level**(gauge)     | [macOS] The system thermal pressure level: 0 nominal, 1 moderate, 2 heavy, 3 trapping, or 4 sleeping.                           |
| **system.thermal.temperature**(gauge)         | [Windows] The current temperature of the thermal zone.*Shown as degree celsius*                                                 |
| **system.thermal.temperature.battery**(gauge) | [macOS] The highest available battery temperature reported by AppleSMC.*Shown as degree celsius*                                |
| **system.thermal.temperature.cpu**(gauge)     | [macOS] The highest available CPU temperature reported by AppleSMC.*Shown as degree celsius*                                    |
| **system.thermal.temperature.gpu**(gauge)     | [macOS] The highest available GPU temperature reported by AppleSMC.*Shown as degree celsius*                                    |
| **system.thermal.temperature.ssd**(gauge)     | [macOS] The highest available SSD temperature reported by AppleSMC.*Shown as degree celsius*                                    |

### Tags{% #tags %}

On Windows, each metric is tagged with `thermal_zone:<instance>`, where `<instance>` identifies the thermal zone reported by Windows.

On macOS, the `system.thermal.pressure_level` metric has a `pressure_level:<name>` tag. The possible pressure levels are:

| Value | Tag                       | Description                                                                                            |
| ----- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `0`   | `pressure_level:nominal`  | No thermal constraint.                                                                                 |
| `1`   | `pressure_level:moderate` | Mild thermal pressure.                                                                                 |
| `2`   | `pressure_level:heavy`    | Substantial thermal pressure.                                                                          |
| `3`   | `pressure_level:trapping` | The system is trapping heat and cannot reduce or maintain its temperature, so it begins limiting work. |
| `4`   | `pressure_level:sleeping` | Critical thermal pressure that starts the system sleep process.                                        |

The check uses `pressure_level:unknown` if macOS returns an unrecognized pressure value.

### Events{% #events %}

The Thermal integration does not include any events.

### Service Checks{% #service-checks %}

The Thermal integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/) with an [Agent flare](https://docs.datadoghq.com/agent/troubleshooting/send_a_flare.md?tab=agentv6v7).
