Name: log-cache-release
Owner: Cloud Foundry
Description: null
Created: 2017-11-14 18:25:45.0
Updated: 2018-05-24 12:26:55.0
Pushed: 2018-05-24 14:27:12.0
Homepage: null
Size: 234
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Log Cache Release is a bosh release
for Log Cache. It provides
an experimental in memory caching layer as a potential future
alternative for cf logs --recent
and container metrics retrieval.
Log Cache can be deployed either as a standalone deployment or within Cloud Foundry.
In both cases Log Cache will have to know about Loggregator.
Every bosh deployment requires a cloud config. The Log Cache deployment manifest assumes the CF-Deployment cloud config has been uploaded.
The first step in deploying Log Cache is to create a release. Final releases are preferable, however during the development process dev releases are useful.
The following commands will create a dev release and upload it to an
environment named lite
.
create-release --force
-e lite upload-release --rebase
Standalone Log Cache only has to know where to find Loggregator. The
Loggregator CA is named loggregator_ca
. The given variables file should
include the deployed Loggregator's CA.
The following command will deploy a standalone Log Cache against a Loggregator
that is deployed with a loggregator-vars.yml
variables file.
\
--environment lite \
--deployment log-cache deploy manifests/log-cache.yml \
--vars-store vars.yml \
--vars-file ~/workspace/loggregator-release/vars.yml
Log Cache deployed within Cloud Foundry reads from the Loggregator system and
registers with the GoRouter at
log-cache.<system-domain>
(e.g. for bosh-lite log-cache.bosh-lite.com
).
It can be deployed in CF Deployment with the provided operations file.
The following command will deploy Log Cache in CF.
\
--environment lite \
--deployment cf \
deploy ~/workspace/cf-deployment/cf-deployment.yml \
--ops-file ~/workspace/cf-deployment/operations/bosh-lite.yml \
--ops-file ~/workspace/cf-deployment/operations/experimental/use-bosh-dns.yml \
--ops-file ~/workspace/cf-deployment/operations/experimental/use-bosh-dns-for-containers.yml \
--ops-file ~/workspace/cf-deployment/operations/use-compiled-releases.yml \
--ops-file ~/workspace/cf-deployment/operations/use-postgres.yml \
--ops-file ~/workspace/log-cache-release/manifests/operations/deploy-in-cf.yml \
--vars-store ~/workspace/cf-deployment/vars-store.yml \
-v system_domain=bosh-lite.com
By Default, Log Cache uses the doppler
client included with cf-deployment
.
If you would like to use a custom client, it requires the uaa.resource
authority:
tom_client_id>:
authorities: uaa.resource
override: true
authorized-grant-types: client_credentials
secret: <custom_client_secret>
Log cache is currently an experimental release with plans for integrations starting in summer 2018. That said we have defined the following service level objectives for the release.
Log cache depends on Loggregator and is expected to offer slightly lower reliability. This is primarly due to the ephimiral nature of the cache. Loss will occur during a deployment. Outside of deployments a 99% reliability can be expected.
Log cache is horizontally scalabale and we recomend scaling based on the formula below. We have set a service level objective of 15 minutes with this scaling recomendation.
Cache Nodes = Envelopes Per Second / 10,000
(Note - this is intentionally designed to match the scaling of the Log Router used in the Loggregator system for colocation in cf-deployment).