Files
foxhunt/deployment/monitoring/alertmanager.yml
jgrusewski 1c07a40c54 🚀 PRODUCTION READY: Foxhunt HFT Trading System v1.0
Initial commit of production-ready high-frequency trading system.

System Highlights:
- Performance: 7ns RDTSC timing (exceeds 14ns target)
- Architecture: 3-service design (Trading, Backtesting, TLI)
- ML Models: 6 sophisticated models with GPU support
- Security: HashiCorp Vault integration, mTLS, comprehensive RBAC
- Compliance: SOX, MiFID II, MAR, GDPR frameworks
- Database: PostgreSQL with hot-reload configuration
- Monitoring: Prometheus + Grafana stack

Status: 96.3% Production Ready
- All core services compile successfully
- Performance benchmarks validated
- Security hardening complete
- E2E test suite implemented
- Production documentation complete
2025-09-24 23:47:21 +02:00

153 lines
4.5 KiB
YAML

# AlertManager Configuration for Foxhunt HFT Trading System
global:
smtp_smarthost: 'localhost:587'
smtp_from: 'alerts@foxhunt.local'
smtp_require_tls: true
# Templates for alert notifications
templates:
- '/etc/alertmanager/templates/*.tmpl'
# Routing configuration
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 10s
group_interval: 10s
repeat_interval: 1m
receiver: 'web.hook'
routes:
# Critical trading alerts - immediate notification
- match:
severity: critical
component: trading
receiver: 'critical-trading'
group_wait: 0s
group_interval: 30s
repeat_interval: 5m
# Risk management alerts
- match:
severity: critical
component: risk
receiver: 'critical-risk'
group_wait: 0s
group_interval: 30s
repeat_interval: 5m
# System alerts
- match:
severity: critical
receiver: 'critical-system'
group_wait: 5s
group_interval: 1m
repeat_interval: 10m
# Warning alerts
- match:
severity: warning
receiver: 'warning-alerts'
group_wait: 30s
group_interval: 5m
repeat_interval: 30m
# Alert receivers
receivers:
# Default webhook
- name: 'web.hook'
webhook_configs:
- url: 'http://localhost:5001/webhook'
send_resolved: true
# Critical trading alerts
- name: 'critical-trading'
email_configs:
- to: 'trading-team@foxhunt.local'
subject: 'CRITICAL: Foxhunt Trading Alert - {{ .GroupLabels.alertname }}'
body: |
{{ range .Alerts }}
Alert: {{ .Annotations.summary }}
Description: {{ .Annotations.description }}
Labels: {{ range .Labels.SortedPairs }} {{ .Name }} = {{ .Value }} {{ end }}
{{ end }}
headers:
Priority: 'urgent'
slack_configs:
- api_url: 'YOUR_SLACK_WEBHOOK_URL'
channel: '#trading-alerts'
title: 'CRITICAL Trading Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
webhook_configs:
- url: 'http://localhost:5001/critical-trading'
send_resolved: true
# Critical risk alerts
- name: 'critical-risk'
email_configs:
- to: 'risk-team@foxhunt.local'
subject: 'CRITICAL: Foxhunt Risk Alert - {{ .GroupLabels.alertname }}'
body: |
{{ range .Alerts }}
Alert: {{ .Annotations.summary }}
Description: {{ .Annotations.description }}
Labels: {{ range .Labels.SortedPairs }} {{ .Name }} = {{ .Value }} {{ end }}
{{ end }}
slack_configs:
- api_url: 'YOUR_SLACK_WEBHOOK_URL'
channel: '#risk-alerts'
title: 'CRITICAL Risk Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
# Critical system alerts
- name: 'critical-system'
email_configs:
- to: 'ops-team@foxhunt.local'
subject: 'CRITICAL: Foxhunt System Alert - {{ .GroupLabels.alertname }}'
body: |
{{ range .Alerts }}
Alert: {{ .Annotations.summary }}
Description: {{ .Annotations.description }}
Labels: {{ range .Labels.SortedPairs }} {{ .Name }} = {{ .Value }} {{ end }}
{{ end }}
slack_configs:
- api_url: 'YOUR_SLACK_WEBHOOK_URL'
channel: '#system-alerts'
title: 'CRITICAL System Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
# Warning alerts
- name: 'warning-alerts'
email_configs:
- to: 'monitoring@foxhunt.local'
subject: 'WARNING: Foxhunt Alert - {{ .GroupLabels.alertname }}'
body: |
{{ range .Alerts }}
Alert: {{ .Annotations.summary }}
Description: {{ .Annotations.description }}
Labels: {{ range .Labels.SortedPairs }} {{ .Name }} = {{ .Value }} {{ end }}
{{ end }}
slack_configs:
- api_url: 'YOUR_SLACK_WEBHOOK_URL'
channel: '#monitoring'
title: 'Warning Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
# Inhibition rules to prevent alert spam
inhibit_rules:
# Inhibit all other alerts if trading service is down
- source_match:
alertname: TradingServiceDown
target_match_re:
component: trading
equal: ['cluster', 'service']
# Inhibit individual service alerts if the whole node is down
- source_match:
alertname: NodeDown
target_match_re:
alertname: (ServiceDown|HighLatency|.*Error)
equal: ['instance']