forked from cloudfoundry/docs-services
-
Notifications
You must be signed in to change notification settings - Fork 0
/
app-log-streaming.html.md.erb
28 lines (18 loc) · 1.83 KB
/
app-log-streaming.html.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
---
title: Application Log Streaming
owner: Core Services
---
<strong><%= modified_date %></strong>
By binding an application to an instance of an applicable service, Cloud Foundry will stream logs for the bound application to the service instance.
- Logs for all apps bound to a log-consuming service instance will be streamed to that instance
- Logs for an app bound to multiple log-consuming service instances will be streamed to all instances
To enable this functionality, a service broker must implement the following:
1. In the [catalog](api.html#catalog-mgmt) endpoint, the broker must include `requires: syslog_drain`. This minor security measure validates that a service returning a `syslog_drain_url` in response to the [bind](api.html#binding) operation has also declared that it expects log streaming. If the broker does not include `requires: syslog_drain`, and the bind request returns a value for `syslog_drain_url`, Cloud Foundry will return an error for the bind operation.
2. In response to a [bind](api.html#binding) request, the broker should return a value for `syslog_drain_url`. The syslog URL has a scheme of syslog, syslog-tls, or https and can include a port number. For example:
`"syslog_drain_url": "syslog://logs.example.com:1234"`
## How does it work?
1. Service broker returns a value for `syslog_drain_url` in response to bind
1. Loggregator periodically polls CC `/v2/syslog_drain_urls` for updates
1. Upon discovering a new `syslog_drain_url`, Loggregator identifies the associated app
1. Loggregator streams app logs for that app to the locations specified by the service instances' `syslog_drain_url`s
Users can manually configure app logs to be streamed to a location of their choice using User-provided Service Instances. For details, see [Using Third-Party Log Management Services](../devguide/services/log-management.html).