apache / apache/cloudstack

Export Virtual Router Health Checks to Prometheus

Ouverte
#6,212 3 commentaires 0 réactions 1 personne assignée Réclamée par @NuxRo Voir sur GitHub
component:prometheus type:enhancement
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

##### ISSUE TYPE
* Enhancement Request

##### COMPONENT NAME
API, VR

##### CLOUDSTACK VERSION

~~~
4.16.0.0
~~~
But after my research, not available in current versions.

##### CONFIGURATION
N/A

##### OS / ENVIRONMENT
N/A

##### SUMMARY
For monitoring of Virtual Routers, there seems to be no way of having the health check results in Prometheus metrics endpoint.

Currently, we are querying health check results with a pull based method for every Virtual Router, that is really inefficient on a large scale of routers.

##### STEPS TO REPRODUCE
- Enable Prometheus Metrics
- Enable VR Health Checks
- Query CloudStack `/metrics` endpoint

##### EXPECTED RESULTS
Have VR health check metrics exported at the `/metrics` endpoint.

I thought of something like this, according to the current output of `getRouterHealthCheckResults`:

~~~ini
# TYPE cloudstack_virtualrouter_healthcheck_result stateset
# HELP cloudstack_virtualrouter_healthcheck_result Virtual Router Health Check result
cloudstack_virtualrouter_healthcheck_result{checkname="connectivity.test",zone="zone1",virtualrouter="i-123456-VM",network="test-network"} 1

# TYPE cloudstack_virtualrouter_healthcheck_lastcheck gauge
# HELP cloudstack_virtualrouter_healthcheck_lastcheck Virtual Router Health Check lastcheck timestamp
# UNIT cloudstack_virtualrouter_healthcheck_lastcheck seconds
cloudstack_virtualrouter_healthcheck_lastcheck{checkname="connectivity.test",zone="zone1",virtualrouter="i-123456-VM",network="test-network"} 1649228157
~~~

Maybe this is not 100% accurate to OpenMetrics, but I tried to follow the guidelines. Maybe somebody with more knowledge can have a look.

A drawback with this solution would be that we lose information of the check result message, as Prometheus is not designed to handle this.

##### ACTUAL RESULTS
Virtual Router Health Checks not present on the CloudStack Prometheus metrics endpoint

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.