
It includes some performance improvements for parsing JSON (which is very important for us, since all Docker logs are JSON) as well as a couple new settings, like forcing of a flush of multiline logs after a time period rather than having to wait until a new log is seen before feeling confident flushing the previous one.
47 lines
1.9 KiB
Docker
47 lines
1.9 KiB
Docker
# Copyright 2016 The Kubernetes Authors All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# This Dockerfile will build an image that is configured
|
|
# to use Fluentd to collect all Docker container log files
|
|
# and then cause them to be ingested using the Google Cloud
|
|
# Logging API. This configuration assumes that the host performning
|
|
# the collection is a VM that has been created with a logging.write
|
|
# scope and that the Logging API has been enabled for the project
|
|
# in the Google Developer Console.
|
|
|
|
FROM ubuntu:14.04
|
|
MAINTAINER Alex Robinson "arob@google.com"
|
|
|
|
# Disable prompts from apt.
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
# Keeps unneeded configs from being installed along with fluentd.
|
|
ENV DO_NOT_INSTALL_CATCH_ALL_CONFIG true
|
|
|
|
RUN apt-get -q update && \
|
|
apt-get install -y curl && \
|
|
apt-get clean && \
|
|
curl -s https://dl.google.com/cloudagents/install-logging-agent.sh | bash
|
|
|
|
# Install the record reformer plugin.
|
|
RUN /usr/sbin/google-fluentd-gem install fluent-plugin-record-reformer
|
|
|
|
# Remove the misleading log file that gets generated when the agent is installed
|
|
RUN rm -rf /var/log/google-fluentd
|
|
|
|
# Copy the Fluentd configuration file for logging Docker container logs.
|
|
COPY google-fluentd.conf /etc/google-fluentd/google-fluentd.conf
|
|
|
|
# Start Fluentd to pick up our config that watches Docker container logs.
|
|
CMD /usr/sbin/google-fluentd "$FLUENTD_ARGS"
|