Infrastructure Map

Auto-refreshes every 60s | Built: {{ build_date }}
{% for group_name, servers in groups.items() %}

{{ group_name }}

{% for server in servers %} {% set d = server.details or {} %} {% set sys = d.get('system', {}) if d.get('system') else {} %} {% set cpu = d.get('cpu', {}) if d.get('cpu') else {} %} {% set mem = d.get('memory', {}) if d.get('memory') else {} %} {% set temps = d.get('temperatures', {}) if d.get('temperatures') else {} %} {% set max_temp = namespace(val=0.0) %} {% for k, v in temps.items() %} {% if v|float > max_temp.val %} {% set max_temp.val = v|float %} {% endif %} {% endfor %} {% set cpu_pct = cpu.get('usage_percent', '0')|float %} {% set mem_pct = mem.get('usage_percent', '0')|float %} {% set disk_usages = d.get('disk_usage', []) if d.get('disk_usage') else [] %} {% set root_disk = namespace(pct=0.0) %} {% for du in disk_usages %} {% if du.get('mount') == '/' %} {% set root_disk.pct = du.get('usage_percent', '0')|float %} {% endif %} {% endfor %} {% if root_disk.pct == 0.0 and disk_usages|length > 0 %} {% set root_disk.pct = disk_usages[0].get('usage_percent', '0')|float %} {% endif %}
{{ server.hostname }} {% if server.url %} {% endif %}
{{ server.primary_ip or 'No IP' }}
{% if sys.get('platform') %}{{ sys.get('platform')|capitalize }} {{ sys.get('platform_version', '') }} / {% endif %}{{ sys.get('os_pretty', '') }}
{% set server_links = server.links or [] %} {% if server_links %} {% endif %} {% if server.is_online and (cpu.get('model') or mem.get('total_mb')) %}
{%- if cpu.get('model') %}{{ cpu.get('model') }}{% endif %} {%- if cpu.get('cores') %} ({{ cpu.get('cores') }}c){% endif %} {%- if mem.get('total_mb') %} / {{ mem.get('total_mb', '')|format_mb }}{% endif -%}
{% endif %} {% set containers_raw = d.get('container', []) if d.get('container') else [] %} {% set child_vms = children_map.get(server.hostname, []) %} {% set child_names = [] %} {% for vm in child_vms %} {% set _ = child_names.append(vm.hostname) %} {% if vm.details and vm.details.get('system', {}).get('hostname') %} {% set _ = child_names.append(vm.details['system']['hostname']) %} {% endif %} {% endfor %} {% set containers = [] %} {% for ct in containers_raw %} {% set ct_name = ct.get('name', ct.get('id', '')) %} {% if ct_name not in child_names %} {% set _ = containers.append(ct) %} {% endif %} {% endfor %} {% if server.is_online %}
CPU
{{ '%.0f'|format(cpu_pct) }}%
RAM
{{ '%.0f'|format(mem_pct) }}%
DISK
{{ '%.0f'|format(root_disk.pct) }}%
{% if max_temp.val > 0 %}
TEMP
{{ '%.0f'|format(max_temp.val) }}°
{% endif %}
{% if containers or child_vms %}
{% for vm in child_vms %}
{{ vm.details.get('system', {}).get('hostname', vm.hostname) if vm.details else vm.hostname }} VM {% set vm_os = vm.details.get('system', {}).get('os_pretty', '') if vm.details else '' %} {% if vm_os %}{{ vm_os }}{% endif %} {{ vm.primary_ip or vm.hostname }}
{% set vm_cts = vm.details.get('container', []) if vm.details and vm.details.get('container') else [] %} {% for vct in vm_cts %} {% set vct_up = vct.get('status', '')|lower in ['running', 'started'] %}
{{ vct.get('name', vct.get('id', '?')) }} {% if vct.get('ip') %}{{ vct.get('ip') }}{% endif %}
{% endfor %} {% endfor %} {% for ct in containers %} {% set ct_up = ct.get('status', '')|lower in ['running', 'started'] %}
{{ ct.get('name', ct.get('id', '?')) }} {% if ct.get('os') %}{{ ct.get('os') }}{% endif %} {% if ct.get('ip') %}{{ ct.get('ip') }}{% endif %}
{% endfor %}
{% endif %} {% else %}
Unreachable
{% endif %}
{% endfor %}
{% else %}

No servers configured

Edit infrastructure.conf to add your servers.

{% endfor %}