Router-tools/templates/history.html

95 lines
No EOL
4.2 KiB
HTML

{% extends "base.html" %}
{% block title %}AS215085 - Router tools | History{% endblock %}
{% block page_header %}<H3>BGP Route history</H3>{% endblock %}
{% block content %}
<section id="total-routes-graph">
<h2>Total Route History</h2>
<div class="d-flex justify-content-center justify-content-lg-end align-items-center mb-3 flex-wrap">
<div class="btn-group me-2" role="group" aria-label="Time range">
<button type="button" class="btn btn-outline-primary active" data-range="24h">24H</button>
<button type="button" class="btn btn-outline-primary" data-range="7d">7D</button>
<button type="button" class="btn btn-outline-primary" data-range="30d">30D</button>
<button type="button" class="btn btn-outline-primary" data-range="90d">90D</button>
</div>
<div class="d-flex flex-column flex-md-row align-items-stretch align-items-md-center">
<input type="datetime-local" id="startDate" class="form-control me-md-1 mb-1 mb-md-0">
<span class="mx-md-1 my-1 my-md-0 text-center">to</span>
<input type="datetime-local" id="endDate" class="form-control me-md-1 mb-1 mb-md-0">
<button type="button" id="customRangeBtn" class="btn btn-primary mt-1 mt-md-0">Go</button>
</div>
</div>
<h3 class="mt-4">IPv4 Routes</h3>
<div class="achart-wrapper-chart">
<canvas id="ipv4RoutesChart"></canvas>
</div>
<hr class="my-4">
<h3 class="mt-4">IPv6 Routes</h3>
<div class="achart-wrapper-chart">
<canvas id="ipv6RoutesChart"></canvas>
</div>
</section>
<section id="peer-links">
<h2>Peer History Links</h2>
{% if peers %}
<div class="row">
<div class="col-md-6">
<h5>IPv4 Peers</h5>
<ul class="list-group list-group-flush">
{% for peer in peers if peer.ip_version == 'ipv4' %}
<li class="list-group-item d-flex justify-content-between align-items-center">
<div>
<a href="{{ url_for('bgp_peer_graph_page', ip_version='ipv4', neighbor_ip=peer.neighbor_address) }}" target="_blank" rel="noopener noreferrer">
{{ peer.neighbor_address }}
</a>
{% if peer.description %}
<small class="ms-2 text-muted">{{ peer.description }}</small>
{% endif %}
</div>
{% if peer.asn %}
<a href="https://bgp.tools/search?q={{ peer.asn }}" target="_blank" rel="noopener noreferrer">
AS{{ peer.asn }}
</a>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
<div class="col-md-6">
<h5>IPv6 Peers</h5>
<ul class="list-group list-group-flush">
{% for peer in peers if peer.ip_version == 'ipv6' %}
<li class="list-group-item d-flex justify-content-between align-items-center">
<div>
<a href="{{ url_for('bgp_peer_graph_page', ip_version='ipv6', neighbor_ip=peer.neighbor_address) }}" target="_blank" rel="noopener noreferrer">
{{ peer.neighbor_address }}
</a>
{% if peer.description %}
<small class="ms-2 text-muted">{{ peer.description }}</small>
{% endif %}
</div>
{% if peer.asn %}
<a href="https://bgp.tools/search?q={{ peer.asn }}" target="_blank" rel="noopener noreferrer">
AS{{ peer.asn }}
</a>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
</div>
{% else %}
<p class="text-center">No historical data found for peers yet. Run the collector to collect data.</p>
{% endif %}
</section>
<script src="{{ url_for('static', filename='js/chart.js') }}"></script>
<script src="{{ url_for('static', filename='js/chartjs-adapter-date-fns') }}"></script>
<script src="{{ url_for('static', filename='js/pages/history.js') }}"></script>
{% endblock %}