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

  1. Navigate to Performance → New Test
  2. Upload your load-test.js file
  3. 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

  1. Navigate to Security → Targets
  2. Click Add Target
  3. Enter your application URL (e.g., https://staging.example.com)
  4. 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

  1. Select your target
  2. Click Start Scan
  3. 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

  1. Navigate to Reliability → Monitors
  2. Click Add Monitor
  3. 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

  1. Navigate to Chaos → Experiments
  2. Define your experiment (target, attack type, duration)
  3. Submit for approval (required before execution)
  4. Once approved, run the experiment
  5. 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


Support

  • Email: support@selectred.com
  • Documentation: https://aurora.selectred.com/products/sentinel/docs/