Skip to content

meta: Docker log driver plugin, explerimental to GA #13990

@fearful-symmetry

Description

@fearful-symmetry

We have a branch on feature/dockerbeat. Name is TBD.

This is a docker logging plugin that's installed via docker plugin install... and works alongside the docker engine to send logs to elasticsearch. It uses libbeat and supports most of the config options and outputs libbeat does. Initial commit was #13761

Issues

Experimental Release - 7.6

7.9.0

7.10.0

  • ECS compliance and integration with Kibana Logs
  • Docker certification

Later

  • We need to make some kind of decision about how we'll drop events. If the plugin's FIFO queues get backed up, the container's writes to stdio will block.
  • Create an ingest pipeline manager to ingest documents based on container tags and names. This reduces the need for addtional config flags. Designing this with @urso .
  • Parsing of JSON messages
  • Multiline support
  • Can we get this to send its own logs / health data to ES?
  • some kind of integration test suite.
  • Update documentation in config.json

Testing

This is fairly easy to test.

Once you have everything pulled down, run mage buildAndInstall to build the plugin. Docker plugins are configured with --log-opts, you can start a plugin using the log handler with:

$ docker run --log-driver=elastic/elastic-log-driver:8.0.0 \
--log-opt output.elasticsearch.hosts="172.18.0.2:9200" \
--log-opt output.elasticsearch.index="dockerbeat-test" \ 
-it debian:jessie /bin/bash`

Almost any option that you would specify with -E in filebeat, you could specify with --log-opt in the plugin.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions