All Projects → deis → logger

deis / logger

Licence: MIT license
In-memory log buffer used by Deis Workflow.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to logger

postgres
A PostgreSQL database used by Deis Workflow.
Stars: ✭ 37 (+117.65%)
Mutual labels:  k8s, deis-workflow, unsupported
minio
Minio Object Storage in Kubernetes, used by Deis Workflow.
Stars: ✭ 51 (+200%)
Mutual labels:  k8s, deis-workflow, unsupported
dockerbuilder
Deis dockerbuilder builds your app from a Dockerfile inside a Kubernetes pod, used by Deis Workflow.
Stars: ✭ 17 (+0%)
Mutual labels:  deis-workflow, unsupported
builder
Git server and application builder for Deis Workflow
Stars: ✭ 40 (+135.29%)
Mutual labels:  deis-workflow, unsupported
Fabricio
Docker deploy automation tool
Stars: ✭ 250 (+1370.59%)
Mutual labels:  k8s
Turing Pi Cluster
Turing Pi cluster configuration for Raspberry Pi Compute Modules
Stars: ✭ 233 (+1270.59%)
Mutual labels:  k8s
K8s Diagrams
A collection of kubernetes-related diagrams
Stars: ✭ 227 (+1235.29%)
Mutual labels:  k8s
Ansible Role Kubernetes
Ansible Role - Kubernetes
Stars: ✭ 247 (+1352.94%)
Mutual labels:  k8s
Rules k8s
This repository contains rules for interacting with Kubernetes configurations / clusters.
Stars: ✭ 222 (+1205.88%)
Mutual labels:  k8s
Mosaic
A platform for doing, solving, and learning in Kubernetes, without changing or hiding Kubernetes.
Stars: ✭ 247 (+1352.94%)
Mutual labels:  k8s
Kadalu
A lightweight Persistent storage solution for Kubernetes / OpenShift using GlusterFS in background.
Stars: ✭ 239 (+1305.88%)
Mutual labels:  k8s
Lokomotive
Lokomotive is a 100% open-source, easy to use and secure Kubernetes distribution from the volks at Kinvolk
Stars: ✭ 233 (+1270.59%)
Mutual labels:  k8s
Awesome Kubernetes Notes
awesome-kubernetes-notes 🎉
Stars: ✭ 249 (+1364.71%)
Mutual labels:  k8s
Popeye
👀 A Kubernetes cluster resource sanitizer
Stars: ✭ 3,216 (+18817.65%)
Mutual labels:  k8s
example-ruby-sinatra
A simple Ruby app for Deis, the open source PaaS
Stars: ✭ 18 (+5.88%)
Mutual labels:  deis-workflow
Kyaml2go
K8s Go client code generator from Kubernetes resource yamls
Stars: ✭ 226 (+1229.41%)
Mutual labels:  k8s
rigger
rigger is a tool to deploy Deis v1 on a variety of cloud providers.
Stars: ✭ 57 (+235.29%)
Mutual labels:  unsupported
Kedge
kEdge - Kubernetes Edge Proxy for gRPC and HTTP Microservices
Stars: ✭ 244 (+1335.29%)
Mutual labels:  k8s
Opendevops
CODO是一款为用户提供企业多混合云、一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台
Stars: ✭ 2,990 (+17488.24%)
Mutual labels:  k8s
cattlectl
gain control over your ranch
Stars: ✭ 33 (+94.12%)
Mutual labels:  k8s
Deis Workflow is no longer maintained.
Please read the announcement for more detail.
09/07/2017 Deis Workflow v2.18 final release before entering maintenance mode
03/01/2018 End of Workflow maintenance: critical patches no longer merged
Hephy is a fork of Workflow that is actively developed and accepts code contributions.

Deis Logger

Build Status codecov.io Go Report Card Docker Repository on Quay

Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.

Deis Graphic

For more information about the Deis Workflow, please visit the main project page at https://github.com/deis/workflow.

We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the "Development" section below and submit a pull request.

Description

A system logger for use in the Deis Workflow open source PaaS.

This Docker image is based on quay.io/deis/base image. You can see what version we are currently using in the Dockerfile

The new v2 logger implementation has seen a simplification from the last rewrite. While it still uses much of that code it no longer depends on etcd. Instead, we will use kubernetes service discovery to determine where logger is running.

We have also decided to not use logspout as the mechanism to get logs from each container to the logger component. Now we will use fluentd which is a widely supported logging framework with hundreds of plugins. This will allow the end user to configure multiple destinations such as Elastic Search and other Syslog compatible endpoints like papertrail.

Configuration

The following environment variables can be used to configure logger:

Name Default Value
STORAGE_ADAPTER "redis"
NUMBER_OF_LINES (per app) "1000"
AGGREGATOR_TYPE "nsq"
DEIS_NSQD_SERVICE_HOST ""
DEIS_NSQD_SERVICE_PORT_TRANSPORT 4150
NSQ_TOPIC logs
NSQ_CHANNEL consume
NSQ_HANDLER_COUNT 30
AGGREGATOR_STOP_TIMEOUT_SEC 1
DEIS_LOGGER_REDIS_SERVICE_HOST ""
DEIS_LOGGER_REDIS_SERVICE_PORT 6379
DEIS_LOGGER_REDIS_PASSWORD ""
DEIS_LOGGER_REDIS_DB 0
DEIS_LOGGER_REDIS_PIPELINE_LENGTH 50
DEIS_LOGGER_REDIS_PIPELINE_TIMEOUT_SECONDS 1

Development

The only assumption this project makes about your environment is that you have a working docker host to build the image against.

Building binary and image

To build the binary and image run the following make command:

DEV_REGISTRY=quay.io IMAGE_PREFIX=myaccount make build
IMAGE_PREFIX=myaccount make build
DEV_REGISTRY=myhost:5000 make build

Pushing the image

The makefile assumes that you are pushing the image to a remote repository like quay or dockerhub. So you will need to supply the REGISTRY environment variable.

DEV_REGISTRY=quay.io IMAGE_PREFIX=myaccount make push
IMAGE_PREFIX=myaccount make push
DEV_REGISTRY=myhost:5000 make push

Kubernetes interactions

  • make install - Install the recently built docker image into the kubernetes cluster
  • make upgrade - Upgrade a currently installed image
  • make uninstall - Uninstall logger from a kubernetes cluster

Architecture Diagram

                        ┌────────┐
                        │ Router │                  ┌────────┐
                        └────────┘                  │ Logger │
                            │                       └────────┘
                        Log file                        │
                            │                           │
                            ▼                           ▼
┌────────┐             ┌─────────┐    logs/metrics   ┌─────┐
│App Logs│──Log File──▶│ fluentd │───────topics─────▶│ NSQ │
└────────┘             └─────────┘                   └─────┘
                                                        │
                                                        │
┌─────────────┐                                         │
│ HOST        │                                         ▼
│  Telegraf   │───┐                                ┌────────┐
└─────────────┘   │                                │Telegraf│
                  │                                └────────┘
┌─────────────┐   │                                    │
│ HOST        │   │    ┌───────────┐                   │
│  Telegraf   │───┼───▶│ InfluxDB  │◀────Wire ─────────┘
└─────────────┘   │    └───────────┘   Protocol
                  │          ▲
┌─────────────┐   │          │
│ HOST        │   │          ▼
│  Telegraf   │───┘    ┌──────────┐
└─────────────┘        │ Grafana  │
                       └──────────┘
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].