apache / apache/cloudstack

Export Virtual Router Health Checks to Prometheus

Đang mở
#6,212 3 bình luận 0 reaction 1 người được giao Được @NuxRo nhận Xem trên GitHub
component:prometheus type:enhancement
Ngôn ngữ chính
Java
Star
3.1k
Fork
1.4k
Merge trung bình
6 ngày 19 giờ
Pull request đã merge (30 ngày)
32

Mô tả

##### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.