All Projects → prometheus-pve → Prometheus Pve Exporter

prometheus-pve / Prometheus Pve Exporter

Licence: apache-2.0
Exposes information gathered from Proxmox VE cluster for use by the Prometheus monitoring system

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Prometheus Pve Exporter

Jmeter Prometheus Plugin
A Prometheus Listener for Apache JMeter that exposes results in an http API
Stars: ✭ 101 (-40.94%)
Mutual labels:  prometheus, prometheus-exporter
Query Exporter
Export Prometheus metrics from SQL queries
Stars: ✭ 166 (-2.92%)
Mutual labels:  prometheus, prometheus-exporter
Memcached exporter
Exports metrics from memcached servers for consumption by Prometheus.
Stars: ✭ 109 (-36.26%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus Hystrix
This is an implementation of a HystrixMetricsPublisher that publishes metrics using the Prometheus java client.
Stars: ✭ 91 (-46.78%)
Mutual labels:  prometheus, prometheus-exporter
Ping exporter
Prometheus exporter for ICMP echo requests using https://github.com/digineo/go-ping
Stars: ✭ 134 (-21.64%)
Mutual labels:  prometheus, prometheus-exporter
Tomcat exporter
A Prometheus exporter for Apache Tomcat
Stars: ✭ 99 (-42.11%)
Mutual labels:  prometheus, prometheus-exporter
Bigbluebutton Exporter
Prometheus exporter for BigBlueButton
Stars: ✭ 117 (-31.58%)
Mutual labels:  prometheus, prometheus-exporter
Windows exporter
Prometheus exporter for Windows machines
Stars: ✭ 1,230 (+619.3%)
Mutual labels:  prometheus, prometheus-exporter
Cassandra exporter
Apache Cassandra® metrics exporter for Prometheus
Stars: ✭ 133 (-22.22%)
Mutual labels:  prometheus, prometheus-exporter
Sidekiq Prometheus Exporter
All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus
Stars: ✭ 129 (-24.56%)
Mutual labels:  prometheus, prometheus-exporter
Starlette exporter
Prometheus exporter for Starlette and FastAPI
Stars: ✭ 85 (-50.29%)
Mutual labels:  prometheus, prometheus-exporter
Redis exporter
Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x and 6.x
Stars: ✭ 2,092 (+1123.39%)
Mutual labels:  prometheus, prometheus-exporter
Script exporter
Prometheus exporter to execute scripts and collect metrics from the output or the exit status.
Stars: ✭ 84 (-50.88%)
Mutual labels:  prometheus, prometheus-exporter
Jmx exporter
A process for exposing JMX Beans via HTTP for Prometheus consumption
Stars: ✭ 2,134 (+1147.95%)
Mutual labels:  prometheus, prometheus-exporter
Systemd exporter
Exporter for systemd unit metrics
Stars: ✭ 82 (-52.05%)
Mutual labels:  prometheus, prometheus-exporter
Jira Prometheus Exporter
Prometheus Exporter For JIRA
Stars: ✭ 113 (-33.92%)
Mutual labels:  prometheus, prometheus-exporter
Citrix Adc Metrics Exporter
Export metrics from Citrix ADC (NetScaler) to Prometheus
Stars: ✭ 67 (-60.82%)
Mutual labels:  prometheus, prometheus-exporter
Ansible Prometheus
Ansible playbook for installing Prometheus monitoring system, exporters such as: node, snmp, blackbox, thus alert manager and push gateway
Stars: ✭ 69 (-59.65%)
Mutual labels:  prometheus, prometheus-exporter
Prometheus To Cloudwatch
Utility for scraping Prometheus metrics from a Prometheus client endpoint and publishing them to CloudWatch
Stars: ✭ 127 (-25.73%)
Mutual labels:  prometheus, prometheus-exporter
Nvidia gpu prometheus exporter
NVIDIA GPU Prometheus Exporter
Stars: ✭ 138 (-19.3%)
Mutual labels:  prometheus, prometheus-exporter

Prometheus Proxmox VE Exporter

|Build Status| |Package Version|

This is an exporter that exposes information gathered from Proxmox VE node for use by the Prometheus monitoring system.

Installation

Note: Python 2 is not supported anymore as of version 2.0.0. Instead use Python 3.6 or better.

Using pip:

.. code:: shell

python3 -m pip install prometheus-pve-exporter

Using docker:

.. code:: shell

docker pull prompve/prometheus-pve-exporter

Example: Display usage message:

.. code:: shell

docker run -it --rm prompve/prometheus-pve-exporter --help

Example: Run the image with a mounted configuration file and published port:

.. code:: shell

docker run --name prometheus-pve-exporter -d -p 127.0.0.1:9221:9221 -v /path/to/pve.yml:/etc/pve.yml prompve/prometheus-pve-exporter

Prometheus PVE Exporter will now be reachable at http://localhost:9221/.

Usage

::

usage: pve_exporter [-h] [--collector.status] [--collector.version]
                    [--collector.node] [--collector.cluster]
                    [--collector.resources] [--collector.config]
                    [config] [port] [address]

positional arguments:
  config                Path to configuration file (pve.yml)
  port                  Port on which the exporter is listening (9221)
  address               Address to which the exporter will bind

optional arguments:
  -h, --help            show this help message and exit
  --collector.status, --no-collector.status
                        Exposes Node/VM/CT-Status (default: True)
  --collector.version, --no-collector.version
                        Exposes PVE version info (default: True)
  --collector.node, --no-collector.node
                        Exposes PVE node info (default: True)
  --collector.cluster, --no-collector.cluster
                        Exposes PVE cluster info (default: True)
  --collector.resources, --no-collector.resources
                        Exposes PVE resources info (default: True)
  --collector.config, --no-collector.config
                        Exposes PVE onboot status (default: True)

Use :: for the address argument in order to bind to both IPv6 and IPv4 sockets on dual stacked machines.

Visit http://localhost:9221/pve?target=1.2.3.4 where 1.2.3.4 is the IP of the Proxmox VE node to get metrics from. Specify the module request parameter, to choose which module to use from the config file.

The target request parameter defaults to localhost. Hence if pve_exporter is deployed directly on the proxmox host, target can be omitted.

Use the --collector.X / --no-collector.X flags to enable disable selected collectors.

Note that that the config collector results in one API call per guest VM/CT. It is therefore recommended to disable this collector using the --no-collector.config flag on big deployments.

See the wiki_ for more examples and docs.

Authentication

Example pve.yml for password authentication:

.. code:: yaml

default:
    user: [email protected]
    password: sEcr3T!

Example pve.yml for token authentication_:

.. code:: yaml

default: user: [email protected] token_name: "..." token_value: "..."

The configuration is passed directly into proxmoxer.ProxmoxAPI()_.

Note: When operating PVE with self-signed certificates, then it is necessary to either import the certificate into the local trust store (see this SE answer_ for Debian/Ubuntu) or add verify_ssl: false to the config dict as a sibling to the credentials. Note that PVE supports Let's Encrypt_ out ouf the box. In many cases setting up trusted certificates is the better option than operating with self-signed certs.

Proxmox VE Configuration

For security reasons it is essential to add a user with read-only access (PVEAuditor role) for the purpose of metrics collection.

Prometheus Configuration

The PVE exporter can be deployed either directly on a Proxmox VE node or onto a separate machine.

Example config for PVE exporter running on PVE node:

.. code:: yaml

scrape_configs:
  - job_name: 'pve'
    static_configs:
      - targets:
        - 192.168.1.2:9221  # Proxmox VE node with PVE exporter.
        - 192.168.1.3:9221  # Proxmox VE node with PVE exporter.
    metrics_path: /pve
    params:
      module: [default]

Example config for PVE exporter running on Prometheus host:

.. code:: yaml

scrape_configs:
  - job_name: 'pve'
    static_configs:
      - targets:
        - 192.168.1.2  # Proxmox VE node.
        - 192.168.1.3  # Proxmox VE node.
    metrics_path: /pve
    params:
      module: [default]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9221  # PVE exporter.

Grafana Dashboards

  • Proxmox via Prometheus by Pietro Saccardi_

.. |Build Status| image:: https://travis-ci.com/prometheus-pve/prometheus-pve-exporter.svg?branch=master :target: https://travis-ci.com/prometheus-pve/prometheus-pve-exporter .. |Package Version| image:: https://img.shields.io/pypi/v/prometheus-pve-exporter.svg :target: https://pypi.python.org/pypi/prometheus-pve-exporter .. _wiki: https://github.com/prometheus-pve/prometheus-pve-exporter/wiki .. _token authentication: https://pve.proxmox.com/wiki/User_Management#pveum_tokens .. _proxmoxer.ProxmoxAPI(): https://pypi.python.org/pypi/proxmoxer .. _SE answer: https://askubuntu.com/a/1007236 .. _supports Let's Encrypt: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysadmin_certificate_management .. _Proxmox via Prometheus by Pietro Saccardi: https://grafana.com/dashboards/10347

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].