Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eka API Monitor & Uptime Tracker

⚡ Built for developers and companies who need reliable, scalable API monitoring without heavy frameworks

🚀 Enterprise-grade API monitoring and uptime tracking platform built for real-world SaaS environments

Eka API Monitor is a high-performance, multi-tenant monitoring system designed to provide complete visibility into the health, availability, and performance of APIs and web services.

Built for developers, SaaS platforms, hosting providers and technical teams, this system delivers production-level monitoring capabilities with a clean, corporate-grade interface and a lightweight yet powerful backend architecture.


⚡ Core Features

  • 🧠 Multi-Tenant Architecture Fully isolated tenant structure with dedicated endpoints, logs, alerts and usage data

  • 🌐 Real-Time Endpoint Monitoring Monitor HTTP endpoints with custom methods, expected responses and continuous health checks

  • 📊 Uptime & Availability Tracking Accurate uptime percentage calculation with historical tracking and downtime detection

  • ⏱️ Response Time Analytics Track latency metrics and visualize performance trends over time

  • 🚨 Intelligent Alert System Automatic incident detection with rule-based failure thresholds

  • 🧾 Advanced Logging System Detailed logs for all monitoring checks, system events and errors

  • 🏢 Enterprise Dashboard Premium Tailwind CSS interface designed for operational and executive-level usage

  • 🛠️ Global Admin Panel Centralized control over tenants, endpoints and system-wide metrics


📸 Screenshots

Login Dashboard

🏗️ Architecture

Multi-Tenant Design

The system uses a shared database model with strict tenant_id isolation. All core entities (Users, Endpoints, Checks, Alerts, Logs) are scoped per tenant.

Access is controlled via middleware to ensure complete data separation and security between tenants.


Monitoring Engine

The monitoring core (EkaMonitor) performs real HTTP requests using native cURL:

  • Executes endpoint checks in real-time
  • Measures response time and HTTP status
  • Tracks consecutive failures
  • Automatically generates alert events
  • Stores full monitoring history

External schedulers can trigger checks via:

/api/run-checks

🛠️ Tech Stack

  • Backend: Pure PHP 8+ (framework-free)
  • Frontend: Tailwind CSS (corporate SaaS UI)
  • Database: MySQL (PDO prepared statements)
  • Architecture: Custom MVC + service layer

🔒 Security

  • CSRF protection middleware
  • PDO prepared statements (SQL injection protection)
  • Tenant-level data isolation
  • Secure authentication and session handling

🔌 REST API Dokümantasyonu (REST API Documentation)

Sistem içindeki verilerinize dışarıdan güvenli bir şekilde erişebilmek için API uç noktalarını (Endpoints) kullanabilirsiniz. API istekleri, Tenant yapılandırmanıza göre çalışır, yani giriş yaptığınız (Auth) hesaptaki yetkili olduğunuz projenin verilerini çeker. Standart Session veya API Anahtarı yöntemiyle bağlanılabilir.

  • Listeleme API'si (Endpoint Listesi) GET /api/endpoints — Hesaba tanımlı tüm izlenen uç noktaları (siteleri) döner.
  • Yeni İzleme Ekleme (Yeni Endpoint) POST /api/endpoints — JSON body aracılığıyla (name, url, method, vb.) yeni bir takip noktası ekler.
  • Uç Nokta Durumu (Status Sorgulama) GET /api/status/{id} — Belirli bir siteye veya servise ait eş zamanlı izleme durumunu yanıtlar.
  • Sistem İzleme / Cron Tetikleyici (Cron Trigger) GET /api/run-checks?secret=servbay-eka-cron-secret-2026 — Cron job tarafından dakika başı tetiklenerek sitelerin (timeout, down, up) taramalarını başlatan fonksiyondur.
  • Kayıt Geçmişi (Log Listesi) GET /api/logs — Sunucuda tutulan tüm denetleme kayıtlarını (logs) JSON formatıyla liste halinde dışarı verir.

⚙️ Kurulum (Installation)

Requirements

  • PHP 8.0+
  • MySQL 8+
  • Apache / Nginx (mod_rewrite enabled)

Setup

  1. Clone repository:
git clone https://github.com/ekayazilim/eka-api-monitor.git
  1. Import database:
database/eka_api_monitor.sql
  1. Configure database:
config/database.php
  1. Run project from root directory:
http://your-domain.com

Scheduler Setup

Configure a cron job or external worker:

/api/run-checks?secret=your-secret-key

🔐 Demo Access

Admin info@ekayazilim.com.tr / ekayazilim


🛣️ Roadmap

  • Email / Slack / Webhook alert integrations
  • Tenant-level role-based access control
  • Export reports (PDF / CSV)
  • SSL expiration monitoring
  • Maintenance mode handling

💼 Use Cases

  • SaaS application monitoring
  • API uptime tracking
  • DevOps observability tools
  • Hosting and infrastructure monitoring

⭐ Why this project?

This system is designed based on real production requirements and modern SaaS architecture principles.

It provides a lightweight yet powerful alternative to heavy monitoring tools, with full control, scalability and flexibility.


🤝 Contributing

Contributions and improvements are welcome.


⭐ Support

If you find this project useful, consider giving it a ⭐ on GitHub.

💼 Commercial Use

Custom development, integrations or enterprise solutions are available.

📧 info@ekayazilim.com.tr

About

Production-grade multi-tenant API monitoring & uptime tracking platform with alerting, logging and SaaS dashboard

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages