Skip to content

chanawh/log-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Log Analyzer

Automated Log Analyzer is a robust tool engineered to parse, analyze, and report on logs from diverse sources. It demonstrates best practices in modular design, automated testing, and API integrations—showcasing engineering rigor and scalability.


Table of Contents


Overview

The Automated Log Analyzer streamlines troubleshooting by:

  • Parsing Logs: Extracting timestamps, log levels, and error messages from various log sources (e.g., Nginx, application logs).
  • Data Analysis: Aggregating and analyzing log data using Pandas.
  • Reporting: Generating dynamic HTML reports with Jinja2 templates.
  • AI-Driven Fixes: Leveraging the OpenAI API to provide intelligent suggestions for error resolution.
  • Real-Time Alerts: (Optional) Integrating with messaging platforms (e.g., Slack) for proactive notifications.

This project not only processes and visualizes log data but also illustrates how modern DevOps practices and AI integrations can enhance system reliability.


Architecture & Design

  • Modular Structure:
    Code is organized into modules for log parsing, report generation, and AI integration, promoting separation of concerns and maintainability.

  • Data-Driven Analysis:
    Uses Pandas for efficient data manipulation, capable of handling large volumes of log data.

  • Template-Driven Reporting:
    HTML reports are dynamically generated via Jinja2, making it easy to customize the output.

  • AI Integration:
    A dedicated module interfaces with the OpenAI API to generate context-aware error resolution suggestions.

  • CI/CD and Testing:
    A comprehensive test suite ensures code quality, with integration into CI pipelines (e.g., GitHub Actions) for continuous delivery.


Features

  • Log Parsing:

    • Robust regex-based extraction of timestamps, log levels, and messages.
    • Supports multiple log formats (e.g., Nginx and custom logs).
  • Data Analysis:

    • Utilizes Pandas to filter, aggregate, and analyze log data.
  • Reporting:

    • Generates interactive HTML reports via customizable Jinja2 templates.
  • AI-Powered Suggestions:

    • Integrates the OpenAI API to provide actionable recommendations for resolving errors.
  • CLI Support:

    • Command-line interface for ease of use in various environments.
  • Notification Integration:

    • (Optional) Integrates with services like Slack for real-time alerting.

Tech Stack

  • Python – Core programming language.
  • Pandas – Data analysis and manipulation.
  • Regex – Log parsing and pattern matching.
  • Jinja2 – HTML report generation.
  • OpenAI API – AI-powered error suggestion engine.
  • pytest – Unit testing framework.
  • GitHub Actions (or equivalent) – Continuous integration and deployment.

Repository Structure

Automated-Log-Analyzer/
├── README.md                   # Project documentation (this file)
├── requirements.txt            # Python dependencies
├── analyzer/
│   ├── __init__.py             # Package initialization
│   ├── log_parser.py           # Module for parsing log files
│   ├── report_generator.py     # Module for generating HTML reports
│   └── ai_helper.py            # Module for AI-powered error suggestions
├── templates/
│   └── report_template.html    # Jinja2 template for HTML report
├── tests/
│   ├── test_log_parser.py      # Unit tests for log parsing functionality
│   └── test_report_generator.py# Unit tests for report generation functionality
└── examples/
    └── sample.log              # Sample log file for demonstration

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published