2022-02-18 17:52:38 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
2022-02-23 17:53:00 +01:00
|
|
|
<head>
|
|
|
|
<title>[HA] <%= hostname %></title>
|
|
|
|
<link rel="stylesheet" href="/static/app.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<main>
|
|
|
|
<div>
|
|
|
|
<img id="logo" src="/static/logo.svg" />
|
|
|
|
</div>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h1>Recycled Cloud HA handler</h1>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<p>
|
|
|
|
This service supervises the various components of
|
|
|
|
the Recycled Cloud's High Availability
|
|
|
|
infrastruture. Documentation and source code can be
|
|
|
|
found on <a
|
|
|
|
href="https://code.recycled.cloud/RecycledCloud/ha-handler">our
|
|
|
|
software forge</a>.
|
|
|
|
</p>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<hr />
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h2>Handler</h2>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-05-22 14:30:44 +02:00
|
|
|
<p>
|
|
|
|
<b>Local instance:</b> <%= otp_app %> <b>v<%= version %></b> (<%= env %>) running on <b><%= hostname %></b>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Instance</th>
|
|
|
|
<th>Version</th>
|
|
|
|
<th>Env</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>Uptime</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for instance <- handler_status do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= instance.node %></td>
|
|
|
|
<td><%= instance.version %></td>
|
|
|
|
<td><%= instance.env %></td>
|
|
|
|
<td><%= instance.status %></td>
|
|
|
|
<td><%= instance.uptime %>m</td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<hr />
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h2>HAProxy</h2>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h3>Frontends</h3>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Name</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>Bytes in</th>
|
|
|
|
<th>Bytes out</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for entry <- Map.get(haproxy_stats, "Frontend") do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= entry["pxname"] %></td>
|
|
|
|
<td><%= entry["status"] %></td>
|
|
|
|
<td><%= entry["bin"] %></td>
|
|
|
|
<td><%= entry["bout"] %></td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h3>Backends</h3>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Name</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>algo</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for entry <- Map.get(haproxy_stats, "Backend") do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= entry["pxname"] %></td>
|
|
|
|
<td><%= entry["status"] %></td>
|
|
|
|
<td><%= entry["algo"] %></td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-18 17:52:38 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h3>Servers</h3>
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Name</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>Mode</th>
|
|
|
|
<th>Address</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for entry <- Map.get(haproxy_stats, "Server") do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= entry["pxname"] %>/<%= entry["svname"] %></td>
|
|
|
|
<td><%= entry["status"] %></td>
|
|
|
|
<td><%= entry["mode"] %></td>
|
|
|
|
<td><%= entry["addr"] %></td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-19 10:18:05 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<hr />
|
2022-02-19 10:18:05 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<h2>PostgreSQL</h2>
|
2022-02-19 10:18:05 +01:00
|
|
|
|
2022-02-23 17:53:00 +01:00
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Hostname</th>
|
|
|
|
<th>Version</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>Operation</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for entry <- pgsql_status do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= entry[:hostname] %></td>
|
|
|
|
<td><%= entry[:version] %></td>
|
|
|
|
<td><%= entry[:status] %></td>
|
|
|
|
<td><%= entry[:mode] %></td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-25 13:39:58 +01:00
|
|
|
|
|
|
|
<hr />
|
|
|
|
|
|
|
|
<h2>DRBD</h2>
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Hostname</th>
|
|
|
|
<th>Version</th>
|
|
|
|
<th>Status</th>
|
|
|
|
<th>Operation</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<%= for entry <- drbd_status do %>
|
|
|
|
<tr>
|
|
|
|
<td><%= entry[:hostname] %></td>
|
|
|
|
<td><%= entry[:version] %></td>
|
|
|
|
<td><%= entry[:status] %></td>
|
|
|
|
<td><%= entry[:mode] %></td>
|
|
|
|
</tr>
|
|
|
|
<% end %>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2022-02-23 17:53:00 +01:00
|
|
|
</main>
|
|
|
|
</body>
|
2022-02-18 17:52:38 +01:00
|
|
|
</html>
|