This project demonstrates a production-like monitoring, logging, and automation infrastructure built in a home lab environment.
It simulates a real-world setup used by System Administrators and DevOps engineers.
This project demonstrates a full observability stack including:
- Metrics collection (Prometheus)
- Centralized logging (Loki + Promtail + rsyslog)
- Alerting system (Alertmanager)
- Visualization (Grafana)
CPU, Memory, Disk, Network
Nginx metrics
Centralized logs from all servers
Alertmanager + Telegram notifications
| VM | Role |
|---|---|
| Router-VM | NAT, firewall, routing |
| Web-VM | nginx server |
| DNS-VM | bind9 |
| Backup-VM | backup |
| Monitoring-VM | monitoring stack |
- Prometheus
- node_exporter
- nginx_exporter
- blackbox_exporter
- Grafana dashboards
- Custom dashboards with variables
- rsyslog (centralized logging)
- Loki (log storage)
- Promtail (log shipping)
- Alertmanager
- Telegram notifications
Custom bash scripts:
check_disk.sh
check_memory.sh
check_services.sh
router_health.sh
backup.sh
install_node_exporter.sh
- nginx reverse proxy
- HTTPS (self-signed)
- HTTP → HTTPS redirect
-
Private subnet: 192.168.100.0/24
-
Router VM:
- NAT (masquerade)
- Port forwarding (DNAT)
- nftables firewall
This project implements:
- Metrics → Prometheus
- Logs → Loki
- Alerts → Alertmanager
prometheus/ → monitoring config
grafana/ → dashboards & datasources
loki/ → logging stack
rsyslog/ → centralized logging
scripts/ → automation
nginx/ → reverse proxy
- Linux system administration
- Networking (NAT, firewall, routing)
- Monitoring systems
- Log aggregation
- Alerting systems
- Automation (bash)
- Observability design
See:
docs/setup.md
- Docker-based deployment
- Ansible automation
- VPN access
- CI/CD for configs
This project demonstrates a complete observability stack with:
- monitoring
- logging
- alerting
- automation
Built to reflect real-world infrastructure practices.




