AWS Lambda is a compute service that allows code to run without provisioning or managing servers. AWS Lambda executes code only when needed and scales automatically, from a few requests per day to thousands per second.

Lambda Function Resource Information:

  • Type of Resource: Generic monitorable resource
  • Discovery type: AWS SDK discovery type
  • Discovery profile selection: Resource can be discovered by “Lambda” in the profiler
  • ResourceTag: LAMBDA
  • Resource Unique Identification: functionArn (function.functionArn())
  • Dependencies: Lambda functions may depend on IAM roles, VPC configurations, and integrate with various AWS services as triggers or destinations

Event Source Resource Information:

  • Type of Resource: Generic non-monitorable resource
  • Discovery type: AWS SDK discovery type
  • Discovery profile selection: Resource can be discovered by “EventSource” in the profiler
  • ResourceTag: EVENTSOURCE
  • Resource Unique Identification: eventSourceArn (eventSource.eventSourceArn())
  • Dependencies: Event Source may be used by Lambda functions for event-driven processing

The cost is based on the compute time that is consumed. For example, you pay only for the compute time you consume; there is no charge when your code is not running.

With AWS Lambda:

  • Code is run for virtually any type of application or back-end service - all with zero administration.

  • Code is run on a high-availability compute infrastructure and

  • Compute infrastructure performs all of the administration of the compute resources, including:

    • server and operating system maintenance.
    • capacity provisioning and automatic scaling.
    • code monitoring and logging.

Use the AWS public cloud integration to discover and collect metrics against the AWS service.

External reference

AWS Lambda

Setup

To set up the AWS integration and discover the AWS service, go to AWS Integration Discovery Profile and select Lambda.

Event support

CloudTrail event support

  • Supported
  • Configurable in OpsRamp AWS Integration Discovery Profile.

CloudWatch alarm support

  • Supported
  • Configurable in OpsRamp AWS Integration Discovery Profile.

Supported metrics

OpsRamp MetricAWS MetricMetric Display NameUnitAggregation TypeDescription
aws_lambda_InvocationsInvocationsInvocationsCountAverageThe number of times that your function code is invoked, including successful invocations and invocations that result in a function error.
aws_lambda_ErrorsErrorsErrorsCountAverageThe number of invocations that result in a function error. Function errors include exceptions that your code throws and exceptions that the Lambda runtime throws.
aws_lambda_DeadLetterErrorsDeadLetterErrorsDead Letter ErrorsCountAverageFor asynchronous invocation, the number of times that Lambda attempts to send an event to a dead-letter queue (DLQ) but fails. Dead-letter errors can occur due to incorrectly set resources or size limits.
aws_lambda_DestinationDeliveryFailuresDestinationDeliveryFailuresDestination Delivery FailuresCountAverageFor asynchronous invocation and supported event source mappings, the number of times that Lambda attempts to send an event to a destination but fails.
aws_lambda_ThrottlesThrottlesThrottlesCountAverageThe number of invocation requests that are throttled. When all function instances are processing requests and no concurrency is available to scale up, Lambda rejects additional requests with a TooManyRequestsException error.
aws_lambda_OversizedRecordCountOversizedRecordCountOversized Record CountCountAverageFor Amazon DocumentDB event sources, the number of events your function receives from your change stream that are over 6 MB in size.
aws_lambda_ProvisionedConcurrencyInvocationsProvisionedConcurrencyInvocationsProvisioned Concurrency InvocationsCountAverageThe number of times that your function code is invoked using provisioned concurrency.
aws_lambda_ProvisionedConcurrencySpilloverInvocationsProvisionedConcurrencySpilloverInvocationsProvisioned Concurrency Spillover InvocationsCountAverageThe number of times that your function code is invoked using standard concurrency when all provisioned concurrency is in use.
aws_lambda_RecursiveInvocationsDroppedRecursiveInvocationsDroppedRecursive Invocations DroppedCountAverageThe number of times that Lambda has stopped invocation of your function because it has detected that your function is part of an infinite recursive loop.
aws_lambda_SignatureValidationErrorsSignatureValidationErrorsSignature Validation ErrorsCountAverageThe number of times a code package deployment has occurred with signature validation failures when the code signing configuration policy is set to Warn.
aws_lambda_DurationDurationDurationMillisecondsAverageThe amount of time that your function code spends processing an event. The billed duration for an invocation is the value of Duration rounded up to the nearest millisecond. Duration does not include cold start time.
aws_lambda_PostRuntimeExtensionsDurationPostRuntimeExtensionsDurationPost Runtime Extensions DurationMillisecondsAverageThe cumulative amount of time that the runtime spends running code for extensions after the function code has completed.
aws_lambda_IteratorAgeIteratorAgeIterator AgeMillisecondsAverageFor DynamoDB, Kinesis, and Amazon DocumentDB event sources, the age of the last record in the event in milliseconds.
aws_lambda_OffsetLagOffsetLagOffset LagCountAverageFor self-managed Apache Kafka and Amazon Managed Streaming for Apache Kafka (Amazon MSK) event sources, the difference in offset between the last record written to a topic and the last record that your function's consumer group processed.
aws_lambda_ConcurrentExecutionsConcurrentExecutionsConcurrent ExecutionsCountAverageThe number of function instances that are processing events. If this number reaches your concurrent executions quota for the Region, or the reserved concurrency limit on the function, then Lambda throttles additional invocation requests.
aws_lambda_ProvisionedConcurrentExecutionsProvisionedConcurrentExecutionsProvisioned Concurrent ExecutionsCountAverageThe number of function instances that are processing events using provisioned concurrency.
aws_lambda_ProvisionedConcurrencyUtilizationProvisionedConcurrencyUtilizationProvisioned Concurrency UtilizationCountAverageFor a version or alias, the value of ProvisionedConcurrentExecutions divided by the total amount of provisioned concurrency configured.
aws_lambda_UnreservedConcurrentExecutionsUnreservedConcurrentExecutionsUnreserved Concurrent ExecutionsCountAverageFor a Region, the number of events that functions without reserved concurrency are processing.
aws_lambda_ClaimedAccountConcurrencyClaimedAccountConcurrencyClaimed Account ConcurrencyCountAverageFor a Region, the amount of concurrency that is unavailable for on-demand invocations. ClaimedAccountConcurrency is equal to UnreservedConcurrentExecutions plus the amount of allocated concurrency (i.e. the total reserved concurrency plus total provisioned concurrency).
aws_lambda_AsyncEventsReceivedAsyncEventsReceivedAsync Events ReceivedCountAverageThe number of events that Lambda successfully queues for processing. This metric provides insight into the number of events that a Lambda function receives.
aws_lambda_AsyncEventAgeAsyncEventAgeAsync Event AgeMillisecondsAverageThe time between when Lambda successfully queues the event and when the function is invoked. The value of this metric increases when events are being retried due to invocation failures or throttling.
aws_lambda_AsyncEventsDroppedAsyncEventsDroppedAsync Events DroppedCountAverageThe number of events that are dropped without successfully executing the function.