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 Remove some dead code 2019-01-08 09:11:48 -05:00
client.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
cstructs.go drivers: re-export ResourceUsage structs 2019-01-08 09:11:47 -05:00
driver.go driver: allow disabling log collection 2019-12-08 14:15:03 -05:00
errors.go Standardize driver health description messages for all drivers 2019-01-06 22:06:38 -06:00
execstreaming.go implemment streaming exec handling in driver grpc handlers 2019-05-09 16:49:08 -04:00
plugin.go drivers: pass logger through driver plugin client 2019-01-25 09:38:41 -05:00
server.go driver/networking: don't recreate existing network namespaces 2019-09-25 14:58:17 -04:00
task_handle.go executor: add pre 0.9 client and wrapper 2019-01-18 18:30:58 -05:00
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 Add plugin API versioning to plugin loader and plugins 2018-12-18 16:48:00 -08:00