---
schema_version: "1"
id: fbaba2c77d024245968eb06fa9618da8aea14c26203471d7aff38e1c9f2b776c
title: Hardware
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/server-linux/rmt-incidents-hardware.md
canonical_url: https://help.tableau.com/current/server-linux/en-us/rmt-incidents-hardware.htm
source_site: help.tableau.com
content_type: documentation
content_hash: c08dcec2731f3b141800873983528668d40b52951bc039a3df731efe17ae799e
description: Configure hardware incidents to monitor server CPU, memory, and disk in RMT.
---
[Skip to main content](#main-content)

# Hardware Incidents

_Hardware_ incidents monitor the server itself. These can be used to help identify server issues that may affect Tableau Server’s performance.

You can set thresholds for the following issues:

- CPU Usage
- Available Memory
- Memory Usage
- Free Disk Space

The following incidents are configured by default when you install a new Tableau Resource Monitoring Tool:

- When the available disk space falls below 10 GB for 10 minutes or more a warning incident is logged, and when available disk falls below 5 GB for 10 minutes or more, a critical incident is logged.
- When available memory falls below 8 GB for over 10 minutes, a warning incident is logged.
- When the CPU usage for the entire server is 80% or more for 5 minutes, a warning incident is logged.

**Note:** Memory related incidents are configured in binary multiples of bytes.

You can configure thresholds using the RMT Server web interface or by updating the configuration file `config.json`.

To set the thresholds for hardware incidents, under the **Admin** menu, select **Configuration**, and go to the **Incidents** tab.

For **CPU Usage**, set the following:

To set the thresholds for hardware incidents, under the **Admin** menu, select **Configuration**, and go to the **Incidents** tab.

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><b>Severity</b>
                                    </td>
                                    <td>Required</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>. </p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><b>Process</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The threshold applies to the entire Tableau Server or for a single process as specified. </td>
                                </tr>
                                <tr>
                                    <td><b>Start Threshold</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The CPU usage  must surpass the  value specified before an incident is created and monitored. Set the percent and the duration for this threshold.</td>
                                </tr>
                                <tr>
                                    <td><b>End Threshold</b>
                                    </td>
                                    <td>Optional</td>
                                    <td>The CPU usage that must fall below the value specified before an incident is considered resolved.</td>
                                </tr>
                            </tbody>
                        </table>

For **Available Memory**, set the following:

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><b>Severity</b>
                                    </td>
                                    <td>Required</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>.</p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><b>Start Threshold</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The available memory must fall below the  value specified before an incident is created and monitored. Set the percent and the duration for this threshold.</td>
                                </tr>
                                <tr>
                                    <td><b>End Threshold</b>
                                    </td>
                                    <td>Optional</td>
                                    <td>The available memory must be above the value specified before an incident is considered resolved.</td>
                                </tr>
                            </tbody>
                        </table>

For **Memory Usage**, set the following:

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><b>Severity</b>
                                    </td>
                                    <td>Required</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>. </p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><b>Process</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The threshold applies to the entire Tableau Server or for a single process as specified. </td>
                                </tr>
                                <tr>
                                    <td><b>Start Threshold</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The memory usage must be equal to the  value specified before an incident is created and monitored. Set the percent and the duration for this threshold.</td>
                                </tr>
                                <tr>
                                    <td><b>End Threshold</b>
                                    </td>
                                    <td>Optional</td>
                                    <td>The memory usage must be below the value specified before an incident is considered resolved.</td>
                                </tr>
                            </tbody>
                        </table>

For **Free Disk Space**, set the following:

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><b>Severity</b>
                                    </td>
                                    <td>Required</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>. </p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><b>Start Threshold</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The free disk space must fall below the  value specified before an incident is created and monitored. Set the percent and the duration for this threshold.</td>
                                </tr>
                                <tr>
                                    <td><b>End Threshold</b>
                                    </td>
                                    <td>Optional</td>
                                    <td>The free disk space must be above the value specified before an incident is considered resolved.</td>
                                </tr>
                            </tbody>
                        </table>

For **Disk Queue Length**, set the following:

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><b>Severity</b>
                                    </td>
                                    <td>Required</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>. </p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><b>Start Threshold</b>
                                    </td>
                                    <td>Required</td>
                                    <td>The  disk queue length must be equal to the value specified before an incident is created and monitored. Set the percent and the duration for this threshold.</td>
                                </tr>
                                <tr>
                                    <td><b>End Threshold</b>
                                    </td>
                                    <td>Optional</td>
                                    <td>The disk queue length must be below the value specified before an incident is considered resolved.</td>
                                </tr>
                            </tbody>
                        </table>

An example `config.json` snipped defining two hardware incidents:

```
{  
 "monitoring":  {  
    "incidents":  {  
      "triggers":  [  
        {  
          "counter":  "DiskSpaceAvailableKB",  
          "severity":  "warning",  
          "threshold":  1048576  
        },  
        {  
          "counter":  "ProcessorTimePercent",  
          "severity":  "warning",  
          "threshold":  0.95,  
          "thresholdDuration":  300000,  
          "endThreshold":  0.90,  
          "endThresholdDuration":  5000  
        }  
      ]  
    }  
  }  
}
```

- The **DiskSpaceAvailableKB** incident will trigger a warning once the available disk space falls below 10 GB.
- The **ProcessorTimePercent** incident will trigger a warning once the CPU has had at least 95% utilization for over 5 minutes. The incident will be considered resolved once the CPU is below 90% utilization for 5 seconds.

The default settings may or may not meet your requirements, and can be changed based on your environment. As an example, for an environment whose identifier was “staging-environment” to trigger a warning when the available disk space falls below 2 GBs, the configuration would look like:

```
{  
  "environments":  {  
    "staging-environment":  {  
     "monitoring":  {  
        "incidents":  {  
          "triggers":  [  
            {  
              "counter":  "DiskSpaceAvailableKB",  
              "severity":  "warning",  
              "threshold":  2097152  
            }  
          ]  
        }  
      }  
    }  
  }  
}
```

<table style="width: 100%;" class="simple-table">
                            <colgroup><col>
                            <col>
                            <col>
                            <col>
                            </colgroup><thead>
                                <tr>
                                    <th>Key</th>
                                    <th>Data Type</th>
                                    <th>Required?</th>
                                    <th>Description</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td><code style="font-style: normal;">counter</code>
                                    </td>
                                    <td> String</td>
                                    <td>Required</td>
                                    <td>
                                        <p>The identifier for the hardware incident to monitor. available options are:</p>
                                        <ul>
                                            <li><code>ProcessorTimePercent</code>
                                            </li>
                                            <li><code>DiskSpaceAvailableKB</code>
                                            </li>
                                            <li><code>DiskQueueTotalLength</code>
                                            </li>
                                            <li><code>MemoryAvailableKB</code>
                                            </li>
                                            <li><code>MemoryCommittedKB</code>
                                            </li>
                                        </ul>
                                    </td>
                                </tr>
                                <tr>
                                    <td><code>severity</code>
                                    </td>
                                    <td> String</td>
                                    <td>Optional</td>
                                    <td>
                                        <p>See <a href="https://help.tableau.com/current/server-linux/en-us/rmt-incidents-index-incidents.htm#incident-severity-levels">Incident Severity Level</a>. Default value: <code>Warning</code></p>
                                    </td>
                                </tr>
                                <tr>
                                    <td><code>threshold</code>
                                    </td>
                                    <td>Number</td>
                                    <td>Required</td>
                                    <td>The threshold that must be surpassed before an incident is monitored.</td>
                                </tr>
                                <tr>
                                    <td><code>thresholdDuration</code>
                                    </td>
                                    <td>Number</td>
                                    <td>Optional</td>
                                    <td>The amount of time in milliseconds to monitor the situation before triggering an incident. If not specified, an incident will be triggered as soon as the <code>threshold</code> is reached.</td>
                                </tr>
                                <tr>
                                    <td><code>endThreshold</code>
                                    </td>
                                    <td>Number </td>
                                    <td>Optional</td>
                                    <td>The threshold that must be surpassed before an incident is considered resolved.</td>
                                </tr>
                                <tr>
                                    <td>endThresholdDuration</td>
                                    <td>Number</td>
                                    <td>Optional</td>
                                    <td>The amount of time in milliseconds to monitor the situation before completing the incident. If not specified, an incident will be resolved as soon as the <code>endThreshold</code> is reached. If <code>endThreshold</code> is not defined, then <code>threshold</code> is used.</td>
                                </tr>
                            </tbody>
                        </table>

## Who can do this

Resource Monitoring Tool Administrator or a Resource Monitoring Tool user with **Server/Environment Management** role.