You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Bug Reference

CLOUDSTACK-9998 - Getting issue details... STATUS

Functional Specification

Introduction and Use-case

Several organizations use Prometheus based metrics/monitoring, the aim is to develop a CloudStack metrics exporter for Prometheus server which can export metrics such as CPU, memory, cores, VMs, volumes, IPs.

Implementation and Metrics Details

The exporter can be implemented as a CloudStack plugin that is disabled by default. When enabled, it listens on a configured port and allows configured IPs to access metrics data on a web service endpoint (/metrics).

The metrics are exported per zone and contain zone names and host names, ips where-ever applicable.

List of metrics exported per zone (pop):
    - Total hosts
    - Online hosts
    - Offline hosts
    - Per host:
      - CPU speed Used
      - CPU speed Reserved
      - CPU speed Allocated
      - CPU speed Unallocated
      - CPU speed Total
      - RAM Used
      - RAM Reserved
      - RAM Allocated
      - RAM Unallocated
      - RAM Total
      - Total VMs running on host
      - CPU cores Used
      - CPU cores Reserved
      - CPU cores Total
    - CPU cores Allocated for zone
    - VMs running
    - VMs stopped
    - VMs destroyed
    - VMs total
    - Volumes Ready
    - Volumes Destroyed
    - Volumes Total
    - Storage Pools (Primary/Secondary)
      - Disk size allocated (only for primary storage)
      - Disk size total
      - Disk size used
    - Private IP allocated
    - Private IP total
    - Public IP addresses allocated
    - Public IP addresses total
    - Shared Network IPs total
    - Shared Network IPs allocated
    - VLAN Allocated
    - VLAN Total

Global Settings

1. prometheus.exporter.enable - (default: false), Enable the prometheus exporter plugin, management server restart needed.

2. prometheus.exporter.port - (default: 9595), The prometheus exporter server port.

3. prometheus.exporter.allowed.ips - (default: 127.0.0.1), List of comma separated prometheus server ips (with no spaces) that should be allowed to access the metrics endpoint.

  • No labels