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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| apollog-0.1.1.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|