# Thermal

The **thermal** input plugin reports system temperatures periodically -- each second by default. Currently this plugin is only available for Linux.

The following tables describes the information generated by the plugin.

| key  | description                                            |
| ---- | ------------------------------------------------------ |
| name | The name of the thermal zone, such as _thermal\_zone0_ |
| type | The type of the thermal zone, such as _x86\_pkg\_temp_ |
| temp | Current temperature in celcius                         |

## Configuration Parameters

The plugin supports the following configuration parameters:

| Key            | Description                                 |
| -------------- | ------------------------------------------- |
| Interval\_Sec  | Polling interval (seconds).  default: 1     |
| Interval\_NSec | Polling interval (nanoseconds).  default: 0 |
| name\_regex    | Optional name filter regex.  default: None  |
| type\_regex    | Optional type filter regex.  default: None  |

## Getting Started

In order to get temperature(s) of your system, you can run the plugin from the command line or through the configuration file:

### Command Line

```bash
$ bin/fluent-bit -i thermal -t my_thermal -o stdout -m '*'
Fluent Bit v1.x.x
* Copyright (C) 2019-2020 The Fluent Bit Authors
* Copyright (C) 2015-2018 Treasure Data
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

[2019/08/18 13:39:43] [ info] [storage] initializing...
...
[0] my_thermal: [1566099584.000085820, {"name"=>"thermal_zone0", "type"=>"x86_pkg_temp", "temp"=>60.000000}]
[1] my_thermal: [1566099585.000136466, {"name"=>"thermal_zone0", "type"=>"x86_pkg_temp", "temp"=>59.000000}]
[2] my_thermal: [1566099586.000083156, {"name"=>"thermal_zone0", "type"=>"x86_pkg_temp", "temp"=>59.000000}]
```

Some systems provide multiple thermal zones. In this example monitor only _thermal\_zone0_ by name, once per minute.

```bash
$ bin/fluent-bit -i thermal -t my_thermal -p "interval_sec=60" -p "name_regex=thermal_zone0" -o stdout -m '*'
Fluent Bit v1.3.0
Copyright (C) Treasure Data

[2019/08/18 13:39:43] [ info] [storage] initializing...
...
[0] my_temp: [1565759542.001053749, {"name"=>"thermal_zone0", "type"=>"pch_skylake", "temp"=>48.500000}]
[0] my_temp: [1565759602.001661061, {"name"=>"thermal_zone0", "type"=>"pch_skylake", "temp"=>48.500000}]
```

### Configuration File

In your main configuration file append the following _Input_ & _Output_ sections:

```python
[INPUT]
    Name thermal
    Tag  my_thermal

[OUTPUT]
    Name  stdout
    Match *
```
