[Infrastructure · Server Diagnostics · Monitoring]
Astra Server Monitor
Diagnostics and observability tools for Linux servers: a clearer view of system state, services and disk usage, with safe, read-only access to diagnostic functions.
01Project overview
Running production services on a VPS means regularly answering the same questions: is everything running, what is using resources, where did the disk space go. Server Monitor turns those questions into a readable interface.
Access is deliberately limited. Diagnostic features are read-only and controlled, so the tool helps investigate problems without becoming a new risk.
02Engineering challenge
Terminal output is precise but slow to interpret under pressure. At the same time, any tool with server access must be designed so it cannot accidentally change the system it observes.
- A
Collect diagnostic information without elevated, write-capable operations.
- B
Present services, processes and resources in a form that is quick to scan.
- C
Explore disk usage interactively while keeping the file system read-only.
- D
Verify the actual state of services after each deployment.
03Solution architecture
Hover or tap each stage.
Linux Host
System metrics, services and file system on the VPS.
04Main components
- 01
System overview
Key resource metrics and host information at a glance.
- 02
Service status
State of the services that run the platform.
- 03
Process view
Observation of running processes and their resource usage.
- 04
Disk Explorer
Interactive, read-only breakdown of disk usage by directory.
- 05
Access control
A controlled set of diagnostic functions instead of open shell access.
- 06
Deployment checks
Used to confirm real behaviour after changes go live.
05Technology stack
Platform
- Linux VPS
- SSH
- Process lifecycle
Backend
- Python
- Diagnostics collectors
Interface
- Web UI
- SVG visualisation
06Interactive demonstration
Server dashboard
IllustrativeIllustrative Demo — generated sample data, not a real server.
CPU
—
Memory
—
Load avg
—
1m · 5m · 15m
Disk /
—
Services
systemdDisk Explorer · read-only
Click a block to drill down · nothing can be modified from here
07Engineering decisions
- 01
Read-only by default
Investigating a problem should never be able to create a new one.
- 02
Structured, not scraped on the client
Command output is parsed on the server into typed data the UI can trust.
- 03
Visual where it helps
Disk usage is a hierarchy — so it is shown as one, instead of a long list.
08Reliability & testing
- Restricted set of diagnostic operations.
- Timeouts on collectors so one slow command does not freeze the dashboard.
- Used as part of post-deployment verification.
09Code example
import os
from pathlib import Path
def directory_sizes(root: Path, max_entries: int = 50) -> list[tuple[str, int]]:
"""Read-only scan: never follows symlinks, never writes."""
sizes: list[tuple[str, int]] = []
for entry in os.scandir(root):
if entry.is_symlink():
continue
total = 0
if entry.is_dir(follow_symlinks=False):
for dirpath, _, files in os.walk(entry.path, followlinks=False):
for name in files:
try:
total += os.lstat(os.path.join(dirpath, name)).st_size
except OSError:
pass # file vanished or no permission — skip
else:
total = entry.stat(follow_symlinks=False).st_size
sizes.append((entry.name, total))
return sorted(sizes, key=lambda x: x[1], reverse=True)[:max_entries]Illustrative Illustrative Engineering Example — read-only directory size scan.
Production source is private. Examples here show the engineering approach, not proprietary logic. More in the Engineering Lab.
10Possible extensions
- Historical metrics with simple trend charts.
- Threshold alerts delivered to Telegram.
- Multi-server view for several hosts.