Skip to main content

Application that retrieves logs from systems that aren’t natively supported by Google SecOps

Project description

LogReel

GitHub Actions Workflow Status codecov PyPI - Python Version PyPI - Downloads GitHub License

An open-source logging utility for reliable API-to-API log transport with modular plugin support.

LogReel is authored by Simone Roma, governed as a benevolent dictatorship, and distributed under license.

Introduction

Some APIs don't support natively certain types of logs. To overcome this problem, LogReel allows the user to leverage a scalable and plugins based architecture on pre-defined interfaces. This is done in a secure and reliable way, allowing the target API to consume your stored logs.

Features

  • Fetch the data from custom data sources, based on the available API.
  • Reliable, thanks to its own mechanism that collect the logs starting from a precise snapshot, storing the previous location.
  • Quicly checks the status of your plugins, feature available through the /health endpoint.
  • LogReel has the capacity of auto discoverability. Whenever a plugin is available, LogReel can automatically discover it and integrate it.

Installation

Install using poetry (if not installed pip install poetry), and then install the dependencies poetry install.

Add the LogReel dependency in your plugin

LogReel component is reusable and needs to be added as a dependency in your plugins' repository through PyPI. Reference the LogReel package in your pyproject.toml plugins' repository.

How to make a plugin discoverable by the LogReel

You must register the plugin using entry points in your pyproject.toml. This mechanism allows the LogReel component to dynamically load plugins by name and group using the entry_points API.

[tool.poetry]
name = "example-plugin"
version = "1.0.0"
description = "An example plugin for the core component"
authors = ["User <user@example.com>"]

[tool.poetry.dependencies]
python = "^3.10"
logreel = "^0.1.0"

[tool.poetry.plugins."plugin_group_name"]
plugin_name = "module_path:PluginClass"
  • plugin_group_name: The group under which the plugin is registered (e.g., logreel.sources or logreel.destinations).
  • plugin_name: The name by which the plugin will be referenced.
    • module_path: The Python module where the plugin class resides.
    • PluginClass: The name of the plugin class to load.

Versioning

Releases will follow semantic versioning (major.minor.patch). Before 1.0.0 breaking changes can be included in a minor release, therefore we highly recommend pinning this package.

Contributing

Suggest a feature or report a bug. Read our developer guide.

License

pytest-netconf is distributed under the Apache 2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logreel-0.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file logreel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: logreel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for logreel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d395859afa22c7f885e1dd1ca813c71a2d642e045e8999c5c2fd719ae362aa6
MD5 3c06ebb7d75cbdd1ca63be5f985fa4df
BLAKE2b-256 1ab11b2ae00edd544a8c948b8c95cd28ba41c35f479905b57991b50fcb0f3552

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page