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
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 Metric | AWS Metric | Metric Display Name | Unit | Aggregation Type | Description |
|---|---|---|---|---|---|
| aws_lambda_Invocations | Invocations | Invocations | Count | Average | The number of times that your function code is invoked, including successful invocations and invocations that result in a function error. |
| aws_lambda_Errors | Errors | Errors | Count | Average | The 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_DeadLetterErrors | DeadLetterErrors | Dead Letter Errors | Count | Average | For 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_DestinationDeliveryFailures | DestinationDeliveryFailures | Destination Delivery Failures | Count | Average | For 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_Throttles | Throttles | Throttles | Count | Average | The 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_OversizedRecordCount | OversizedRecordCount | Oversized Record Count | Count | Average | For Amazon DocumentDB event sources, the number of events your function receives from your change stream that are over 6 MB in size. |
| aws_lambda_ProvisionedConcurrencyInvocations | ProvisionedConcurrencyInvocations | Provisioned Concurrency Invocations | Count | Average | The number of times that your function code is invoked using provisioned concurrency. |
| aws_lambda_ProvisionedConcurrencySpilloverInvocations | ProvisionedConcurrencySpilloverInvocations | Provisioned Concurrency Spillover Invocations | Count | Average | The number of times that your function code is invoked using standard concurrency when all provisioned concurrency is in use. |
| aws_lambda_RecursiveInvocationsDropped | RecursiveInvocationsDropped | Recursive Invocations Dropped | Count | Average | The 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_SignatureValidationErrors | SignatureValidationErrors | Signature Validation Errors | Count | Average | The 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_Duration | Duration | Duration | Milliseconds | Average | The 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_PostRuntimeExtensionsDuration | PostRuntimeExtensionsDuration | Post Runtime Extensions Duration | Milliseconds | Average | The cumulative amount of time that the runtime spends running code for extensions after the function code has completed. |
| aws_lambda_IteratorAge | IteratorAge | Iterator Age | Milliseconds | Average | For DynamoDB, Kinesis, and Amazon DocumentDB event sources, the age of the last record in the event in milliseconds. |
| aws_lambda_OffsetLag | OffsetLag | Offset Lag | Count | Average | For 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_ConcurrentExecutions | ConcurrentExecutions | Concurrent Executions | Count | Average | The 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_ProvisionedConcurrentExecutions | ProvisionedConcurrentExecutions | Provisioned Concurrent Executions | Count | Average | The number of function instances that are processing events using provisioned concurrency. |
| aws_lambda_ProvisionedConcurrencyUtilization | ProvisionedConcurrencyUtilization | Provisioned Concurrency Utilization | Count | Average | For a version or alias, the value of ProvisionedConcurrentExecutions divided by the total amount of provisioned concurrency configured. |
| aws_lambda_UnreservedConcurrentExecutions | UnreservedConcurrentExecutions | Unreserved Concurrent Executions | Count | Average | For a Region, the number of events that functions without reserved concurrency are processing. |
| aws_lambda_ClaimedAccountConcurrency | ClaimedAccountConcurrency | Claimed Account Concurrency | Count | Average | For 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_AsyncEventsReceived | AsyncEventsReceived | Async Events Received | Count | Average | The 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_AsyncEventAge | AsyncEventAge | Async Event Age | Milliseconds | Average | The 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_AsyncEventsDropped | AsyncEventsDropped | Async Events Dropped | Count | Average | The number of events that are dropped without successfully executing the function. |