---
title: Proxmox
description: 'View performance information about all of your Proxmox resources '
breadcrumbs: Docs > Integrations > Proxmox
---

# Proxmox
Supported OS Integration version2.4.1
## Overview{% #overview %}

This check monitors [Proxmox](https://www.proxmox.com) through the Datadog Agent. Proxmox is an open-source server management platform. It supports running both VMs and containers. The Proxmox integration collects data about your Proxmox cluster including the status and performance of nodes, VMs, containers, and more.

**Minimum Agent version:** 7.69.0

## Setup{% #setup %}

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the [Autodiscovery Integration Templates](https://docs.datadoghq.com/containers/kubernetes/integrations/) for guidance on applying these instructions.

### Installation{% #installation %}

Install the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) and configure the Proxmox integration on one Proxmox node to collect information about your entire Proxmox Cluster. The Proxmox check is included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package. No additional installation is needed on your server.

### Configuration{% #configuration %}

1. Create an [API Token](https://pve.proxmox.com/wiki/Proxmox_VE_API#API_Tokens) in your Proxmox Management Interface. The [PVEAuditor](https://pve.proxmox.com/wiki/User_Management#pveum_permission_management) role can be associated with the token to provide access to the necessary API endpoints.

1. Edit the `proxmox.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your proxmox performance data. See the [sample proxmox.d/conf.yaml](https://github.com/DataDog/integrations-core/blob/master/proxmox/datadog_checks/proxmox/data/conf.yaml.example) for all available configuration options. Ensure you have set the following parameters:

   ```
   instances:
   - proxmox_server: http://localhost:8006/api2/json
     headers:
         Authorization: PVEAPIToken=<USER>@<REALM>!<TOKEN_ID>=<YOUR_TOKEN>
   ```

1. [Restart the Agent](https://docs.datadoghq.com/agent/configuration/agent-commands/#start-stop-and-restart-the-agent).

### Validation{% #validation %}

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

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

### Metrics{% #metrics %}

|  |
|  |
| **proxmox.api.up**(gauge)          | Whether or not the proxmox API is reachable.                                                                                |
| **proxmox.container.count**(gauge) | Timeseries with value 1 for each Container. Make 'sum by {X}' queries to count all the Containers with the tag X.           |
| **proxmox.container.up**(gauge)    | Whether or not the container is up.                                                                                         |
| **proxmox.cpu**(gauge)             | Current CPU usage percentage, as a fraction.*Shown as fraction*                                                             |
| **proxmox.cpu.avg1**(gauge)        | CPU load average over 1 minute.*Shown as percent*                                                                           |
| **proxmox.cpu.avg15**(gauge)       | CPU load average over 15 minutes.*Shown as percent*                                                                         |
| **proxmox.cpu.avg5**(gauge)        | CPU load average over 5 minutes.*Shown as percent*                                                                          |
| **proxmox.cpu.current**(gauge)     | Current CPU usage.*Shown as fraction*                                                                                       |
| **proxmox.cpu.iowait**(gauge)      | The percentage of time a given CPU core has spent waiting for I/O to complete.*Shown as fraction*                           |
| **proxmox.cpu.max**(gauge)         | Maximum number of CPU cores.*Shown as core*                                                                                 |
| **proxmox.disk**(gauge)            | Disk Usage.                                                                                                                 |
| **proxmox.disk.max**(gauge)        | Maximum amount of disk space.                                                                                               |
| **proxmox.disk.read**(count)       | Amount of data read from disk.*Shown as byte*                                                                               |
| **proxmox.disk.total**(gauge)      | Total disk space.                                                                                                           |
| **proxmox.disk.used**(gauge)       | Disk usage.                                                                                                                 |
| **proxmox.disk.write**(count)      | Amount of data written to disk.*Shown as byte*                                                                              |
| **proxmox.ha.quorate**(gauge)      | Whether or not the cluster is in quorate.                                                                                   |
| **proxmox.ha.quorum**(gauge)       | Whether or not the node is in quorum.                                                                                       |
| **proxmox.mem**(gauge)             | Memory currently being used.*Shown as byte*                                                                                 |
| **proxmox.mem.max**(gauge)         | Total memory.*Shown as byte*                                                                                                |
| **proxmox.mem.total**(gauge)       | Total memory.*Shown as byte*                                                                                                |
| **proxmox.mem.used**(gauge)        | Memory currently being used.*Shown as byte*                                                                                 |
| **proxmox.net.in**(count)          | Amount of data received.*Shown as byte*                                                                                     |
| **proxmox.net.out**(count)         | Amount of data sent.*Shown as byte*                                                                                         |
| **proxmox.node.count**(gauge)      | Timeseries with value 1 for each Node. Make 'sum by {X}' queries to count all the Nodes with the tag X.                     |
| **proxmox.node.up**(gauge)         | Whether or not the Node is up.                                                                                              |
| **proxmox.pool.count**(gauge)      | Timeseries with value 1 for each Pool. Make 'sum by {X}' queries to count all the Pools with the tag X.                     |
| **proxmox.sdn.count**(gauge)       | Timeseries with value 1 for each SDN. Make 'sum by {X}' queries to count all the SDNs with the tag X.                       |
| **proxmox.sdn.up**(gauge)          | Whether or not the SDN is up.                                                                                               |
| **proxmox.storage.count**(gauge)   | Timeseries with value 1 for each Storage object. Make 'sum by {X}' queries to count all the storage objects with the tag X. |
| **proxmox.storage.up**(gauge)      | Whether or not the storage is available.                                                                                    |
| **proxmox.swap.total**(gauge)      | Amount of disk space allocated for swap.*Shown as byte*                                                                     |
| **proxmox.swap.used**(gauge)       | Amount of swap space used.*Shown as byte*                                                                                   |
| **proxmox.uptime**(gauge)          | Amount of time the VM or Node has been running.*Shown as second*                                                            |
| **proxmox.vm.count**(gauge)        | Timeseries with value 1 for each VM. Make 'sum by {X}' queries to count all the VMs with the tag X.                         |
| **proxmox.vm.up**(gauge)           | Whether or not the VM is up.                                                                                                |

### Logs{% #logs %}

To collect logs from all of the Proxmox services on your node:

1. Enable log collection in your `datadog.yaml` file:

   ```yaml
   logs_enabled: true
   ```

1. Uncomment and edit the logs configuration block in your `proxmox.d/conf.yaml` file. For example:

   ```yaml
   logs:
    - type: journald
      source: proxmox
      include_units:
        - pveproxy.service
        - pvedaemon.service
        - pve-firewall.service
        - pve-ha-crm.service
        - pve-ha-lrm.service
        - pvescheduler.service
        - pvestatd.service
        - qmeventd.service
   ```

### Events{% #events %}

The Proxmox integration does not include any events.

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

The Proxmox integration does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
