Getting Started with Aurora Sentinel
Aurora Sentinel combines load testing, security scanning, uptime monitoring, and chaos engineering into a single self-hosted platform. This guide walks you through deployment and running your first tests.
Prerequisites
- Docker 20.10 or later
- Docker Compose v2.x
- 4GB RAM minimum (8GB recommended)
- 10GB disk space
Quick Start
1. Pull the Docker Compose file
curl -O https://aurora.selectred.com/downloads/sentinel/docker-compose.yml
2. Create environment file
cat > .env << 'EOF'
# Sentinel Configuration
SENTINEL_PORT=3003
MONGODB_URI=mongodb://mongodb:27017/sentinel
JWT_SECRET=your-secret-key-here
# Optional: License key (leave empty for free tier)
SENTINEL_LICENSE_KEY=
# Optional: Alerting
SLACK_WEBHOOK_URL=
PAGERDUTY_ROUTING_KEY=
ALERT_EMAIL_TO=
EOF
3. Start the services
docker compose up -d
4. Access the UI
Open http://localhost:3003 in your browser.
Default credentials:
- Email:
admin@sentinel.local - Password:
admin123
Important: Change the default password immediately after first login.
Running Your First Performance Test
1. Create a script
Create a file called load-test.js:
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10,
duration: '30s',
};
export default function () {
const res = http.get('https://your-app.example.com/api/health');
check(res, {
'status is 200': (r) => r.status === 200,
'response time < 500ms': (r) => r.timings.duration < 500,
});
sleep(1);
}
2. Upload and run
- Navigate to Performance → New Test
- Upload your
load-test.jsfile - Click Run Test
Results will appear in real-time, with metrics stored for trend analysis.
Core Web Vitals (Browser Testing)
Sentinel also supports k6 browser testing for Core Web Vitals:
- LCP (Largest Contentful Paint)
- FCP (First Contentful Paint)
- TTFB (Time to First Byte)
- CLS (Cumulative Layout Shift)
Running Your First Security Scan
Sentinel uses Nuclei for vulnerability scanning with Katana for endpoint discovery.
1. Configure a target
- Navigate to Security → Targets
- Click Add Target
- Enter your application URL (e.g.,
https://staging.example.com) - Configure scan options:
- Severity filter — Critical, High, Medium, Low
- Template categories — CVEs, OWASP Top 10, misconfigurations
- Crawl depth — How deep Katana should discover endpoints
2. Run the scan
- Select your target
- Click Start Scan
- Monitor progress in the scan dashboard
Katana automatically discovers endpoints, then Nuclei scans each for vulnerabilities.
3. Review findings
Once complete, findings are categorised by severity:
- Critical — fix immediately
- High — fix before release
- Medium — fix when convenient
- Low/Info — review for best practices
Uptime Monitoring
Sentinel includes Blackbox Exporter for multi-protocol monitoring.
Supported Probes
- HTTP/HTTPS — status codes, response times, TLS verification
- TCP — connection checks
- ICMP — ping checks
- DNS — resolution checks
Configure a Monitor
- Navigate to Reliability → Monitors
- Click Add Monitor
- Configure:
- Target URL or hostname
- Probe type (HTTP, TCP, ICMP, DNS)
- Check interval
- Alert thresholds
Chaos Engineering
Test resilience with controlled failure injection.
Available Attack Types
- Network latency injection
- Packet loss simulation
- DNS failure injection
- HTTP error injection
- Process/container termination
Running an Experiment
- Navigate to Chaos → Experiments
- Define your experiment (target, attack type, duration)
- Submit for approval (required before execution)
- Once approved, run the experiment
- Review results and rollback confirmation
Integrating with CI/CD
Sentinel exposes a REST API for pipeline integration.
Trigger a performance test
curl -X POST http://localhost:3003/api/performance/run \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"scriptId": "abc123", "options": {"vus": 50, "duration": "1m"}}'
Trigger a security scan
curl -X POST http://localhost:3003/api/security/scan \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"targetId": "xyz789", "severities": ["critical", "high"]}'
Check scan status
curl http://localhost:3003/api/security/scan/SCAN_ID/status \
-H "Authorization: Bearer YOUR_API_KEY"
Fail pipeline on high-severity findings
# Get scan results
RESULT=$(curl -s http://localhost:3003/api/security/scan/SCAN_ID/results \
-H "Authorization: Bearer YOUR_API_KEY")
# Check for critical/high issues
CRITICAL_COUNT=$(echo $RESULT | jq '.findings | map(select(.severity == "critical" or .severity == "high")) | length')
if [ "$CRITICAL_COUNT" -gt 0 ]; then
echo "Found $CRITICAL_COUNT critical/high vulnerabilities"
exit 1
fi
Next Steps
- Configuration Reference — full environment variable reference
- Alerting Setup — configure Slack, PagerDuty, and email notifications
- Custom Nuclei Templates — create custom scan templates (Enterprise)
Support
- Email: support@selectred.com
- Documentation: https://aurora.selectred.com/products/sentinel/docs/