Files
LogWhispererAI/CHANGELOG.md
Luca Sacchi Ricciardi 69f475ec78 feat(ingestion): implement log monitoring script with webhook integration
- Add logwhisperer.sh script for tailing and monitoring system logs
- Implement pattern matching for critical errors (FATAL, ERROR, OOM, segfault)
- Add JSON payload generation with severity levels
- Implement rate limiting and offset tracking per log source
- Add install.sh with interactive configuration and systemd support
- Create comprehensive test suite with pytest
- Add technical specification documentation
- Update CHANGELOG.md following Common Changelog standard

All 12 tests passing. Follows Metodo Sacchi (Safety first, little often, double check).
2026-04-02 16:10:20 +02:00

2.0 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Common Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.1.0] - 2026-04-02

Added

  • feat: Implement log ingestion script (logwhisperer.sh) for monitoring system logs

    • Monitor multiple log sources: syslog, nginx, postgresql
    • Pattern matching for critical errors (FATAL, ERROR, OOM, segfault, disk full)
    • JSON payload generation with severity levels (low, medium, critical)
    • Rate limiting to prevent alert flooding (30s per source/pattern)
    • Offset tracking for each log file to avoid reprocessing
    • HTTP POST dispatch to configurable webhook with retry logic
    • Dry-run mode for testing pattern matching without sending webhooks
    • Configuration file support (/etc/logwhisperer/config.env)
    • Command-line flags: --help, --validate, --config, --dry-run, --test-line
  • feat: Create installation script (install.sh)

    • Interactive configuration wizard
    • UUID v4 generation for CLIENT_ID
    • Systemd service creation (when run as root)
    • Support for both system-wide and user-local installation
    • Prerequisite checking (bash, curl)
    • Connectivity test to webhook URL
  • test: Add comprehensive test suite (tests/test_logwhisperer.py)

    • Script existence and executable validation
    • Configuration validation tests
    • Pattern matching tests (FATAL, OOM, ERROR patterns)
    • JSON payload structure validation
    • Severity mapping verification
  • docs: Create technical specification for Feature 1 (Log Ingestion)

    • Architecture diagram and component description
    • Requirements (functional and non-functional)
    • Safety guidelines (Metodo Sacchi)
    • Acceptance criteria

Security

  • Configuration files created with restrictive permissions (600)
  • No hardcoded credentials in scripts
  • HTTPS validation for webhook URLs (warning for non-HTTPS)
  • Read-only access to log files (no modifications)