Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

Supported by

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