Skip to content

Enable segment store rest service for prometheus support #588

@alfred-landrum

Description

@alfred-landrum

Description

I'd like to enhance the operator so that if the segment store rest server is enabled via config options, a "rest" port is added to the segment store service.

I have an open PR to add Prometheus support, pravega/pravega#6360 . That adds a "/prometheus" route to the rest service of both the controller and segment store, so that Prometheus can scrape the metrics from both services.

I documented the service monitor objects needed for a Prometheus operator: pravega/pravega#6360 (comment) . The peculiar relabeling workaround for the segment store is needed since the segment store service doesn't have an explicit "rest" port.

Importance

This isn't a blocker to allowing Prometheus support, so it's technically a nice to have. However, given the popularity of Prometheus, I think it makes sense to make enabling Prometheus support as easy as possible.

Location

My initial thought on how to implement this would be to modify the MakeSegmentStoreHeadlessService and reconcileSegmentStoreService functions so that if the pravegaservice.rest.listener.enable config is set, a rest port is added to the headless service. If there are better ways, please let me know!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions