{# plugins/traefik/templates/traefik/traffic.html #}
{% if summary %}
{# ── Overview bar ─────────────────────────────────────────────────────────── #}
Total
{{ summary.total }}
Internal
{{ summary.internal }}
External
{{ summary.external }} ({{ "%.1f"|format(summary.external_pct) }}%)
Bytes
{{ summary.total_bytes|bytes }}
{# External % sparkline #}
ext % over time
{{ summary.sparkline_external | safe }}
{# ── Internal/external fill bar ───────────────────────────────────────────── #}
{% set ext_pct = summary.external_pct %}
{# ── Detail cards in columns ──────────────────────────────────────────────── #}
{# Top source IPs #}
Top Source IPs
{% for entry in summary.top_ips %}
| {{ entry.ip }} |
{% if entry.country %}
{{ entry.country }} |
{% endif %}
{{ entry.count }}
|
{% endfor %}
{# Top routers #}
Top Services Hit
{% for entry in summary.top_routers %}
| {{ entry.router }} |
{{ entry.count }} |
{% endfor %}
{# Top countries (only shown if GeoIP is active) #}
{% if summary.top_countries %}
External Traffic by Country
{% for entry in summary.top_countries %}
| {{ entry.country }} |
{{ entry.count }} |
{% endfor %}
{% endif %}
{% else %}
{% if not access_log_enabled %}
The access log is off. Turn it on in
Settings → Plugins → Traefik,
and mount Traefik's log directory into Steward so it can read the file.
{% else %}
No requests in the last {{ range_key }}. The access log is on; if this stays empty, check that
{% if access_log_path %}
{{ access_log_path }}{% else %}the log path{% endif %} is mounted into Steward
and that Traefik is writing to it.
{% endif %}
{% endif %}