Dkll banner
umputun umputun

Dkll

DevOps community

Description

Agent, server and client to collect and access logs in dockerized infrastructure

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

DKLL [![build](https://github.com/umputun/dkll/workflows/build/badge.svg)](https://github.com/umputun/dkll/actions?query=workflow%3Abuild) [![Go Report Card](https://goreportcard.com/badge/github.com/umputun/dkll?12345)](https://goreportcard.com/report/github.com/umputun/dkll) [![Coverage Status](https://coveralls.io/repos/github/umputun/dkll/badge.svg?branch=master)](https://coveralls.io/github/umputun/dkll?branch=master) [![Docker Automated build](https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg)](https://hub.docker.com/r/umputun/dkll/)

Logging server, agent and CLI client for dockerized infrastructure.

  • each host runs dkll agent container collecting logs from all docker containers on the host.
  • the agent can store logs locally, or/and forward them to remote syslog server.
  • server (dkll server) container installed on another host, acts as syslog server and stores logs.
  • server also provides http api to access logs.
  • client (dkll client) is a binary command-line utility to read/filter/search and follow logs.

_note: `dkll agent` can be used as a standalone container without server and client. In this case it will be a local collector of all logs and/or forwarder to any (external or internal) syslog server._

Build from the source

  1. clone this repo - git clone https://github.com/umputun/dkll.git
  2. build the logger - cd dkll && docker build -t umputun/dkll .

_alternatively use provided `Makefile`, i.e. `make test lint docker`_

Server

Server mode runs syslog server collecting records sent by dkll agent (see below). All records parsed, analyzed and stored in mongodb (capped collection). Optionally, records can be sent to `/.log` files as well as to merged `dkll.log` file. All files rotated and compressed automatically.

Usage

  1. copy provided compose-server.yml to docker-compose.yml
  2. adjust docker-compose.yml if needed.
  3. pull containers - docker-compose pull
  4. start server - `dock