Наблюдаемость лямбда (4 части серии)
В предыдущем эпизоде мы включили трассировку, и мы смогли увидеть больше информации о нашей платформе, запросах и т. Д. Тем не менее, это не так много, но это лучше, чем было! Давайте продолжим тогда.
Лямбда Insights
Лучшее описание Lambda Insights будет улучшенным мониторингом. По словам AWS Документация , Insights — это услуга, которая собирает, агрегаты и суммировала метрики системы системы, такими как использование процессоров, использование памяти, диск и сеть, а также собирает диагностическую информацию, такую как завершенные отключения лямбда и холодный запуск.
Хорошо, похоже, это помогает лучше понять, что происходит в приложении.
Включить Lambda Insights
Точно так же, как вы сделали это для рентгеновского лука, перейдите к лямбде, Конфигурация И, наконец, до Инструменты мониторинга и операций Отказ
AWS пытается обновить свои роли и политики соответственно. При завершении вам нужно сделать несколько запросов и Подождите некоторое время прежде чем начать использовать идеи.
Кроме того, что самое главное, вы должны увидеть новый слой, добавленный в ваш лямбда
Чтобы увидеть Insights, вы можете пойти туда через CloudWatch Console или прямо из лямбда (с вкладки мониторинга).
…
…
…
…
…
…
…
…
Наконец, после многих минут много минут (в моем случае, когда я подготовил этот пример, это было более 30 минут), сгенерированы идеи.
Лямбда Insights Console.
AWS дает возможность проверить несколько функций одновременно, но я пойду с одним функцией, так как в данный момент включена только одна функция.
Метрики доступны и ясны и читаются. Зарегистрированные, ошибки, продолжительность и все метрики, связанные с инфраструктурой, имеют собственную панель.
Под этими панелями AWS разместил две вкладки. Один для журналов приложений, вы уже увидели это, поэтому я не буду сосредоточиться на этом. Второе (ну на самом деле первая вкладка) о вызовах.
Эта точка зрения дает нам много информации. Да, часть этого доступна в журналах, но здесь у нас есть его без анализа. Продолжительность, потребляемая память, время процессора, использование сети, информация об ошибке.
Кроме того, мы можем видеть продолжительность инициирования, что указывает холодное начало. Хороший.
Давайте рассмотрим это дальше. В правом верхнем углу этой части представления у нас есть два элемента управления.
Оба приведут вас к Logs Insights с двумя разными запросами.
Журналы производительности
Эта ссылка перейдет в журналы по запросу, показанному ниже
fields @timestamp, @message, @logStream | filter function_name = "lambdaDemo-lambdaFunction-qnettGrKoNgh" | sort @timestamp desc | limit 20
Здесь мы хорошо отформатировали метрики по поводу всего вызова. Не только в отчете сгенерирован (например, в журналах), но полная информация. Например, довольно интересные данные, такие как холодное начало, версия агента, Timestamp в формате Unix, TraceID и многие другие.
Пример возвращенной записи показан ниже
Журналы приложений
Выполняет еще один запрос
fields @timestamp,@message,@logStream | sort @timestamp desc | limit 20
Это также показывает много интересной информации. Во-первых, визуализация (гистограмма) доступна. Очень хорошо.
Второй У нас есть все журналы, собранные в одном месте.
Конечно, мы можем добавить его в шаблон Сэма. Вот необходимые изменения:
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Description: Simple Lambda
Resources:
lambdaFunction:
Type: AWS::Serverless::Function
Properties:
Handler: simplefunction.handler
CodeUri: lambdafunction/
Policies:
- CloudWatchLambdaInsightsExecutionRolePolicy
Runtime: python3.8
AutoPublishAlias: live
Description: Simple demo function
MemorySize: 128
Timeout: 10
Tracing: Active
Layers:
- !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
Events:
simpleApi:
Type: Api
TracingEnabled: true
Properties:
Path: /
Method: get
Я добавил политику CloudwatchlampdainsightsexecutionRolepolicy и слой Lambdinesightsextension: 14 на определение лямбда. Что здесь важно, я использовал синтаксис $ {AWS:: Region} Чтобы прикрепить слой из области, в котором выполняется моя лямбда. Вот почему я использовал Действительно Sub Чтобы «перевести» эту информацию во время фактического выполнения шаблона.
Хорошо, все это очень приятно. Опять же, мы знаем больше о нашей системе. Но все же, что-то не хватает, что-то большое. В следующем эпизоде мы начинаем добавлять более подробные отслеживания/регистрацию/метрики в лямбду.
Обложка изображения по Hebi B. от Pixabay Ожидание изображения по Шломастер от Pixabay.
Наблюдаемость лямбда (4 части серии)
Оригинал: «https://dev.to/pawelpiwosz/lambda-insights-to-the-rescue-30io»