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

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.

Metadata

Release files for apollog 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apollog 0.1.1
File Size Uploaded
apollog-0.1.1.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apollog 0.1.1
File Interpreter ABI Platform
apollog-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 31.9 kB

Release files / apollog-0.1.1.tar.gz

Download URL apollog-0.1.1.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e0e572dca374c8eaa861e5b27b04f33b88c58b07ba5208fa2987b9c6608a075e
BLAKE2b-256 checksum
How to use checksums
1375dde11d495f1a62ed9b9c30d7fecb8ac21ab0392ef081e1c2107c1789761a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Release files / apollog-0.1.1-py3-none-any.whl

Download URL apollog-0.1.1-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89e9d2dbf6b9b87273c5bd1e42b43895733d390742dac138c010df825f59d813
BLAKE2b-256 checksum
How to use checksums
46c2518bd109fe9b293c04042e6604d7d2b486dc1f0a03ee9ca112327da8244d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page