<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/xenstat.plugin/README.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/xenstat.plugin/metadata.yaml"
sidebar_label: "Xen XCP-ng"
learn_status: "Published"
learn_rel_path: "Collecting Metrics/Collectors/Containers and VMs"
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
endmeta-->

# Xen XCP-ng


<img src="https://netdata.cloud/img/xen.png" width="150"/>


Plugin: xenstat.plugin
Module: xenstat.plugin

<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />

## Overview

This collector monitors XenServer and XCP-ng host and domain statistics.

Reads host and domain statistics directly from the local Xen hypervisor through the system Xen libraries. The plugin must run on the Xen hypervisor host itself (dom0, on a XenServer or XCP-ng host); it cannot collect from inside guest VMs and there is no option to connect to a remote or network Xen host.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

The plugin needs setuid.

### Default Behavior

#### Auto-Detection

This plugin requires the `xen-dom0-libs-devel` and `yajl-devel` libraries to be installed.

#### Limits

The default configuration for this integration does not impose any limits on data collection.

#### Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

## Setup


### Prerequisites

#### Libraries

1. Install `xen-dom0-libs-devel` and `yajl-devel` using the package manager of your system.

  Note: On Cent-OS systems you will need `centos-release-xen` repository and the required package for xen is `xen-devel`

2. Re-install Netdata from source. The installer will detect that the required libraries are now available and will also build xenstat.plugin.


#### Host placement

Install the Netdata Agent on the Xen hypervisor host (dom0, on a XenServer or XCP-ng host). Installing it inside a guest VM or on a non-Xen host will not expose Xen host or domain metrics, because the plugin reads the local Xen hypervisor only.


#### Xen Orchestra Appliance (XOA)

Netdata has no dedicated XOA integration. The xenstat.plugin collects XenServer/XCP-ng host and domain statistics from the hypervisor layer, not XOA-specific application metrics. The XOA VM can be monitored as a standard Linux system if access is available.



### Configuration

#### Options



<details open><summary>Config options</summary>



| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
| update every | Data collection frequency. | 1 | no |


</details>



#### via File

The configuration file name for this integration is `netdata.conf`.
Configuration for this specific integration is located in the `[plugin:xenstat]` section within that file.

The file format is a modified INI syntax. The general structure is:

```ini
[section1]
    option1 = some value
    option2 = some other value

[section2]
    option3 = some third value
```
You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-configuration-files) script from the
Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#locate-your-config-directory).

```bash
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config netdata.conf
```

##### Examples
There are no configuration examples.



## Alerts

There are no alerts configured by default for this integration.



## Metrics

Metrics grouped by *scope*.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.




### Per Xen XCP-ng instance

These metrics refer to the entire monitored application.

This scope has no labels.

Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| xenstat.mem | Memory Usage | free, used | MiB |
| xenstat.domains | Number of Domains | domains | domains |
| xenstat.cpus | Number of CPUs | cpus | cpus |
| xenstat.cpu_freq | CPU Frequency | frequency | MHz |


### Per xendomain

Metrics related to Xen domains. Each domain provides its own set of the following metrics.

This scope has no labels.

Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| xendomain.states | Domain States | running, blocked, paused, shutdown, crashed, dying | boolean |
| xendomain.cpu | CPU Usage (100% = 1 core) | used | percentage |
| xendomain.mem | Memory Reservation | maximum, current | MiB |
| xendomain.vcpu | CPU Usage per VCPU | a dimension per vcpu | percentage |


### Per xendomain vbd

Metrics related to Xen domain Virtual Block Device. Each VBD provides its own set of the following metrics.

This scope has no labels.

Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| xendomain.oo_req_vbd | VBD{%u} Out Of Requests | requests | requests/s |
| xendomain.requests_vbd | VBD{%u} Requests | read, write | requests/s |
| xendomain.sectors_vbd | VBD{%u} Read/Written Sectors | read, write | sectors/s |


### Per xendomain network

Metrics related to Xen domain network interfaces. Each network interface provides its own set of the following metrics.

This scope has no labels.

Metrics:

| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| xendomain.bytes_network | Network{%u} Received/Sent Bytes | received, sent | kilobits/s |
| xendomain.packets_network | Network{%u} Received/Sent Packets | received, sent | packets/s |
| xendomain.errors_network | Network{%u} Receive/Transmit Errors | received, sent | errors/s |
| xendomain.drops_network | Network{%u} Receive/Transmit Drops | received, sent | drops/s |



## Troubleshooting

### Xen XCP-ng host or domain metrics are not appearing

**Cause:** The Netdata Agent is installed inside a guest VM or on a non-Xen host instead of the Xen hypervisor host (dom0). The plugin reads the local Xen hypervisor only, so a guest VM cannot report the host or other domains, and there is no remote-collection option.

**Resolution:** Follow the Libraries and Host placement prerequisites above.
