Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service logs support via Generic Extensions #486

Open
gberche-orange opened this issue Mar 30, 2018 · 10 comments
Open

Service logs support via Generic Extensions #486

gberche-orange opened this issue Mar 30, 2018 · 10 comments
Labels

Comments

@gberche-orange
Copy link
Contributor

gberche-orange commented Mar 30, 2018

As a service user:

  • in order to use services managed by a 3rd party provider but still:
  • I need to receive logs from the services I subscribed through my preferred platform, and possibly my apps to consume these logs in an automated way.

As a broker author, in order to provide logs to service users and bound apps, I need a standard way of exposing metrics to platforms, in particular, I need:

  • a secured, authenticated way to provide logs associated to each service instance and possibly service binding
  • a portable way to provide logs across platforms:
    • available to both public services and private on-prem services (i.e. the service broker is'nt required to acquire privileged platform permissions to expose logs to end-users)

Related pointers:

@n3wscott
Copy link
Contributor

Have you tried implementing log-drain type bindings? https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#log-drain

The broker author has to support this type of binding.

@gberche-orange
Copy link
Contributor Author

@n3wscott sorry for late response. I understand the log-drain binding type enables a service to collect logs from an application through a syslog endpoint (e.g. application logs search/archive/alerting). This issue is more about services pushing service related logs to applications.

@mattmcneeney
Copy link
Contributor

As @gberche-orange, syslog drains allow service instances to receive logs from applications rather than the other way around.

Do we think this issue would be solved by the extensions proposal (#431), whereby service instances could host an endpoint that applications could poll to fetch logs?

@gberche-orange
Copy link
Contributor Author

I realize I misworded the issue, so I updated it to reflect that service logs would need to be consumed by app developers first, and then potentially by app themselves:

I need to receive logs from the services I subscribed through my preferred platform, and possibly my apps to consume these logs in an automated way.

@mattmcneeney

Do we think this issue would be solved by the extensions proposal (#431), whereby service instances could host an endpoint that applications could poll to fetch logs?

In the case of cloudfoundry, consumption of application logs by developers is standardized through the loggregator support (with both CF CLI and streaming to log management systems UX).

I believe it would make sense that service instances logs get consumed by app developers through the same UX. This may require platforms to poll a service provided endpoint, and stream the service instances logs through the log pipeline.

Additionally, service brokers could return log polling endpoint in their binding responses so that apps can poll them, in order to automate service instance logs processing. Maybe OSB support for log endpoint in binding responses would help keep a consistent experience across services.

@mattmcneeney
Copy link
Contributor

Thanks for the clarification @gberche-orange! That makes sense to me. I think this feature request can be broken down into two parts:

  1. Having a standardised way to fetch logs from service instances.
    This is the part that I believe will be solved by Generic Extensions (actions) #431 and having a community standard for what fetching logs looks like (probably an OpenAPI document).
  2. Having platforms automatically discover when logs can be fetched from service instances (again, probably through Generic Extensions (actions) #431 and a community standard for logging) and present that to developers (platform-specific UX feature).

Does that make sense? I believe we should track part (1) in this issue (developing the OpenAPI standard for fetching logs from service instances), and part (2) will be tracked by platform authors in their respective forums.

@gberche-orange
Copy link
Contributor Author

gberche-orange commented May 24, 2018

thanks @mattmcneeney . Sounds good to me.

For clarity, would part (2) also cover how platforms would be presenting log endpoints to applications, in similar way than service binding credentials are injected to applications by platforms ?

@mattmcneeney
Copy link
Contributor

Yes I believe so!

@gberche-orange
Copy link
Contributor Author

For the CF community, the related epic in SAPI backlog, if this may help follow CF exchanges on the topic.

@mattmcneeney
Copy link
Contributor

Closing this. Work on the generic extensions work can be tracked in #670 !

@mattmcneeney mattmcneeney reopened this Jun 25, 2019
@mattmcneeney mattmcneeney changed the title Service logs support Service logs support via Generic Extensions Jun 25, 2019
@mattmcneeney
Copy link
Contributor

Reopened, updated title and added the blocked label so that we tackle this after the generic extensions (#670) work is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Inbox
Development

No branches or pull requests

3 participants