flask-graylog-bundle

Flask Graylog client


License
Apache-2.0
Install
pip install flask-graylog-bundle==0.1.3

Documentation

https://travis-ci.org/cdumay/flask-graylog-bundle.svg?branch=master

flask-graylog-bundle

Graylog extension for Flask

Quickstart

First, install flask-graylog-bundle using pip:

pip install flask-graylog-bundle

Auth extension

To enable Graylog auth, add a GraylogAuth instance to your code:

from flask import current_app as app
from flask_graylog_bundle.auth import GraylogAuth

app.config.update({
   "GRAYLOG_API_URL": "http://127.0.0.1:12900"
})

auth = GraylogAuth(app)

You can take a look at examples/auth.py for more complete example. Flask's application factories and blueprints.

It provides a login decorator login_required. To use it just wrap a view function:

@app.route('/secret-page')
@auth.login_required
def secret_page():
    return jsonify({
        "message": "hello",
        "username": auth.username
    })

Additionnal info can be accessed using g.user (see: Graylog REST API result of GET /users/{username})

NOTE: Graylog tokens are supported, take a look at the Graylog REST API documentation.

API client

To use query Graylog API, add a GraylogAPIServer instance to your code:

from flask import Flask
from flask_graylog_bundle.server import GraylogAPIServer

app = Flask(__name__)
app.config.update({
    "GRAYLOG_API_URL": "http://127.0.0.1:12900",
    "GRAYLOG_API_USERNAME": "admin",
    "GRAYLOG_API_PASSWORD": "admin"
})

api = GraylogAPIServer(app)

You can take a look at examples/api.py for a complete example.

License

Apache License 2.0