but3k4 / logix

Our syslog to graylog2 bus - really, no system could help up to our log stream data. On some systems we have way more than 500GB/day so a different approach was needed

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logix - Transports your local syslog to Graylog2 via AMQP

Why should I use it?

When you are sending lots of udp log events over the network packet loss can happen, or even using a tcp log sender you can get a slow response on your server depending on how much logs your remote log server is receiving simultaneously.

So... what can you do to avoid it?

logix can help you using its daemon receiving your log events and queueing you messages on AMQP. You can easily get rid of log event losses caused by udp and any performance issue that could be caused by concurrency using tcp remote syslog.

logix queues your log events on any AMQP Server and you can easy setup your graylog2-server to consume this queue and index your logs on demand.

Usage:

Setup your AMQP and Graylog2

Add to your graylog2.conf

# AMQP
amqp_enabled = true
amqp_subscribed_queues = logix:gelf
amqp_host = localhost
amqp_port = 5672
amqp_username = guest
amqp_password = guest
amqp_virtualhost = /

logix.conf

[transport]
connection_pool_enabled = False
connection_pool_size = 10
url = amqp://127.0.0.1:5672
queue = logix

[server]
port = 6660
max_syslog_line_size = 1023
bind_addr = 127.0.0.1

on MacOS X:

$ vim /etc/syslog.conf
*.notice;authpriv,remoteauth,ftp,install,internal.none  @127.0.0.1:6660
$ launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
$ launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

on Linux:

$ vim /etc/rsyslog.d/logix.conf
*.*  @127.0.0.1:6660
$ /etc/init.d/rsyslog restart

Running:

$ Usage: ./logix
$   -h help
$   -u username
$   -d debug
$   -a <start|stop|status|foreground>

$ LOGIX_CONF=src/etc/logix.conf src/bin/logix -u $USER -a foreground -d &
$ logger test

Depends:

  • python-kombu (>= 1.4.3)
  • python-gevent (>= 0.13.6)
  • python-supay
  • syslog or rsyslog :D

Todo

  • would benefit of an internal backlog queue

About

Our syslog to graylog2 bus - really, no system could help up to our log stream data. On some systems we have way more than 500GB/day so a different approach was needed

License:Apache License 2.0


Languages

Language:Python 100.0%