A monitoring solution for AWS services with log aggregation and error event summarization
Project description
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_IDandAWS_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:
- Create Lambda deployment packages
- Upload them to an S3 bucket
- Deploy a CloudFormation stack with all necessary resources
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0e572dca374c8eaa861e5b27b04f33b88c58b07ba5208fa2987b9c6608a075e
|
|
| MD5 |
ad55c9b00fea40c064dee79147e6fd43
|
|
| BLAKE2b-256 |
1375dde11d495f1a62ed9b9c30d7fecb8ac21ab0392ef081e1c2107c1789761a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89e9d2dbf6b9b87273c5bd1e42b43895733d390742dac138c010df825f59d813
|
|
| MD5 |
54a67fc8d231d27a12fc062051eacf31
|
|
| BLAKE2b-256 |
46c2518bd109fe9b293c04042e6604d7d2b486dc1f0a03ee9ca112327da8244d
|