vmware / vic

vSphere Integrated Containers Engine is a container runtime for vSphere.
http://vmware.github.io/vic
Other
640 stars 174 forks source link

Remote syslogd/loginsight for container/VCH logs #4771

Open hickeng opened 7 years ago

hickeng commented 7 years ago

Story As a user I want to have my containerized application logs processed and aggregated at a remote collector

Detail Broken out from #4613 (this comment and previous)

Using loginsight, splunk or similar to process logs can add significant value. docker-engine provides the logging driver mechanism which can be used to accomplish this style of redirection. With the VCH/container VM its logs are written directly to the datastore to avoid loss in the case of the endpointVM being down, intentionally or otherwise.

This requires some other means of redirecting logs to a logging service. Some options:

  1. harvesting logs from the datastores periodically - races with container deletion in the case of --rm or automated systems.
  2. redirecting the logs to a remote endpoint using container networking - requires the container network be configured appropriately (same restriction as for current NFS shared volume work).
  3. use an ESX agent to perform the rely - does not rely on container networking, but does require correct ESX host setup and appropriate routing on the management network.
hmahmood commented 7 years ago

As a first iteration, option (2.) is the easiest and will satisfy customer requirements for now. Basically, the syslog endpoint should be routable either through the public network via the VCH or by another network the container is connected to. This also means that containers using --net=none will not have their logs redirected. The same endpoint specified in #4861 can be used for container logs as well.