Hi I have created the prometheus jobs for the microservices in the instance and using metric path as instance/service/xyz/prometheus.
But it is observed that some of the microservices which are active in the tenant are giving error 404 , when the endpoint service/xyz/prometheus is called.
And some are giving metrics fine.
What might the issue with this.
And how can it be resolved.
this depends on a few things. The prometheus endpoint is only exposed for custom microservice developed using the Microservice SDK Java which uses Spring Boot & Spring Actuator.
So for any non-custom microservices or non-java microservices this endpoint must be enabled by the microservice owner/developer manually or using a prometheus client/lib.
Here is an article where I described that in detail and gave an example for python microservices & one using the SDK.
But, We are receiving the Prometheus endpoint response for out-of-the-box microservices like APAMA, but not for DataHub, which is not customized, and the owner is SAG. So, the question is, why are Prometheus metrics added for some out-of-the-box microservices but not for microservices like DataHub? We don’t have access to the DataHub code to add Prometheus endpoint by ourselves, and we would like to monitor DataHub via Prometheus. What can be done to get the endpoint working for DataHub?
I’m wondering that Apama prometheus endpoint is enabled. Are you in a public cloud environment or dedicated/own instance?
I don’t think you can monitor datahub via Prometheus, only on Kubernetes level when having a private/dedicated instance. In our public cloud environment the SAG microservices are monitored by SAG operations so no individual monitoring is required…that’s the reason the prometheus endpoints are not available (except for apama it seems).