Skip to main content

A monitoring solution for AWS services with log aggregation and error event summarization

Project description

Apollog

Apollog

What is Apollog?

Apollog is an open source solution for monitoring your existing services on AWS. There are 2 key offerings of this project:

  • Log Aggregation over services: Collect and centralize logs from multiple AWS services
  • Error Event summarization powered by LLMs: Automatically analyze and summarize error events

With this project, the aim is to allow users to simply deploy a side car stack on AWS that can keep track of your services and provide detailed analysis of any error events.

Installation

Option 1: Install from PyPI (Recommended)

pip install apollog

Option 2: Install from Source

git clone https://github.com/Bhavinrathava/Apollog.git
cd Apollog
pip install -e .

Quick Start

1. Initialize a New Project

# Create a new project in the current directory
apollog init

# Or specify a different directory
apollog init --destination my-apollog-project

2. Configure Your AWS Credentials

Ensure your AWS credentials are properly configured. You can do this by:

  • Using the AWS CLI: aws configure
  • Setting environment variables: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  • Using a credentials file in ~/.aws/credentials

3. Edit the Configuration File

Edit the examples/config.yaml file to specify the AWS services you want to monitor:

# Services to monitor
services:
  - serviceName: "MyAPIGateway"
    namespace: "/aws/APIGateway"
    region: "us-west-2"
  - serviceName: "MyLambda"
    namespace: "/aws/Lambda"
    region: "us-west-2"

# Architecture configuration
architecture: 
  logTableName: "Apollog-TimeBlock-Logs"
  summaryTableName: "Apollog-event-summary"
  tableRegion: "us-west-2"

# Stack name for CloudFormation
stack_name: "Apollog-Monitoring-Stack"

4. Deploy the Stack

apollog deploy --config examples/config.yaml

This will:

  1. Create Lambda deployment packages
  2. Upload them to an S3 bucket
  3. Deploy a CloudFormation stack with all necessary resources
  4. Set up the frontend for accessing the monitoring dashboard

Architecture

Apollog deploys the following AWS resources:

  • API Gateway: Serves the frontend interface
  • Lambda Functions:
    • Log Ingestion Lambda: Collects logs from specified services
    • Summary Lambda: Analyzes logs and generates summaries
    • Frontend Lambda: Serves the web interface
  • DynamoDB Tables:
    • Logs Table: Stores collected logs
    • Summary Table: Stores error event summaries
  • CloudWatch Events: Triggers the log ingestion process on a schedule

Advanced Usage

Custom Project Directory

If you've organized your project files in a different directory structure, you can specify the project directory when deploying:

apollog deploy --config examples/config.yaml --project-dir /path/to/project

Updating an Existing Stack

When you run the deploy command and a stack with the same name already exists, you'll be prompted to update it:

Stack Apollog-Monitoring-Stack already exists. Do you want to update it? (Y/N):

Enter Y to update the existing stack with your new configuration.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

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

Source Distribution

apollog-0.1.1.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

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

apollog-0.1.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file apollog-0.1.1.tar.gz.

File metadata

  • Download URL: apollog-0.1.1.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for apollog-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e0e572dca374c8eaa861e5b27b04f33b88c58b07ba5208fa2987b9c6608a075e
MD5 ad55c9b00fea40c064dee79147e6fd43
BLAKE2b-256 1375dde11d495f1a62ed9b9c30d7fecb8ac21ab0392ef081e1c2107c1789761a

See more details on using hashes here.

File details

Details for the file apollog-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: apollog-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for apollog-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89e9d2dbf6b9b87273c5bd1e42b43895733d390742dac138c010df825f59d813
MD5 54a67fc8d231d27a12fc062051eacf31
BLAKE2b-256 46c2518bd109fe9b293c04042e6604d7d2b486dc1f0a03ee9ca112327da8244d

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