Node Monitoring System

Total Nodes: {{ nodes|length }}

Service UUID: {{ service_uuid }}

{% if nodes %}
{# Top-left corner #} {% for node in nodes %}
{{ node.uuid[:8] }}...
{% endfor %}
{% for row_node in nodes %}
{{ row_node.uuid[:8] }}...
{% for col_node in nodes %}
{% if row_node.uuid == col_node.uuid %}
Status: {{ row_node.health_status.upper() }}

UUID: {{ row_node.uuid }}

IP: {{ row_node.ip }}

Last Seen: {{ row_node.formatted_last_seen }}

Uptime: {{ row_node.formatted_uptime }}

Load Avg (1m, 5m, 15m): {{ row_node.load_avg_fmt | join(', ') if row_node.load_avg_fmt else 'N/A' }}

Memory Usage: {{ '%.2f' | format(row_node.memory_usage_percent) + '%' if row_node.memory_usage_percent is not none else 'N/A' }}

{% else %} {% set latency = row_node.connections[col_node.uuid] if col_node.uuid in row_node.connections else None %} {% set display_latency = 'N/A' %} {% if latency is not none and latency is not equalto 0.0 %} {% set display_latency = '%.1f ms' | format(latency) %} {% endif %}
Ping: {{ display_latency }}

From: {{ row_node.uuid[:8] }}...

to: {{ col_node.uuid[:8] }}...

Latency: {{ display_latency }}

{% endif %}
{% endfor %}
{% endfor %}
{% else %}

No nodes reporting yet. Start a client!

{% endif %}