Full visibility into your traffic and threats

Real-time dashboards, Prometheus-compatible metrics, structured event logs, alert channels,, and a built-in event center — all from the same admin panel, with no external dependencies.

Observability surface — what you can see
Attack Dashboard
WAF, DDoS & bot events by time window
Prometheus
Scrape metrics into Grafana pipelines
Event Center
Unified log of all security decisions
Traffic Monitor
Per-app request counts & bandwidth
Alert Channels
Webhook, Slack & Email notifications

📊 Attack Dashboard

The central security dashboard aggregates WAF hits, DDoS events, and bot blocks across all your proxy applications. Events are grouped by time window — 24 hours, 7 days, 30 days, or 90 days — so you can spot trends and investigate spikes without leaving the admin panel.

Per-application breakdown lets you identify which proxy host is under attack and drill into specific event types instantly.

Available Views

  • WAF attack counts by rule type and application
  • DDoS event timeline and top attacking IPs
  • Bot block events with user-agent breakdown
  • GeoIP attribution of blocked origins
  • Top attacked paths and HTTP methods

Time Windows

  • Last 24 hours — live view, auto-refreshes
  • Last 7 days — weekly trend
  • Last 30 days — monthly summary
  • Last 90 days — quarterly overview

Poll Interval

  • Configurable via NYXGUARD_POLL_INTERVAL_MS
  • Default: 15 seconds (attack monitor)
  • Range: 1 000 ms – 60 000 ms
  • Web threat monitor: 10 second default

📡 Prometheus Integration

NyxGuard exposes a Prometheus-compatible metrics endpoint. Create named integration tokens from Settings → Integrations and use them to authenticate Prometheus scrapes. Tokens are 256-bit, time-rotatable, and validated with timing-safe comparison.

Scrape Configuration

# prometheus.yml scrape_configs: - job_name: 'nyxguard' scheme: https tls_config: insecure_skip_verify: true bearer_token: '<integration-token>' static_configs: - targets: ['<host>:8443'] metrics_path: '/api/integrations/metrics'

Available Metrics

  • WAF hit counts by rule and app
  • DDoS event counts by window (24h / 7d / 30d / 90d)
  • Bot block counts by app
  • Active proxy host count
  • System uptime and health
  • Rate limit trigger counts

Grafana Dashboard

  • Pre-built Grafana dashboard JSON included
  • Stat panels per metric and time window
  • $window variable toggles 24h / 7d / 30d / 90d views
  • Import via Grafana UI or API

📋 Event Center

The Event Center is a unified, searchable log of all security events, access decisions, and system actions. Unlike the Attack Dashboard (which shows aggregated counts), the Event Center shows individual events with full context — IP, country, rule matched, path, timestamp, and action taken.

Event Types

  • WAF rule match (block or log)
  • DDoS threshold breach
  • Bot detection block
  • GeoIP country block
  • LAN access denial
  • Rate limit trigger

Filters & Controls

  • Filter by event type
  • Filter by proxy application
  • Filter by source IP or country
  • Filter by date/time range
  • Clear logs with configurable retention

🌐 Traffic Monitor

Track request volume, error rates, and response distribution across all your proxied applications. The traffic monitor aggregates nginx access logs into time-series data, giving you per-application visibility without a separate logging stack.

Per-Application Stats

  • Total requests by configurable window
  • 2xx / 3xx / 4xx / 5xx breakdown
  • Unique visitor IPs
  • Top requested paths
  • Top source countries (GeoIP)

Global View

  • Cross-application request totals
  • Error rate trends over time
  • Busiest applications ranking
  • Metrics exported to Prometheus endpoint

Set up your Grafana dashboard

NyxGuard includes a pre-built dashboard with 50 panels — attack counters, WAF status, bot/DDoS/SQLi breakdowns, top IPs, per-app stats, and host system metrics. Follow these steps from Settings → Grafana inside the app.

What you get 50 panels: live attack counters, auto-ban stats, WAF protection status, bot/DDoS/SQLi/auth-bypass breakdowns, top attacking IPs, top targeted hosts, per-app WAF status, IP & country rules summary, host system metrics (CPU, RAM, disk, network, uptime), and historical trend charts.
① Step 1

Create an Integration Token

Go to Settings → Integrations+ Add Integration. Give it a name (e.g. Prometheus) and copy the token shown — it is displayed only once.

② Step 2

Configure Prometheus

Create a prometheus.yml with the scrape job shown in the app. The config auto-fills with your token once you create one:

scrape_configs: - job_name: "nyxguard" scheme: https tls_config: insecure_skip_verify: true bearer_token: "<your-token>" static_configs: - targets: ["<host>:8443"] metrics_path: "/api/integrations/metrics"
③ Step 3

Add Prometheus Data Source

Open Grafana → Connections → Data Sources → Add data source → select Prometheus → enter your Prometheus URL (e.g. http://localhost:9090) → Save & Test.

④ Step 4

Import the NyxGuard Dashboard

Go to Settings → Grafana in NyxGuard and download the dashboard JSON. Then in Grafana: Dashboards → New → Import → upload the JSON → select your Prometheus data source → Import.

⑤ Step 5

Set as Home Dashboard (optional)

Star the NyxGuard dashboard ★ then go to Grafana → Administration → Default preferences → Home Dashboard → select NyxGuard Overview → Save.

⑥ Step 6

Host Metrics (optional)

Install Node Exporter on your NyxGuard host for CPU, RAM, and disk panels. Use the install commands shown in the app under Settings → Grafana → Show install commands. Then uncomment the node_exporter_prod job in your prometheus.yml.