mirror of https://git.48k.eu/ogcp
dashboard: Show all servers, online or offline
Show in dashboard the list of all servers, regardless if they are online or offline. If they are offline, uptime appears as 'offline' Modify dashboard template to make it work with offline serversmaster
parent
7c86ecf9a1
commit
a45f664905
|
@ -30,14 +30,22 @@
|
|||
<td>{{ server.images | length }}</td>
|
||||
<td>
|
||||
{% set disk = server.disk %}
|
||||
{% if disk['total'] != 0 %}
|
||||
{% set used = (((disk['total'] - disk['free']) / disk['total']) * 100)|int %}
|
||||
{% else %}
|
||||
{% set used = 0 %}
|
||||
{% endif %}
|
||||
<div class="progress progress-lg">
|
||||
<div class="progress-bar bg-primary" style="width: {{used}}%"></div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{% set memory = server.stats.memory %}
|
||||
{% if memory['size'] != 0 %}
|
||||
{% set used = (((memory['size'] - memory['free']) / memory['size']) * 100)|int %}
|
||||
{% else %}
|
||||
{% set used = 0 %}
|
||||
{% endif %}
|
||||
<div class="progress progress-lg">
|
||||
<div class="progress-bar bg-primary" style="width: {{used}}%"></div>
|
||||
</div>
|
||||
|
@ -64,7 +72,7 @@
|
|||
<hr />
|
||||
|
||||
<ul class="nav nav-tabs" id="serversTab" role="tablist">
|
||||
{% for id, server in servers.items() %}
|
||||
{% for id, server in servers.items() if server.online %}
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link {% if loop.first %}active{% endif %}" id="{{ id }}-tab" data-toggle="tab" data-target="#{{ id }}" type="button" role="tab" aria-controls="{{ id }}" aria-selected="true">
|
||||
{{ server.name }}
|
||||
|
@ -74,7 +82,7 @@
|
|||
</ul>
|
||||
|
||||
<div class="tab-content" id="serversTabContent">
|
||||
{% for id, server in servers.items() %}
|
||||
{% for id, server in servers.items() if server.online %}
|
||||
{% set stats = server.stats %}
|
||||
{% set time_dict = server.time_dict %}
|
||||
{% set images = server.images %}
|
||||
|
|
|
@ -391,17 +391,35 @@ def index():
|
|||
dashboard_servers[server_id]['oglive_list'] = i['json']
|
||||
|
||||
all_stats = multi_request('get', '/stats')
|
||||
for i in all_stats:
|
||||
server_id = i['server'].id
|
||||
stats = i['json']
|
||||
dashboard_servers[server_id]['stats'] = stats
|
||||
|
||||
timestamp = datetime.datetime.fromtimestamp(stats.get('time').get('now'))
|
||||
now = timestamp.strftime('%Y-%m-%d %H:%M:%S')
|
||||
boot = display_time(stats.get('time').get('boot'))
|
||||
start = display_time(stats.get('time').get('start'))
|
||||
time_dict = {'now': now, 'boot': boot, 'start': start}
|
||||
dashboard_servers[server_id]['time_dict'] = time_dict
|
||||
for server in servers:
|
||||
active = False
|
||||
stat = None
|
||||
for i in all_stats:
|
||||
if i['server'].id == server.id:
|
||||
active = True
|
||||
stat = i
|
||||
break
|
||||
if active:
|
||||
server_id = stat['server'].id
|
||||
dashboard_servers[server_id]['online'] = True
|
||||
stats = stat['json']
|
||||
dashboard_servers[server_id]['stats'] = stats
|
||||
timestamp = datetime.datetime.fromtimestamp(stats.get('time').get('now'))
|
||||
now = timestamp.strftime('%Y-%m-%d %H:%M:%S')
|
||||
boot = display_time(stats.get('time').get('boot'))
|
||||
start = display_time(stats.get('time').get('start'))
|
||||
time_dict = {'now': now, 'boot': boot, 'start': start}
|
||||
dashboard_servers[server_id]['time_dict'] = time_dict
|
||||
else:
|
||||
dashboard_servers[server.id] = {}
|
||||
dashboard_servers[server.id]['online'] = False
|
||||
dashboard_servers[server.id]['name'] = server.name
|
||||
dashboard_servers[server.id]['time_dict'] = {'now': None, 'boot': 'Offline', 'start': None}
|
||||
dashboard_servers[server.id]['clients'] = []
|
||||
dashboard_servers[server.id]['images'] = []
|
||||
dashboard_servers[server.id]['disk'] = {'total': 0, 'free':0}
|
||||
dashboard_servers[server.id]['stats'] = {'memory': {'free': 0, 'size':0}, 'swap': ''}
|
||||
dashboard_servers[server.id]['oglive_list'] = []
|
||||
|
||||
clients_response = multi_request('get', '/clients')
|
||||
for i in clients_response:
|
||||
|
|
Loading…
Reference in New Issue