Skip to content
django-fluentd allows you to use django's logging framework to log directly to a fluentd server of your choice.
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
django_fluentd initial release Mar 16, 2014
example initial release Mar 16, 2014
README.rst Update README.rst Mar 16, 2014
requirements.txt initial release Mar 16, 2014
setup.py initial release Mar 16, 2014
tests.py initial release Mar 16, 2014

README.rst

django-fluentd

django-fluentd allows you to use django's logging framework to log directly to a fluentd server of your choice.

Please consider the package as unstable and don't use it for production, yet.

Installation

with pip:

pip install django-fluentd

or

with setup.py:

git clone https://github.com/jayfk/django-fluentd.git
cd django-fluentd
python setup.py install

Configuration

Add the following to your settings.py:

DJANGO_FLUENTD_SERVER = "10.10.10.10"
DJANGO_FLUENTD_PORT = 24224 #no string
DJANGO_FLUENTD_TAG = "your_fluentd_tag"

Add the fluentd handler to your LOGGING dict in your settings.py and add this handler to one of your loggers:

LOGGING = {

  ...

  'handlers':{
      'fluentd': {
          'level': 'DEBUG',
          'class': 'django_fluentd.handler.FluentdHandler',
      },
  }

  ...

  'loggers': {
      'django': {
          'handlers': ['fluentd',],
          'level': 'DEBUG',
          'propagate': False,
      },
  },
}

If you want to capture all logging messages using fluentd, you can add a root handler:

LOGGING = {
  ...

  'root': {
        'level': 'DEBUG',
        'handlers': ['fluentd'],
    },

  ...
}

Further information on how to use django's logging framework can be found here: https://docs.djangoproject.com/en/dev/topics/logging/

Fluentd Server Setup

Your Fluentd Server should listen on the ip and the port you specified in DJANGO_FLUENTD_SERVER and DJANGO_FLUENTD_PORT:

<source>
 type forward
 port 24224
 bind 10.10.10.10
</source>

Please not that you currently can't use fluentd's secure_forward. If you want to send encrypted or authenticated messages to another fluentd server on the net, you'll have to add a local fluentd server that accepts unencrypted messages and forwards them using secure_forward:

<source>
 type forward
 port 24224
 bind 10.10.10.10
</source>

<match **>
  type secure_forward
  shared_key foobar
  self_hostname example.org
  send_timeout 60s
  recover_wait 10s
  heartbeat_interval 1s
  phi_threshold 8
  hard_timeout 60s

  <server>
    name remote_server_name
    host 10.10.10.11
    port 24224
    username your_username
    password your_password
  </server>

</match>

Further information on how to use fluentd can be found here: http://fluentd.org/

You can’t perform that action at this time.