Pangolin Stack Debugging Commands 📊
28/01/2025 networking 5 mins read
Table Of Contents
- Pangolin Stack Debugging Commands
- Container Management & Health
- Basic Container Commands
- Container Inspection
- Network Debugging
- Network Inspection
- Port Mapping
- Volume Management
- Volume Inspection
- Config File Access
- Service-Specific Commands
- Pangolin
- Gerbil
- Traefik
- Security & Certificate Management
- SSL/TLS
- Authentication
- CrowdSec Security Monitoring
- Basic CrowdSec Operations
- Decision Management
- Bouncer Management
- Configuration and Integration
- Performance Monitoring
- Resource Usage
- Network Performance
- Troubleshooting Tips
Pangolin Stack Debugging Commands #
Container Management & Health
Basic Container Commands
# View all container stats (CPU, memory, network I/O)docker stats
# View specific container statsdocker stats pangolindocker stats gerbildocker stats traefik
# Check container logsdocker compose logs -fdocker compose logs pangolin -fdocker compose logs gerbil -fdocker compose logs traefik -f
# Restart specific servicesdocker compose restart pangolindocker compose restart gerbildocker compose restart traefik
# Check container health statusdocker inspect --format='{{.State.Health.Status}}' pangolindocker inspect --format='{{.State.Health.Status}}' gerbildocker inspect --format='{{.State.Health.Status}}' traefik
Container Inspection
# Get detailed container informationdocker inspect pangolindocker inspect gerbildocker inspect traefik
# Check container environment variablesdocker exec pangolin envdocker exec gerbil envdocker exec traefik env
# View running processes in containersdocker top pangolindocker top gerbildocker top traefik
Network Debugging
Network Inspection
# List all networksdocker network ls
# Inspect network detailsdocker network inspect pangolin_default
# Get container IP addressesdocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pangolindocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' gerbildocker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' traefik
# Check network connectivity between containersdocker exec pangolin ping gerbildocker exec gerbil ping traefik
Port Mapping
# List all port mappingsdocker port pangolindocker port gerbildocker port traefik
# Check listening portsdocker exec pangolin netstat -tulpndocker exec gerbil netstat -tulpndocker exec traefik netstat -tulpn
Volume Management
Volume Inspection
# List all volumesdocker volume ls
# Inspect volume detailsdocker volume inspect pangolin_configdocker volume inspect traefik_config
# Check volume contentsdocker exec pangolin ls -la /app/configdocker exec traefik ls -la /etc/traefik
Config File Access
# View configuration filesdocker exec pangolin cat /app/config/config.ymldocker exec traefik cat /etc/traefik/traefik_config.ymldocker exec traefik cat /etc/traefik/dynamic_config.yml
# Check file permissionsdocker exec pangolin ls -l /app/configdocker exec traefik ls -l /etc/traefik
Service-Specific Commands
Pangolin
# Check Pangolin API healthcurl -I http://localhost:3001/api/v1/health
# View Pangolin logsdocker exec pangolin tail -f /app/config/logs/pangolin.log
# Check database statusdocker exec pangolin ls -l /app/config/db
Gerbil
# Check WireGuard interface statusdocker exec gerbil wg showdocker exec gerbil ip addr show
# View Gerbil peersdocker exec gerbil wg show all
# Check Gerbil logsdocker exec gerbil tail -f /var/log/gerbil.log
Traefik
# Check Traefik dashboard (if enabled)curl -I http://localhost:8080
# View Traefik configurationsdocker exec traefik cat /etc/traefik/traefik.yml
# Check SSL certificatesdocker exec traefik ls -l /letsencrypt
# View access logsdocker exec traefik tail -f /var/log/access.log
Security & Certificate Management
SSL/TLS
# Check Let's Encrypt certificatesdocker exec traefik cat /letsencrypt/acme.json
# View certificate expirationdocker exec traefik openssl x509 -in /letsencrypt/acme.json -text -noout
# Test SSL configurationcurl -vI https://your-domain.com
Authentication
# Check Badger plugin statusdocker exec traefik curl http://localhost:8080/api/http/middlewares
# Test authentication endpointscurl -I https://your-domain.com/api/v1/auth/status
CrowdSec Security Monitoring
Basic CrowdSec Operations
# Monitor CrowdSec container resourcesdocker stats crowdsec
# View CrowdSec metricscurl http://localhost:6060/metrics | grep appsecdocker exec -it crowdsec cscli metrics
# Check CrowdSec logsdocker exec -it crowdsec tail -f /var/log/crowdsec.logdocker exec -it crowdsec ls -l /var/log/traefik/docker exec -it crowdsec cscli explain /var/log/traefik/traefik.log
Decision Management
# List current decisionsdocker exec -it crowdsec cscli decisions list
# Add captcha challenge for an IPdocker exec crowdsec cscli decisions add --ip 10.10.10.45 --type captcha -d 1h
# Ban an IP addressdocker exec crowdsec cscli decisions add -i 10.10.10.45 -t ban -d 1h
Bouncer Management
# List all bouncersdocker exec crowdsec cscli bouncers list
# Add Traefik bouncerdocker exec crowdsec cscli bouncers add traefik-bouncer
# Remove Traefik bouncerdocker exec crowdsec cscli bouncers delete traefik-bouncer
Configuration and Integration
# View CrowdSec acquisition configurationdocker exec crowdsec cat /etc/crowdsec/acquis.yaml
# Restart CrowdSec and Traefikdocker compose restart traefik crowdsec
# Check CrowdSec network configurationdocker network inspect root_default | grep -A 5 pangolin
Performance Monitoring
Resource Usage
# Check container resource limitsdocker inspect --format='{{.HostConfig.Resources}}' pangolindocker inspect --format='{{.HostConfig.Resources}}' gerbildocker inspect --format='{{.HostConfig.Resources}}' traefik
# Monitor real-time metricsdocker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}"
Network Performance
# Check network throughputdocker exec gerbil iftop -i wg0
# Monitor network connectionsdocker exec traefik netstat -ant | grep ESTABLISHED
Troubleshooting Tips
- Always check logs first when encountering issues:
docker compose logs --tail=100 -f
- Verify network connectivity between services:
docker network inspect pangolin_default
- Check configuration file syntax:
docker exec pangolin yaml lint /app/config/config.ymldocker exec traefik traefik validate /etc/traefik/traefik_config.yml
- Monitor system resources:
docker stats --no-stream
- Verify service health endpoints:
curl -I http://localhost:3001/api/v1/healthcurl -I http://localhost:3003/health # Gerbilcurl -I http://localhost:8080/ping # Traefik