DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.

DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
CLOUDSTACK-9998 - Getting issue details... STATUS
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.
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 Total
- RAM Used
- RAM Total
- Total VMs running on host
- CPU cores Used
- CPU cores Total- CPU speed Allocated for zone
- CPU cores Allocated for zone
- RAM Allocated for zone
- VMs (count in all states)
- 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 - CloudStack cpu cores limit (summation across domains)
- CloudStack memory limit (summation across domains)
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.
3 Comments
Unknown User (widodh)
Jul 13, 2017Seems good! I would however also allow ::1 as we are going to the IPv6 world!
Unknown User (chiradeep)
Jul 13, 2017Looks like it is generic? That is, any adaptor can read using this protocol and write to any metric / time-series store? Also, why not use the admin API?
Rohit Yadav
Jul 22, 2017@Chiradeep Vittal - Yes, admin API is not consumeable unless you provide credentials, Prometheus server may not understand how to send a signed API request which is why it is implemented on a separate port with minimal IP/source based access control. Secondly, currently supported API responses serialized as JSON and XML only, however prometheus consumes a line separate key/value pair (syntax).