go-tor Alert Response Guide
**THIS IS UNOFFICIAL SOFTWARE** developed without the supervision or endorsement of [The Tor Project](https://www.torproject.org/). This software should **NOT** be used in production or for any real anonymity needs.
go-tor Alert Response Guide
⚠️ IMPORTANT DISCLAIMER
THIS IS UNOFFICIAL SOFTWARE developed without the supervision or endorsement of The Tor Project. This software should NOT be used in production or for any real anonymity needs.
For actual privacy and security:
- Users: Use Tor Browser
- Developers: Use Arti
This guide is for testing and development environments only.
Table of Contents
- Alert Severity Levels
- Service Level Indicators (SLIs)
- Critical Alerts
- Warning Alerts
- Info Alerts
- SLO Burn Rate Alerts
- Alert Response Workflow
- Escalation Policy
Alert Severity Levels
| Severity | Action | Response Time | Notification |
|---|---|---|---|
| Critical | Page on-call immediately | < 5 minutes | PagerDuty, Phone |
| Warning | Create ticket, investigate | < 4 hours | Slack, Email |
| Info | Review during business hours | Next business day | Dashboard only |
Service Level Indicators (SLIs)
go-tor defines the following SLIs for monitoring service health:
| SLI | Target | Measurement | Rationale |
|---|---|---|---|
| Availability | 99.9% | up{job="go-tor"} == 1 | Service must be running |
| Circuit Success Rate | ≥ 70% | success / total builds | Most circuits should succeed |
| Connection Success Rate | ≥ 80% | success / total attempts | Connections should be reliable |
| Latency (P95) | ≤ 10s | circuit_build_duration_p95 | Circuits should build quickly |
| Error Rate | ≤ 10% | errors / requests | Low error rate for users |
SLO Targets
| SLO | Monthly Error Budget | Alert Threshold |
|---|---|---|
| Circuit Success Rate ≥ 70% | 30% failed circuits allowed | Fast burn: >2% of circuits failing per hour |
| Connection Success Rate ≥ 80% | 20% failed connections allowed | Fast burn: >1% of connections failing per hour |
| Latency P95 ≤ 10s | 0.1% of requests may exceed 10s | P95 > 10s for 10 consecutive minutes |
Critical Alerts
TorServiceDown
Summary: go-tor service is unreachable.
Impact: Complete service outage. No Tor connectivity available.
Symptoms:
- Prometheus cannot scrape metrics endpoint
- Health check endpoint not responding
- SOCKS proxy not accepting connections
Investigation Steps:
-
Check if process is running:
# Check process status ps aux | grep tor-client systemctl status go-tor # Check if port is listening ss -tlnp | grep -E '905[0-2]' -
Review system logs:
# Check service logs journalctl -u go-tor -n 100 --no-pager # Check for OOM kills dmesg | grep -i "out of memory" -
Check resource usage:
# Check disk space df -h /var/lib/go-tor # Check memory free -m
Resolution:
-
Restart the service:
systemctl restart go-tor -
If restart fails, check configuration:
/path/to/tor-config-validator -config /etc/go-tor/config.yaml -
If persistent failures, check for:
- Corrupted state files
- Network connectivity issues
- Resource exhaustion
Escalation: If not resolved within 5 minutes, escalate to secondary on-call.
TorNoActiveCircuits
Summary: No active Tor circuits available.
Impact: SOCKS proxy is non-functional. All traffic routing will fail.
Symptoms:
tor_active_circuits == 0- SOCKS connections time out or fail
- Applications report proxy errors
Investigation Steps:
-
Check circuit build status:
# Check metrics curl -s http://localhost:9052/metrics/json | jq '.circuit' # Check recent build failures grep -i "circuit.*fail" /var/log/go-tor/tor.log | tail -20 -
Verify network connectivity:
# Check if we can reach directory authorities curl -I https://www.torproject.org # Check DNS resolution dig +short check.torproject.org -
Check directory consensus:
# Look for consensus-related errors grep -i "consensus" /var/log/go-tor/tor.log | tail -20
Resolution:
-
Check network path:
# Verify outbound connectivity on port 9001 nc -zv [relay-ip] 9001 -
Force consensus refresh:
- Restart the service to trigger fresh consensus download
- Check if consensus file is corrupted and remove if needed
-
Check guard nodes:
- If guards are unavailable, circuits cannot be built
- Review guard persistence file for issues
Escalation: If no circuits for > 10 minutes after investigation, escalate.
TorNoConfirmedGuardsUrgent
Summary: No guard nodes available (neither active nor confirmed).
Impact: Cannot build circuits. Security guarantees not maintained.
Symptoms:
tor_guards_confirmed == 0 AND tor_guards_active == 0- All circuit builds fail at first hop
- No connections to Tor network
Investigation Steps:
-
Check guard state file:
# Check if guard state exists ls -la /var/lib/go-tor/guards.json # Check file content (if exists) cat /var/lib/go-tor/guards.json | jq '.guards | length' -
Verify directory consensus:
# Check consensus freshness ls -la /var/lib/go-tor/consensus # Check consensus age stat /var/lib/go-tor/consensus --printf="%Y" -
Check guard selection logs:
grep -i "guard" /var/log/go-tor/tor.log | tail -50
Resolution:
-
If guard state is corrupted:
# Backup and remove corrupted state mv /var/lib/go-tor/guards.json /var/lib/go-tor/guards.json.bak # Restart to rebuild guards systemctl restart go-tor -
If consensus is stale:
# Remove stale consensus rm /var/lib/go-tor/consensus # Restart to fetch fresh consensus systemctl restart go-tor -
Verify network connectivity to directory authorities
Warning Alerts
TorLowCircuitCount
Summary: Only 1 active circuit. Service is degraded.
Impact: Limited circuit multiplexing. Performance degraded.
Investigation Steps:
- Check circuit build rate and failure rate
- Review circuit build duration (may be slow)
- Check if guards are healthy
Resolution:
- Review prebuilt circuit configuration
- Check for network issues affecting circuit builds
- Consider increasing circuit timeout values
TorHighCircuitFailureRate
Summary: >30% of circuit builds are failing.
Impact: Reduced circuit availability. Increased latency.
Investigation Steps:
-
Identify failure patterns:
grep -i "circuit.*fail" /var/log/go-tor/tor.log | \ awk '{print $NF}' | sort | uniq -c | sort -rn -
Check which hop is failing (guard, middle, exit)
-
Review network connectivity
Resolution:
- Check relay health (may be blacklisted relays)
- Review consensus freshness
- Consider adjusting circuit timeout
TorHighConnectionFailureRate
Summary: >20% of connections to relays are failing.
Impact: Difficulty establishing circuits. Increased build times.
Investigation Steps:
-
Check connection errors:
grep -i "connection.*fail\|connect.*error" /var/log/go-tor/tor.log | tail -50 -
Check firewall rules for outbound port 9001
-
Verify TLS configuration
Resolution:
- Check network path to Tor relays
- Verify firewall allows outbound 9001/tcp
- Check for TLS handshake errors
TorSlowCircuitBuilds
Summary: P95 circuit build time >10 seconds.
Impact: User experience degraded. Slow connection establishment.
Investigation Steps:
- Check average vs P95 build times
- Identify which circuits are slow
- Check network latency
Resolution:
- Consider geographic relay preferences
- Check for network congestion
- Review relay selection policy
TorHighConnectionRetryRate
Summary: >50% of connections require retries.
Impact: Increased resource usage. Longer connection times.
Investigation Steps:
- Review retry logs
- Check for intermittent connectivity
- Identify failing relays
Resolution:
- Check network stability
- Consider adjusting retry policy
- Review relay blacklisting
TorNoConfirmedGuards
Summary: Active guards but none confirmed after 30 minutes.
Impact: Guard rotation may be excessive.
Investigation Steps:
- Check guard selection activity
- Review guard persistence
- Check if guards are reachable
Resolution:
- Guards will confirm over time
- Check guard persistence file permissions
- Verify guards are stable and reachable
TorHighSocksErrorRate
Summary: >10% of SOCKS requests are failing.
Impact: Client applications experiencing failures.
Investigation Steps:
-
Review SOCKS errors:
grep -i "socks.*error" /var/log/go-tor/tor.log | tail -50 -
Check circuit availability
-
Review client request patterns
Resolution:
- Ensure circuits are available
- Check for malformed client requests
- Review stream isolation settings
TorReplayAttacksDetected
Summary: Replay attacks are being detected.
Impact: Potential security issue. Possible attack in progress.
Investigation Steps:
-
Review attack patterns:
grep -i "replay" /var/log/go-tor/tor.log | tail -100 -
Check forward vs backward replay attempts
-
Identify source circuits
Resolution:
- Rotate affected circuits
- Check for malicious relays in path
- Review replay protection logs
- Consider reporting to Tor Project if persistent
Info Alerts
TorHighStreamActivity
Summary: >100 active streams.
Impact: High load. Monitor for resource exhaustion.
Investigation: Review stream distribution. Consider scaling.
TorLowGuardCount
Summary: Only 1 active guard.
Impact: Reduced resilience if guard fails.
Investigation: Guards are added automatically over time.
TorHighIsolationMisses
Summary: >50% of isolated circuit requests miss cache.
Impact: Building many isolated circuits.
Investigation: Review isolation requirements. Consider prebuilding.
TorOutOfOrderCells
Summary: Out-of-order cells detected.
Impact: May indicate network issues.
Investigation: Review network path. Check for packet loss.
TorExtendedUptime
Summary: Running for >7 days.
Impact: May be running outdated code.
Investigation: Schedule maintenance window for update.
SLO Burn Rate Alerts
TorCircuitSuccessSLOFastBurn
Summary: Consuming error budget at >2% per hour.
Impact: Will exhaust monthly budget in days if sustained.
Immediate Actions:
- Investigate circuit build failures immediately
- Check relay connectivity
- Review consensus freshness
TorCircuitSuccessSLOSlowBurn
Summary: Slowly consuming error budget.
Impact: Will impact monthly SLO if sustained for days.
Actions:
- Review circuit build trends
- Plan investigation during business hours
- Check for gradual degradation
Alert Response Workflow
┌─────────────────────────────────────────────────────────────┐
│ ALERT RECEIVED │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 1. ACKNOWLEDGE │
│ - Note alert time and details │
│ - Check for related alerts │
│ - Review recent changes (deploys, config) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. INVESTIGATE │
│ - Check dashboards for patterns │
│ - Review logs for errors │
│ - Verify basic connectivity │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. MITIGATE │
│ - Apply immediate fix if known │
│ - Restart service if safe │
│ - Rollback recent changes if applicable │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. ESCALATE (if needed) │
│ - Critical: After 5 minutes without resolution │
│ - Warning: After 1 hour without resolution │
│ - Include: Alert details, investigation, attempted fixes│
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. RESOLVE & DOCUMENT │
│ - Verify alert is resolved │
│ - Document root cause │
│ - Create follow-up tickets if needed │
│ - Update runbook if new failure mode │
└─────────────────────────────────────────────────────────────┘
Escalation Policy
Critical Alerts
- 0-5 minutes: Primary on-call investigates
- 5-15 minutes: Escalate to secondary on-call
- 15-30 minutes: Escalate to team lead
- 30+ minutes: Incident commander engaged
Warning Alerts
- 0-1 hour: Assigned engineer investigates
- 1-4 hours: Escalate to team lead
- 4+ hours: Schedule postmortem if pattern continues
Contact Information
| Role | Contact Method | Response Time |
|---|---|---|
| Primary On-Call | PagerDuty | < 5 min |
| Secondary On-Call | PagerDuty | < 15 min |
| Team Lead | Slack/Phone | < 30 min |
See Also
- MONITORING_GUIDE.md - Monitoring setup and configuration
- INCIDENT_RESPONSE.md - Incident response procedures
- RUNBOOK.md - Operational procedures
- TROUBLESHOOTING.md - Common issues and solutions
Related Documents
youtube
title: Youtube HN finest
🚀 Lovable AI & Cloud - Complete Setup Guide
**Complete Implementation Roadmap**
Evaluation and Observability
Sources: Huyen (AI Engineering, ch. 3–4, 10), Brousseau & Sharp (LLMs in Production), Pydantic Evals documentation analysis, RAGAS framework documentation analysis, 2025–2026 production patterns
LLM Judge — Setup & Operations
The **LLM Judge** is LLMTrace's third security detector alongside the