Get Started with Metlo
This guide will help you deploy Metlo locally using Docker Compose and start monitoring your APIs in under 5 minutes.Prerequisites
Before you begin, ensure you have:- Docker (version 20.10 or later)
- Docker Compose (version 2.0 or later)
- At least 2GB of available RAM
- Port availability: 8000 (frontend), 8080 (backend), 8081 (ingestor)
Installation
Start Metlo Services
Launch all Metlo components using Docker Compose:This will start:
- PostgreSQL database
- Redis cache
- Metlo backend (port 8080)
- Metlo frontend (port 8000)
- Metlo ingestor (port 8081)
- Metlo analyzer
- Metlo jobs runner
The first startup may take 2-3 minutes as Docker pulls the necessary images and initializes the database.
Verify Installation
Check that all services are running correctly:Configure Traffic Monitoring
To start monitoring your APIs, you need to install a Metlo ingestor in your application.Node.js Applications
For Node.js apps (Express, Koa, Fastify), install the Metlo package:Configure Express Middleware
Add Metlo to your Express application:
Replace
<YOUR_METLO_API_KEY> with an actual API key from your Metlo dashboard.Python Applications
For Python apps (Flask, Django, FastAPI), use the Python ingestor:Other Languages
Metlo supports multiple languages:- Go: Import the Go ingestor package
- Java: Add the Java agent dependency
- Kubernetes: Deploy the DAPR integration
Configuration Options
Environment Variables
Thedocker-compose.yaml supports these key environment variables:
| Variable | Description | Required |
|---|---|---|
ENCRYPTION_KEY | Key for encrypting sensitive data | Yes |
EXPRESS_SECRET | Session secret for backend | Yes |
BACKEND_URL | Backend API URL | Yes |
LICENSE_KEY | Enterprise license key | No |
NUM_WORKERS | Number of analyzer workers | No |
DISABLE_LOGGING_STATS | Disable usage statistics | No |
Custom Configuration
You can customize Metlo behavior usingmetlo-config.yaml:
What’s Next?
Architecture Overview
Learn how Metlo components work together
Deploy to Production
Deploy Metlo to AWS, GCP, or Azure
Security Testing
Create security tests for your APIs
Attack Detection
Configure attack detection rules
Troubleshooting
Common Issues
Services won’t start- Verify the ingestor is reachable at
http://localhost:8081 - Check that the Metlo middleware is initialized before your routes
- Ensure your application is making requests to monitored endpoints