cloudfoundry/log-cache-release

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

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Log Cache Release

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.

Deploying Log Cache

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.

Cloud Config

Every bosh deployment requires a cloud config. The Log Cache deployment manifest assumes the CF-Deployment cloud config has been uploaded.

Creating and Uploading Release

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

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
Cloud Foundry

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
Log Cache Client

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>
Operating Log Cache

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.

Reliability SLO

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.

Cache Duration & Scaling

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).


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.