Project Overview
Designed and implemented a centralized monitoring system that integrates Uptime Kuma for application uptime monitoring and MikroTik for network performance tracking—all visualized through Prometheus and Grafana.
This project was also the basis for my published research in a SINTA 3 accredited national journal.
Architecture
┌──────────────────────────────────────────────────┐
│ Monitoring Infrastructure │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ Uptime Kuma │────▶│ │ │
│ │ (App Health)│ │ Prometheus │ │
│ └─────────────┘ │ (Time-Series │ │
│ │ Database) │ │
│ ┌─────────────┐ │ │ │
│ │ MikroTik │────▶│ │ │
│ │ (Network) │ └────────┬─────────┘ │
│ └─────────────┘ │ │
│ ┌────────▼─────────┐ │
│ ┌─────────────┐ │ Grafana │ │
│ │ Linux Agents│────▶│ (Dashboards & │ │
│ │ (Node Exp.) │ │ Alerting) │ │
│ └─────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────┘
Implementation Details
Prometheus Configuration
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'uptime-kuma'
static_configs:
- targets: ['uptime-kuma:3001']
- job_name: 'mikrotik'
static_configs:
- targets: ['mikrotik-exporter:9436']
- job_name: 'node-exporter'
static_configs:
- targets: ['node1:9100', 'node2:9100', 'node3:9100']
Custom Grafana Dashboards
Built dashboards for:
- Application Uptime: Response time, availability percentage, SSL certificate expiry
- Network Performance: MikroTik interface traffic, bandwidth utilization, connection count
- System Health: CPU, memory, disk I/O across all Linux servers
Automated Agent Deployment
#!/bin/bash
# Deploy node_exporter on all Linux servers
ansible-playbook -i inventory.yml deploy-monitoring-agents.yml
Key Features
- Real-time visibility with 15-second scrape intervals
- 24/7 system reliability monitoring
- Custom alerting rules for proactive incident response
- Automated agent deployments on Linux-based environments
Impact
- Improved troubleshooting efficiency with custom dashboards
- Optimized incident response time
- Published findings in SINTA 3 accredited journal
Tech Stack
- Monitoring: Uptime Kuma, Prometheus, Grafana
- Network: MikroTik Router + Exporter
- Infrastructure: Linux (Ubuntu/Debian), Docker Compose
- Automation: Ansible, Bash Scripting