Website Uptime Monitoring

Our company is engaged in the development, support and maintenance of sites of any complexity. From simple one-page sites to large-scale cluster systems built on micro services. Experience of developers is confirmed by certificates from vendors.
Development and maintenance of all types of websites:
Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:
Development stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    847
  • image_website-sbh_0.png
    Website development for SBH Partners
    999
  • image_website-_0.png
    Website development for Red Pear
    451

Website Uptime Monitoring

Uptime Monitoring — basic observability layer: URL availability check via HTTP requests at intervals. Detects unavailability fact, not cause. Must be supplemented with infrastructure monitoring and error logging.

Tools

SaaS (no infrastructure):

  • UptimeRobot — free up to 50 monitors, 5 min interval. Paid — 1 min.
  • Better Uptime — aggregates multiple locations, status page, on-call scheduling
  • Pingdom — Enterprise-level, RUM, API monitoring
  • StatusCake — good price/quality ratio

Self-hosted:

  • Uptime Kuma — Docker, web interface, many check types
  • Gatus — YAML configuration, Kubernetes-friendly
  • Blackbox Exporter + Prometheus + Grafana — for those with existing Prometheus

Uptime Kuma via Docker

# docker-compose.yml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - ./uptime-kuma-data:/app/data

Gatus: declarative monitoring

# gatus/config.yaml
endpoints:
  - name: Main Site
    url: https://mysite.com
    interval: 1m
    conditions:
      - "[STATUS] == 200"
      - "[RESPONSE_TIME] < 2000"
      - "[CERTIFICATE_EXPIRATION] > 168h"  # > 7 days until expiry

  - name: API Health
    url: https://api.mysite.com/health
    interval: 30s
    conditions:
      - "[STATUS] == 200"
      - "[BODY].status == UP"
      - "[RESPONSE_TIME] < 500"

  - name: Checkout Flow
    url: https://mysite.com/cart
    interval: 5m
    conditions:
      - "[STATUS] == 200"
      - "[BODY] pat *Add to cart*"

alerting:
  telegram:
    token: $TELEGRAM_BOT_TOKEN
    id: $TELEGRAM_CHAT_ID
    default-alert:
      enabled: true
      failure-threshold: 2
      success-threshold: 1

Multi-region monitoring

Check from multiple locations: otherwise might miss regional failure. Better Uptime and Pingdom include this in base plan.

For self-hosted — multiple Gatus instances in different regions + central aggregator.

Telegram alerting

# Simple webhook handler for alerts
import requests
import os

def send_alert(message: str, is_recovery: bool = False):
    emoji = "✅" if is_recovery else "🚨"
    requests.post(
        f"https://api.telegram.org/bot{os.environ['BOT_TOKEN']}/sendMessage",
        json={
            "chat_id": os.environ['CHAT_ID'],
            "text": f"{emoji} {message}",
            "parse_mode": "HTML",
        }
    )

What to monitor

URL Check type Interval
Homepage HTTP 200 + content check 1 min
API /health HTTP 200 + JSON 30 sec
Checkout/order form HTTP 200 5 min
Login page HTTP 200 5 min
Sitemap HTTP 200 15 min
SSL certificate Expiry > 14 days 1 hour

Setting up Uptime Kuma or Gatus for site (10–20 endpoints) — 2–4 hours.