{% extends "base.html" %} {% block title %}Watcher Manager — Admin{% endblock %} {% block content %}

Watcher Manager

Admin

Monitor and manage field watcher agents. Data updates on each heartbeat received.

{% if not agents %}

No watcher agents have reported in yet.

Once a watcher sends its first heartbeat it will appear here.

{% endif %} {% for agent in agents %}
{% if agent.status == 'ok' %} {% elif agent.status == 'pending' %} {% elif agent.status in ('missing', 'error') %} {% else %} {% endif %}

{{ agent.id }}

{{ agent.source_type }} {% if agent.version %} v{{ agent.version }} {% endif %} {% if agent.ip_address %} {{ agent.ip_address }} {% endif %}
{% if agent.status == 'ok' %} OK {% elif agent.status == 'pending' %} Pending {% elif agent.status == 'missing' %} Missing {% elif agent.status == 'error' %} Error {% else %} Unknown {% endif %}
Last seen {% if agent.last_seen %} {{ agent.last_seen }} {% if agent.age_minutes is not none %} ({{ agent.age_minutes }}m ago) {% endif %} {% else %} Never {% endif %}
Update pending — will apply on next heartbeat
{% if agent.log_tail %}
Log Tail
{% else %}
No log data received yet.
{% endif %}
{% endfor %}
Auto-refreshes every 30 seconds — or refresh now
{% endblock %}