Настройка Serverless мониторинга (Lumigo / Datadog Serverless)

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка Serverless мониторинга (Lumigo / Datadog Serverless)
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Настройка Serverless мониторинга (Lumigo / Datadog Serverless)

Стандартный мониторинг плохо работает для serverless: нет постоянно работающих процессов, инстансы эфемерны, cold start — особый тип задержки, нет прямого доступа к инфраструктуре. Специализированные инструменты закрывают эти пробелы.

Проблемы стандартного мониторинга для Lambda

CloudWatch Metrics из коробки даёт: Invocations, Errors, Duration, Throttles. Этого недостаточно:

  • Нет разделения cold start vs warm start latency
  • Нет трейсинга между функциями и downstream сервисами
  • Нет видимости конкретных ошибок с контекстом
  • Нет correlation между логами разных функций одного запроса

Lumigo

Lumigo — serverless-first observability платформа. Установка через Lambda Layer без изменений кода:

resource "aws_lambda_function" "api" {
  layers = [
    "arn:aws:lambda:us-east-1:114300393969:layer:lumigo-python-tracer:latest"
  ]
  
  environment {
    variables = {
      LUMIGO_TRACER_TOKEN = var.lumigo_token
      LUMIGO_DEBUG        = "false"
    }
  }
}

Для Python через декоратор (если нужна кастомизация):

import lumigo_tracer

@lumigo_tracer.lumigo_tracer(token="your-token")
def handler(event, context):
    # Автоматически трейсирует HTTP, boto3, psycopg2 вызовы
    response = requests.get("https://api.external.com/data")
    return process(response.json())

Что даёт Lumigo:

  • Автоматический distributed tracing (Lambda → SQS → Lambda → DynamoDB)
  • Timeline каждого invocation: initialization, cold start, handler, downstream calls
  • Payload inspector: входящие/исходящие данные каждого вызова
  • Smart alerts: аномалии без ручной настройки порогов
  • Cost analysis: стоимость по функциям, оценка оптимизации memory

Datadog Serverless

Более широкая платформа с serverless-специфичными возможностями:

# serverless.yml (Serverless Framework)
plugins:
  - serverless-datadog-plugin

custom:
  datadog:
    apiKey: ${env:DD_API_KEY}
    enableXrayTracing: true
    enableDDTracing: true
    enableMergedXrayTraces: true
    captureLambdaPayload: true
    logLevel: WARN

Или через Terraform с Lambda Layer:

resource "aws_lambda_function" "api" {
  layers = [
    "arn:aws:lambda:us-east-1:464622532012:layer:Datadog-Python312:latest"
  ]
  
  environment {
    variables = {
      DD_API_KEY           = var.datadog_api_key
      DD_SITE              = "datadoghq.com"
      DD_ENHANCED_METRICS  = "true"
      DD_TRACE_ENABLED     = "true"
      DD_COLD_START_TRACING = "true"
    }
  }
}

Enhanced Lambda Metrics от Datadog: разбивка по cold/warm invocations, estimated cost, out-of-memory events — сверх стандартных CloudWatch метрик.

Ключевые метрики для serverless мониторинга

Latency breakdown:

  • Cold start duration (p50, p95, p99)
  • Initialization time (handler setup)
  • Handler duration

Reliability:

  • Error rate по функциям
  • Timeout rate
  • Throttle rate
  • Concurrent executions vs limit

Cost:

  • GB-seconds потребление
  • Invocation count
  • Estimated monthly cost

Distributed Tracing для serverless

При вызове Lambda → SQS → Lambda → RDS trace должен проходить сквозь все сервисы:

# Первая Lambda: добавить trace context в SQS message
from opentelemetry import trace
from opentelemetry.propagate import inject

def handler(event, context):
    tracer = trace.get_tracer(__name__)
    with tracer.start_as_current_span("process-order"):
        # Inject trace context в SQS message attributes
        headers = {}
        inject(headers)
        
        sqs.send_message(
            QueueUrl=QUEUE_URL,
            MessageBody=json.dumps({"orderId": "123"}),
            MessageAttributes={
                "trace_context": {
                    "StringValue": json.dumps(headers),
                    "DataType": "String"
                }
            }
        )

Lumigo и Datadog делают это автоматически для AWS SDK вызовов.

Алерты для serverless

# Datadog monitor via Terraform
resource "datadog_monitor" "lambda_error_rate" {
  name    = "Lambda High Error Rate"
  type    = "metric alert"
  message = "Error rate on {{functionname.name}} > 5%. @pagerduty-oncall"
  
  query = "sum(last_5m):sum:aws.lambda.errors{env:production} by {functionname}.as_rate() / sum:aws.lambda.invocations{env:production} by {functionname}.as_rate() > 0.05"
  
  thresholds = {
    critical = 0.05
    warning  = 0.02
  }
}

Сроки настройки

  • Lumigo (Layer + без изменений кода) — 0.5-1 день
  • Datadog Serverless (Layer + config) — 1-2 дня
  • Кастомные метрики + алерты — 1-2 дня
  • Distributed tracing настройка — 1-2 дня