55 lines
2.1 KiB
ReStructuredText
55 lines
2.1 KiB
ReStructuredText
===============================
|
|
os_loganalyze
|
|
===============================
|
|
|
|
OpenStack tools for gate log analysis
|
|
|
|
os_loganalyze is designed as a lightweight wsgi filter for openstack
|
|
logs, making it easier to interact with them on OpenStack's
|
|
logs.openstack.org repository. This includes colorizing the logs based
|
|
on log level severity, having bookmarkable links to timestamps in the
|
|
logs for easy reference, and being able to filter by log level.
|
|
|
|
This is implemented as a low level wsgi application which returns a
|
|
generator so that it can act like a pipeline. Some of our logs are 35
|
|
MB uncompressed, so if we used a more advanced framework that required
|
|
we load the entire data stream into memory, the user response would be
|
|
very poor. As a pipeline and generator the delay added by this script
|
|
to the user grabbing the logs is largely not noticeable (< 1s).
|
|
|
|
* Free software: Apache 2.0 license
|
|
|
|
Features
|
|
--------
|
|
* Supports text/html or text/plain dynamically based on content
|
|
negotiation
|
|
* html highlighting based on severity
|
|
* filtering based on severity using the level=XXXX parameter (works in
|
|
either text/html or text/plain responses
|
|
* linking and highlighting of lines based on timestamp
|
|
* control of max number of lines that will be returned using the
|
|
limit=XXXX parameter
|
|
* Provides a script named htmlify_server.py that serves htmlified logs
|
|
over HTTP. To view devstack logs: set
|
|
SCREEN_LOGDIR=$DEST/logs/screen and LOG_COLOR=false in localrc
|
|
before running stack.sh, run htmlify_server.py, and point your
|
|
browser at http://devstack-ip:8000/
|
|
|
|
Todo
|
|
------------
|
|
Next steps, roughly in order
|
|
|
|
* provide links to logstash for request streams (link well know
|
|
request ids to logstash queries for them)
|
|
|
|
Hacking
|
|
-------
|
|
If you are working on making changes one of the easiest ways to do
|
|
this is to run the server stack locally to see how your changes look
|
|
on same data included for the tests.
|
|
|
|
This can be done with ``tox -e run``, which will use the script
|
|
designed for devstack locally pointed at the sample data. A url where
|
|
you can browse the resultant content will be provided on the command
|
|
line.
|