theia
Simple and lightweight log aggregator
Introduction
Theia is a log aggregator that collects logs from multiple log files usually on multiple machines and provides the log entries on a single endpoint. Each recorded entry comes from a single source (log file) and can be tagged with multiple tags. This way you can query an filter by the source (for example /var/log/apache or /var/log/reds) and tags (for example "production1", "cache-server", "testing" etc), or you can just simply match a pattern against the content of the entry.
Theia has three parts:
- watcher - this is the agent process running on the machine where you have your logs. You will have multiple watchers, but usually a single watcher per node
- collector - this is the master process, usually running on a sperate node where you're going to collect the logs. Provides the interface for pushing the log events and an interface for querying the aggregated logs.
- client - client for querying and watching live events. This connects to the collector via websocket and queries the collected events or registers a filter for live events.
Installation
Theia comes as a single python package (only python3 is supported).
With pip:
pip install theia
Running the collector
This process collects and stores the events. The built-in database uses text files to store the events.
Create a directory where you want to keep the events, and run the collector server:
mkdir data
python -m theia.cli collect -d ./data
This will run the server listening on port 6433.
Running a watcher
Make sure you have the collector running.
Then, run the watcher:
python -m theia.cli watch -c localhost -f /var/log/httpd/access.log -t web-access
This would watch for changes in access.log and send events to the collector
tagged with web-access
Run a query
To query for all log events with tag web-access:
python -m theia.cli query -c localhost -t web-access
Run a live filter
To watch the events with tag web-access as they arrive in real-time:
python -m theia.cli query -l -c localhost -t web-access
Note
This is still work in progress and is far from production ready
Metadata
Release files for theia 0.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| theia-0.9.2.tar.gz | 30.6 kB | Without provenance | Details |
Release files / theia-0.9.2.tar.gz
| Download URL | theia-0.9.2.tar.gz |
|---|---|
| Size | 30.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93e2d07e993e2f552a2a57f9d037c2989286cba93526b30131c05de4c6006497
|
|
BLAKE2b-256 checksum How to use checksums |
dddac5844d3d99e31348e0e43e3a2d1508634c29b283bb5ff122d21fee69bc20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for theia 0.9.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.