All Projects → discord → Punt

discord / Punt

Licence: mit
Punt is a tiny and lightweight daemon which helps ship logs to Elasticsearch.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Punt

Json Logging Python
Python logging library to emit JSON log that can be easily indexed and searchable by logging infrastructure such as ELK, EFK, AWS Cloudwatch, GCP Stackdriver
Stars: ✭ 143 (+45.92%)
Mutual labels:  elk, elk-stack, elasticsearch, logging
Elastic
Elastic Stack (6.2.4) 을 활용한 Dashboard 만들기 Project
Stars: ✭ 121 (+23.47%)
Mutual labels:  elk, elk-stack, elasticsearch
Search Guard Kibana Plugin
This plugin for Kibana adds session management and multi tenancy to a Search Guard secured cluster.
Stars: ✭ 107 (+9.18%)
Mutual labels:  elk, elk-stack, elasticsearch
Search Guard
Search Guard Plugin - Security for Elasticsearch
Stars: ✭ 56 (-42.86%)
Mutual labels:  elk, elk-stack, elasticsearch
Complete Guide To Elasticsearch
Contains all of the queries used within the Complete Guide to Elasticsearch course.
Stars: ✭ 829 (+745.92%)
Mutual labels:  elk, elk-stack, elasticsearch
Elk Hole
elasticsearch, logstash and kibana configuration for pi-hole visualiziation
Stars: ✭ 136 (+38.78%)
Mutual labels:  elk-stack, elasticsearch, logging
Search Guard Ssl
Elasticsearch SSL for free. Supports native Open SSL.
Stars: ✭ 159 (+62.24%)
Mutual labels:  elk, elk-stack, elasticsearch
Rsyslog
a Rocket-fast SYStem for LOG processing
Stars: ✭ 1,385 (+1313.27%)
Mutual labels:  elasticsearch, logging, syslog
Helk
The Hunting ELK
Stars: ✭ 3,097 (+3060.2%)
Mutual labels:  elk, elk-stack, elasticsearch
Logtrail
Kibana plugin to view, search & live tail log events
Stars: ✭ 1,343 (+1270.41%)
Mutual labels:  elasticsearch, logging, syslog
Logagent Js
Extensible log shipper with input/output plugins, buffering, parsing, data masking, and small memory/CPU footprint
Stars: ✭ 333 (+239.8%)
Mutual labels:  elk, elk-stack, logging
Search Guard Docs
Official documentation for Search Guard, the Elasticsearch security suite
Stars: ✭ 92 (-6.12%)
Mutual labels:  elk, elk-stack, elasticsearch
Mozdef
DEPRECATED - MozDef: Mozilla Enterprise Defense Platform
Stars: ✭ 2,164 (+2108.16%)
Mutual labels:  elk, elk-stack, elasticsearch
Docker Compose Elasticsearch Kibana
Docker Compose for Elasticsearch and Kibana
Stars: ✭ 584 (+495.92%)
Mutual labels:  elk, elk-stack, elasticsearch
Semantic logger
Semantic Logger is a feature rich logging framework, and replacement for existing Ruby & Rails loggers.
Stars: ✭ 611 (+523.47%)
Mutual labels:  elasticsearch, logging, syslog
Elastdocker
🐳 Elastic Stack (ELK) on Docker, with preconfigured Security, Tools, Self-Monitoring, and Prometheus Metrics. Up with a Single Command.
Stars: ✭ 883 (+801.02%)
Mutual labels:  elk, elk-stack
Eliot
Eliot: the logging system that tells you *why* it happened
Stars: ✭ 874 (+791.84%)
Mutual labels:  elasticsearch, logging
Nim Morelogging
Logging library for Nim
Stars: ✭ 29 (-70.41%)
Mutual labels:  logging, syslog
Demo Scene
👾Scripts and samples to support Confluent Demos and Talks. ⚠️Might be rough around the edges ;-) 👉For automated tutorials and QA'd code, see https://github.com/confluentinc/examples/
Stars: ✭ 806 (+722.45%)
Mutual labels:  elasticsearch, syslog
Rsyslog
An R interface to syslog, the POSIX system logger API
Stars: ✭ 21 (-78.57%)
Mutual labels:  logging, syslog

Punt

Punt is a lightweight and simple daemon that parses, transforms, mutates, and ships logs into Elasticsearch. Punt was built as a fast and reliable alternative to Logstash, which means it's focus is to fit directly into existing ELK setups. Punt was built at Discord to manage the over 4 billion log lines we process per day.

Features

  • Designed to be fast and reliable
  • Simple JSON-based configuration file
  • Supports rsyslog over UDP/TCP, including multiple framing formats and SSL
  • Multiple ingest servers and egress ES clusters
  • Management and configuration of ES index templates and type mappings
  • Ability to parse and transform structured (JSON) logs
  • Threshold/Matching based alerting
  • Streaming API for real time log tailing
  • Support for attaching maxmind GeoIP2 geolocation data
  • Automatic deletion of old indexes based on retention rules
  • Exporting of metrics in the Datadog statsd format

Why Not Logstash?

When Discord originally started logging, we used a standard ELK stack setup. Initially this worked well for a low-volume of logs, however as our log volume grew (~750m log lines a day) Logstash quickly began to fall behind. As we spent more and more time tweaking and scaling Logstash/JVM/JRuby, we quickly realised it was not a long-term solution. Punt spawned out of a frustrating weekend dealing with constant Logstash lockups and JVM struggles.

Where Logstash aims to be immensely configurable and pluggable via its DSL, Punt aims to be an extremely performant solution, without compromising or reducing the core features required to handle and store structured log data.

Installation

Go

To install Punt using the Go toolchain, simply

go get github.com/discordapp/punt/cmd/puntd

Package (Debian/Ubuntu)

Punt was designed to be installed as a package on debian systems, and thus includes a simple dpkg build script based on fpm. To build a package simply:

cd packaging/
VERSION=0.0.1 ./build.sh

The package includes a simple upstart script.

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].