open-nomad/plugins/drivers
Mahmood Ali 0b7085ba3a driver: allow disabling log collection
Operators commonly have docker logs aggregated using various tools and
don't need nomad to manage their docker logs.  Worse, Nomad uses a
somewhat heavy docker api call to collect them and it seems to cause
problems when a client runs hundreds of log collections.

Here we add a knob to disable log aggregation completely for nomad.
When log collection is disabled, we avoid running logmon and
docker_logger for the docker tasks in this implementation.

The downside here is once disabled, `nomad logs ...` commands and API
no longer return logs and operators must corrolate alloc-ids with their
aggregated log info.

This is meant as a stop gap measure.  Ideally, we'd follow up with at
least two changes:

First, we should optimize behavior when we can such that operators don't
need to disable docker log collection.  Potentially by reverting to
using pre-0.9 syslog aggregation in linux environments, though with
different trade-offs.

Second, when/if logs are disabled, nomad logs endpoints should lookup
docker logs api on demand.  This ensures that the cost of log collection
is paid sparingly.
2019-12-08 14:15:03 -05:00
..
proto driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
testutils driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
utils
client.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
cstructs.go
driver.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
errors.go
execstreaming.go implemment streaming exec handling in driver grpc handlers 2019-05-09 16:49:08 -04:00
plugin.go
server.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
task_handle.go
utils.go Add NetworkIsolation in TaskConfig (#6135) 2019-08-15 13:05:55 -04:00
utils_test.go Simplify proto conversion and handle swap 2019-03-30 15:18:28 -04:00
versions.go