image

Logs Collector

Purpose

If you are a developer of software that clients later use in their infrastructure, you must understand how sometimes it can be difficult to research a problem with software without access to the server on which this software runs.

To solve this problem, you can configure the software to automatically send anonymized crash reports, for example, use Sentry. This is not always acceptable to the client; Moreover, the information may not be complete or the client requires increased confidentiality.

Terms

  • Platform: this is software developed by your company
  • Ticket: this is the number associated with the ticket in your help desk system
  • Archive: this is an uploaded log file (any format is supported)

How it works?

  • Create platforms
  • Create a ticket associated with the platform and number
  • Transfer a unique ticket token to the client
  • The client downloads an archive of log files
  • Download the archive (find a solution to the problem)
  • Delete the archive or ticket or mark the ticket as resolved

Features

  • Centralized storage;
  • To download a file you do not need to provide auth credentials;
  • Each download token is unique and associated with only one ticket;
  • The token has a limit on the number of attempts and lifetime;
  • You can download the file from the console or via the web;
  • Fully featured RestFullAPI v1;
  • Monitoring free space in storage;
  • Deleting an archive or ticket also deletes physical files;
  • The application follows the 12 factors application architecture;
  • Flexible deployment configuration using environment variables;
  • The application is dockerized, the image size is less than 150mb;
  • Can work with both sqlite3 and PostgreSQL^15;
  • Static management without configuration for this web server;
  • healthcheck checking application availability;

Security

  • The download token is not associated with authorization
  • The download token has high entropy.
  • Two-factor authentication for users
  • To download a file - 2FA must be forcibly enabled
  • The admin panel has been patched to force the use of 2FA
  • The user in the container is not privileged
  • Standard Django and DRF protection methods

Install

Detailed installation and configuration instructions in README.md

Tech Stack:

Need Help With Your Project?

If you are an employer or managing a project, I will be glad to cooperate. Contact me and we will discuss the details.