Monitoring¶
Overview¶
Astradial uses two monitoring layers:
- Netdata -- Real-time system metrics, alerts, and dashboards
- Upptime -- Public status page with uptime tracking via GitHub Actions
Netdata¶
Installations¶
| Location | URL | Notes |
|---|---|---|
| NUC (on-premise) | http://192.168.0.13:19999 | Installed with --static-only to avoid CPU overheat during build |
| Cloud server | http://89.116.31.109:19999 | Standard installation |
Both instances are connected to Netdata Cloud under the hari-space-company space.
Monitored Metrics¶
- CPU usage and temperature
- RAM usage
- Disk usage and I/O
- Network throughput
Alerts¶
Alerts are configured in Netdata Cloud with email and mobile push notifications:
| Alert | Trigger | Severity |
|---|---|---|
| Node unreachable | Agent stops reporting | Critical |
| CPU temperature high | Sustained high temp | Warning |
| Disk full | Disk usage above threshold | Critical |
| RAM exhausted | Memory usage above threshold | Warning |
NUC Static-Only Install
The NUC uses --static-only Netdata installation. Building Netdata from source caused the NUC to overheat and crash. See Troubleshooting - Error 11.
Upptime¶
Upptime provides a public-facing status page powered by GitHub Actions. It checks service availability every 5 minutes and publishes results to a static site.
| Property | Value |
|---|---|
| Repository | astradial/upptime |
| Status Page | status.astradial.com |
| Config File | .upptimerc.yml |
| Deployment | GitHub Pages from gh-pages branch |
Monitored Services¶
Upptime checks 5 services every 5 minutes.
GitHub Actions Workflows¶
| Workflow | Schedule | Purpose |
|---|---|---|
| Uptime CI | Every 5 minutes | Check service availability |
| Response Time CI | Every 5 minutes | Measure response times |
| Graphs CI | Every 5 minutes | Generate uptime graphs |
| Summary CI | Daily | Generate daily summary |
| Static Site CI | Daily | Build and deploy status page |
Deployment¶
The status page is built as a static site and deployed to GitHub Pages using the peaceiris/actions-gh-pages action, which pushes to the gh-pages branch.
# Deployment step in workflow
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
Why peaceiris/actions-gh-pages
Without this action, the site builds but never deploys to GitHub Pages, resulting in a 404. See Troubleshooting - Error 12.