{% extends "base.html" %} {% block title %}Servers{% endblock %} {% block content %} {% from '_limit.html' import limit, paused, locked %} {{ limit(cards|length, plan.servers, 'servers', 'Servers beyond the limit are paused and their agents get HTTP 402.') }}

Servers

Infrastructure agent: CPU, memory, disks, network, processes, services, containers and security posture. {{ stats.total }}/{{ plan.servers }} servers · samples every {{ plan.server_interval }} s.

Export{% if user.can_edit %}{% endif %}
You'll get a one-line installer. Works on Ubuntu, Debian, RHEL, Alpine, macOS; needs Python 3.8+ and outbound HTTPS only.
Servers
{{ stats.total }}
Online
{{ stats.online }}
Offline
{{ stats.offline }}
Open incidents
{{ stats.incidents }}
{% if cards or q or tag %}
{% if all_tags %}{% endif %}{% if q or tag %}Clear{% endif %}
{% endif %} {% if not cards %}

No servers yet

Add a server, run the one-line installer on it, and metrics start flowing within a minute. Same features as Dynatrace-style host monitoring: metrics, processes, services, containers, security, alerts and incidents.

{% else %}
{% for c in cards %}{% set s = c.s %}
{% if s.online %}{% elif s.online is sameas false %}{% else %}{% endif %}{{ s.name }} {{ paused(s.paused_by_plan, 'servers') }}
{{ s.hostname or 'agent not connected yet' }}{% if s.os %} · {{ s.os }}{% endif %}{% if s.public_ip %} · {{ s.public_ip }}{% endif %}
{% for t in s.tags or [] %}{{ t }}{% endfor %}{% if c.incidents %}{{ c.incidents }} open{% endif %}
{% if s.online is none %}
Waiting for the first report. Open the server to see the install command.
{% else %}
{% for label, val in (('CPU', c.cpu), ('Memory', c.mem), ('Disk', c.disk)) %}
{{ label }}
{{ '%.0f'|format(val) if val is not none else '—' }}%
{% endfor %}
load {{ '%.2f'|format(c.load) if c.load is not none else '—' }}up {{ fmt_uptime(c.uptime) }}{% if c.containers is not none %}{{ c.containers }} containers{% endif %}{% if c.updates %}{{ c.updates }} updates{% endif %}{% if c.reboot %}reboot required{% endif %}{{ s.last_seen_at|timeago }}
{% endif %}
{% endfor %}
{% endif %} {% endblock %}