Public | Automated Build

Last pushed: 6 months ago
Short Description
A fork of official logz.io logshipper, used at @treqster
Full Description

logzio-docker

Forward all your Docker logs to Logz.io

Usage as a Container

The simplest way to forward all your container's log to Logz.io is to
run this repository as a container, with:

docker run -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock logzio/logzio-docker -t ***TOKEN*** -a env=prod

You can pass the --no-stats flag if you do not want stats to be
published to Logz.io every second. You need this flag for Docker
version < 1.5
.

You can pass the --no-logs flag if you do not want logs to be published to Logz.io.

You can also pass the -j switch if all of the logs generated in the containers are in JSON format

You can pass the --no-dockerEvents flag if you do not want events to be
published to Logz.io.

The -i/--statsinterval <STATSINTERVAL> downsamples the logs sent to Logz.io. It collects samples and averages them before sending to Logz.io.

The -a allows to add more fields to the log - this can be used to tag specific application, environment etc.

The -z allows controlling to which zone the logs will be sent to eu for Europe us for USA (set to us by default)

You can also filter the containers for which the logs/stats are
forwarded with:

  • --matchByName REGEXP: forward logs/stats only for the containers whose name matches the given REGEXP.
  • --matchByImage REGEXP: forward logs/stats only for the containers whose image matches the given REGEXP.
  • --skipByName REGEXP: do not forward logs/stats for the containers whose name matches the given REGEXP.
  • --skipByImage REGEXP: do not forward logs/stats for the containers whose image matches the given REGEXP.

Running container in a restricted environment.

Some environments(such as Google Compute Engine) does not allow to access the docker socket without special privileges. You will get EACCES(Error: read EACCES) error if you try to run the container.
To run the container in such environments add --privileged to the docker run command.

Example:

docker run --privileged -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock logzio/logzio-docker -t ***TOKEN*** -a env=prod

How it works

This container wraps four Docker
APIs
:

  • POST /containers/{id}/attach, to fetch the logs
  • GET /containers/{id}/stats, to fetch the stats of the container
  • GET /containers/json, to detect the containers that are running when
    this module starts
  • GET /events, to detect new containers that will start after the
    module has started

This module wraps
docker-loghose and
docker-stats to fetch the logs
and the stats as a never ending stream of data.

Docker Pull Command
Owner
saabeilin
Source Repository

Comments (0)