All Projects → bwnyasse → Led

bwnyasse / Led

Licence: mit
LED ( Logs Explorer for Docker ) is a tool used for visualizing and exploring docker container logs

Programming Languages

dart
5743 projects
dartlang
94 projects

Projects that are alternatives of or similar to Led

Fluent Plugin Mongo
MongoDB input and output plugin for Fluentd
Stars: ✭ 163 (+1153.85%)
Mutual labels:  mongodb, fluentd
Gofluent
(Not Maintained) Something acting like fluentd rewritten in Go.
Stars: ✭ 174 (+1238.46%)
Mutual labels:  mongodb, fluentd
K8s
Important production-grade Kubernetes Ops Services
Stars: ✭ 253 (+1846.15%)
Mutual labels:  mongodb, fluentd
Javascript Fullstack Simple
Follow this tutorial using this link
Stars: ✭ 26 (+100%)
Mutual labels:  mongodb
Mongo Connector Postgresql
River from Mongo oplog to postgresql
Stars: ✭ 26 (+100%)
Mutual labels:  mongodb
Js Data Mongodb
MongoDB adapter for js-data. Main Site: http://js-data.io, API Reference Docs: http://api.js-data.io
Stars: ✭ 9 (-30.77%)
Mutual labels:  mongodb
Neural Network Digit Ocr
Trains a Neural Network to read handwritten digits (OCR). Uses synaptic for Node.js, socket.io and MongoDB
Stars: ✭ 12 (-7.69%)
Mutual labels:  mongodb
Express Boilerplate
A fast, simple Node.js/Express + MongoDB + Vue.js web app boilerplate project
Stars: ✭ 25 (+92.31%)
Mutual labels:  mongodb
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+6523.08%)
Mutual labels:  mongodb
Social Listener
Python project used to collect tweets and social-network data from Social's API
Stars: ✭ 9 (-30.77%)
Mutual labels:  mongodb
Express Boilerplate
🚀 Starter project for a RESTful API in Node with Express & mongoose component-based
Stars: ✭ 9 (-30.77%)
Mutual labels:  mongodb
Awesome Javascript Interviews
Popular JavaScript / React / Node / Mongo stack Interview questions and their answers. Many of them, I faced in actual interviews and ultimately got my first full-stack Dev job :)
Stars: ✭ 939 (+7123.08%)
Mutual labels:  mongodb
Create Social Network
An educational project, demonstrating how to build a large scalable project with Javascript.
Stars: ✭ 853 (+6461.54%)
Mutual labels:  mongodb
We Voting
🙋 A Voting App based on React + Express + Mongodb
Stars: ✭ 26 (+100%)
Mutual labels:  mongodb
Much Assembly Required
Assembly programming game
Stars: ✭ 869 (+6584.62%)
Mutual labels:  mongodb
Subnode.org
SubNode: Social Media App
Stars: ✭ 25 (+92.31%)
Mutual labels:  mongodb
Fluentd
Log shipping mechanism for Deis Workflow
Stars: ✭ 10 (-23.08%)
Mutual labels:  fluentd
Mongodb Utils
MongoDB utils library for Node.js
Stars: ✭ 9 (-30.77%)
Mutual labels:  mongodb
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+6400%)
Mutual labels:  mongodb
Iniciando Mongodb
Dicas e comandos de Mongodb para usar diretamente no terminal/command
Stars: ✭ 9 (-30.77%)
Mutual labels:  mongodb

Build Status GitHub Tags

Logs Explorer for Docker aka LED

Purpose

The goal is to provide an easy process for exploring and visualizing container logs.

LED wants to keep everything as simple as possible. But it is in very early stage

The following picture shows you a quick look of a running LED instance.

LED is designed for microservice architecture builds with docker.

If you are already familiar with elastic stack, LED understanding will be very easy for you.

Logging Driver

LED assumes that you are using docker logging driver to send container logs to the Fluentd collector as structured log data.

How to use it ?

1- Launch container

LED requires the following ports to be published:

  • 8080 : used by the hosted web server to serves led
  • 24224: default port used by fluentd for TCP forwarding
 docker run -d -p 8080:8080 -p 24224:24224 bwnyasse/led:0.7.0

Navigate to localhost:8080 to see a basic running instance of LED.

2- Add container logs

The following command will connect the docker hello-world container to LED. ( See the official documentation )

docker run -d \
    --name=hello_world_container \
    --log-driver=fluentd \
    --log-opt tag="default.docker.{{.Name}}" \
    hello-world

Navigate to localhost:8080 to see your container logs in LED

That's it !!

Important : Setting the Timezone in a Docker image

Time in your running container may be out of sync with your host and can cause you troubles when exploring your logs.
To avoid this behavoir , one of the good pratices is to read-only mount your host /etc/timezone and /etc/localtime in your container.

Launching led as follow :

docker run -d \
      -v /etc/localtime:/etc/localtime:ro \
      -v /etc/timezone:/etc/timezone:ro \
      -p 8080:8080 \
      -p 24224:24224 \
      bwnyasse/led:0.7.0

Connecting a mysql database as follow :

docker run -d \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    --name=mysql_db \
    -e MYSQL_ROOT_PASSWORD=my-secret-pw \
    --log-driver=fluentd \
    --log-opt tag="default.docker.{{.Name}}" \
    mysql

Customize your running instance of LED

- Using Environment variables
Name Description Default Value
APP_NAME Customize application name
APP_CONTEXT_URL Define application context url. For example if you are running under a reverse proxy, we must give the right app url (host:port)
ES_CURATOR_SCHEDULE Schedule curation of old elastic indices 0 22 * * * ( at 10pm )
ES_CURATOR_DAY_OLDER_THAN Curate elastic search indexes with day older than a specific value 7

Example:

Assuming LED , that we have the following requirements:

  • Wolverine as Application Name
  • LED will run under a reverse proxy and will be available to MY_HOST:MY_PORT
  • We want to trigger elastic search curation every 5 minutes
    docker run -d \
          -v /etc/localtime:/etc/localtime:ro \
          -v /etc/timezone:/etc/timezone:ro \
          -p 8080:8080 \
          -p 24224:24224 \
          -e APP_NAME=Wolverine \
          -e APP_CONTEXT_URL=MY_HOST:MY_PORT \
          -e ES_CURATOR_SCHEDULE=*/5 * * * *
          bwnyasse/led:0.7.0
- Level color

Use the settings page, to modify the level color. The following picture give you a quick look of current available level Configuration

- Backing up data
  • Logs in LED ElasticSearch will be store in /opt/elasticsearch/data
  • LED configuration will be store in /opt/led/conf

For more info check Docker docs section on [Managing data in containers(https://docs.docker.com/userguide/dockervolumes/)

Manage Tag option

Sometimes , it is more better to filter logs by level. At this stage of project, LED display log level only with the default log format of the following services :

  • Jboss Wildfly & Wildfly Swarm
  • MongoDB

The following table show you fluent tag requires by LED to match service and if the log level is displayed or not

Service Log Tag Display Log Level
wildfly wildfly.docker.{{.Name }} true
MongoDB mongo.docker.{{.Name }} true
* default.docker.{{.Name }} false

Connecting wildlfy as follow :

docker run -d \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    --name=wildfly_server_sync \
    --log-driver=fluentd \
    --log-opt tag="wildfly.docker.{{.Name}}" \
    jboss/wildfly:10.0.0.Final

Connecting MongoDB as follow :

docker run -d \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    --name=mongo_db \
    --log-driver=fluentd \
    --log-opt tag="mongo.docker.{{.Name}}" \
    mongo:3.2.8

More to come ... ( see issues ) :

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].