{% extends "django_observatory/base.html" %}{% load observatory %} {% block title %}Server{% endblock %}{% block heading %}Server resources{% endblock %} {% block sub %}CPU, memory and disk of the machine running the application{% if source %} ยท readings via {{ source }}{% endif %}{% endblock %} {% block tools %}{% if hosts|length > 1 %}
{% endif %}{% include "django_observatory/_range.html" %}{% endblock %} {% block content %}
{% if not tiles %}

No readings yet

Server resources are sampled once a minute by the background worker, which starts with the first request the application handles. If nothing appears, CPU and memory may not be readable on this platform without psutil (pip install psutil); disk usage always works.

{% endif %}
{% for t in tiles %}
{{ t.k }}
{{ t.v }}{% if t.alarm %} HIGH{% endif %}
{{ t.note|default:" " }}
{% endfor %}
{% if disks %}{% include "django_observatory/_hbars.html" with title="Disk space" note=host bars=disks mono=1 %}{% endif %}
{% for title, id, data in charts %}{% include "django_observatory/_chart.html" %}{% endfor %}

Server {{ host }}. Thresholds: CPU {{ limits.CPU_PERCENT }}%, memory {{ limits.MEMORY_PERCENT }}%, disk {{ limits.DISK_PERCENT }}% (OBSERVABILITY["SYSTEM"]). Crossing them raises alerts and is used as evidence when incidents are correlated.{% if not have_psutil %} Per-process memory and CPU need the optional psutil package.{% endif %}

{% endblock %}