{% extends layout %}{% import 'ui/kit.html' as kit %} {% import 'ui/telemetry/_t.html' as t with context %} {% block title %}Needs attention ยท amebo{% endblock %} {% block content %} {{ t.css() }}

Needs attention

Everything across the broker and the telemetry that will not fix itself. Each row links to the page that can fix it.

{{ t.card(dead|length, 'dead letters', 'bad' if dead else 'ok', 'deliveries out of retries') }} {{ t.card(burning|length, 'services burning', 'bad' if burning else 'ok', 'error rate at or over 1%') }} {{ t.card(regressed|length, 'regressions', 'bad' if regressed else 'ok', 'resolved issues that came back') }} {{ t.card(unclaimed|length, 'unclaimed services', 'warn' if unclaimed else 'ok', 'telemetry with no application') }}

Dead-lettered deliveries out of retries, waiting for a human

{%- if not dead %}{{ t.empty('Every delivery has landed') }} {%- else %} {%- for g in dead %} {%- endfor %}
gistactionsubscriberlast responseattempts
{{ g.id }} {{ g.action }} {{ g.subscriber }} {{ g.code|code_pill }} {{ g.snippet }} {{ g.attempts }} {% if principal.superadmin %}{% endif %}
{%- endif %}

Services over threshold last hour

{%- if not burning %}{{ t.empty('No service is over its error threshold') }} {%- else %} {%- for s in burning %} {%- endfor %}
serviceerror rateerrorsspansp95p99
{%- endif %}

Regressed issues resolved, then seen again

{%- if not regressed %}{{ t.empty('Nothing resolved has come back') }} {%- else %} {%- for i in regressed %} {%- endfor %}
issueserviceeventslast seen
{%- endif %}

Unclaimed services a service.name no registered application matches, so nobody owns it

{%- if not unclaimed %}{{ t.empty('Every reporting service maps to a registered application') }} {%- else %} {%- for s in unclaimed %} {%- endfor %}
service.namefirst seenlast seen
{{ s.service }} {{ s.first_seen|ago }} {{ s.last_seen|ago }}
{%- endif %}
{% endblock %}