Реалізація Custom Alerting Rules (за бізнес-метриками) для сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Реалізація Custom Alerting Rules (за бізнес-метриками) для сайту
Середня
~2-3 робочих дні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Custom Alerting по бізнес-метрикам

Технічні сповіщення про CPU та latency важливі, але бізнес рідко розуміє їх вплив. "Завершені замовлення впали на 40% за останні 15 хвилин" зрозуміло для всіх — розробників та генеральних директорів. Сповіщення про бізнес-метрики з'єднують технічний моніторинг та бізнес-результати.

Бізнес-метрики для сповіщень

Метрики залежать від типу продукту, але типові категорії:

E-commerce:

  • Завершені замовлення за годину (різка падіння)
  • Конверсія з кошика на платіж (якщо < базова на X%)
  • Дохід за скользящую годину
  • Помилки при платежі (абсолютна кількість)

SaaS:

  • Реєстрація нових користувачів (нулева за N годин)
  • Активні користувачи онлайн (неочікуване падіння)
  • API-запити від ключових клієнтів (аномальне зростання/падіння)

Контент-проекти:

  • Переглядів сторінок (різка падіння = проблема SEO або CDN)
  • Bounce rate (різкий ріст)
  • Подано форм (нулева за N годин)

Реалізація через Prometheus

Бізнес-события в коді застосунку:

from prometheus_client import Counter, Histogram

# Ініціалізуйте метрики
orders_completed = Counter(
    'orders_completed_total',
    'Total completed orders',
    ['payment_method', 'product_category']
)

order_value = Histogram(
    'order_value_rub',
    'Order value in rubles',
    buckets=[100, 500, 1000, 2500, 5000, 10000, 25000, 50000]
)

payment_errors = Counter(
    'payment_errors_total',
    'Payment processing errors',
    ['error_code', 'payment_provider']
)

# У кодексі завершення замовлення
async def complete_order(order_data: dict):
    try:
        result = await payment_gateway.charge(order_data)

        orders_completed.labels(
            payment_method=order_data['payment_method'],
            product_category=order_data['category']
        ).inc()

        order_value.observe(order_data['amount'])

Правила Alert в Alertmanager

groups:
  - name: business_alerts
    rules:
      # E-commerce: замовлення впали
      - alert: OrdersDropped
        expr: rate(orders_completed_total[15m]) < (rate(orders_completed_total[15m] offset 60m) * 0.6)
        for: 5m
        annotations:
          summary: "Замовлення впали на 40% за останні 15 хв"
          severity: "critical"
          slack: "#alerts-ecommerce"

      # SaaS: немає реєстрацій
      - alert: NoSignups
        expr: rate(user_signups_total[1h]) == 0
        for: 30m
        annotations:
          summary: "Нульова реєстрація за останні 30 хвилин"
          severity: "warning"

      # Пік помилок при платежі
      - alert: PaymentErrorsSpike
        expr: rate(payment_errors_total[5m]) > 0.5  # >50% помилки
        for: 2m
        annotations:
          summary: "Помилки платежу > 50%"
          severity: "critical"

Сповіщення Slack

import requests

def send_alert_to_slack(alert_name, severity, details):
    color = {'critical': '#FF0000', 'warning': '#FFA500'}.get(severity)

    message = {
        'attachments': [{
            'color': color,
            'title': alert_name,
            'text': details,
            'footer': 'Business Metrics Alert'
        }]
    }

    requests.post(SLACK_WEBHOOK, json=message)

Час виконання

Налаштування збору бізнес-метрик, сповіщень та сповіщень — 2–3 робочих дні.