Learn about other supported AWS services on our AWS docs.
Native Tracing
In addition to the infrastructure-level monitoring described on this page, Instana also offers native tracing of AWS Lambda executions for a subset of runtimes.
Sensor (Data Collection)
Tracked Configuration
Lambda Function Details | Description |
---|---|
Name | The name of the function. |
ARN | The unqualified Amazon Resource Name (ARN) assigned to the function. |
Description | The user-provided description. |
Runtime | The runtime environment for the Lambda function. |
Handler | The function Lambda calls to begin executing your function. |
Timeout | The function execution time at which Lambda should terminate the function. |
Memory Size | The memory size, in MB, you configured for the function. |
Last Modified | The time stamp of the last time you updated the function. |
AWS Region | The location of function. |
Metrics
Function Metrics | Description |
---|---|
Invocations | Measures the number of times a function is invoked in response to an event or invocation API call. This includes successful and failed invocations, but does not include throttled attempts. This equals the billed requests for the function. |
Errors | Measures the number of invocations that failed due to errors in the function (response code 4XX). This includes:
|
Dead Letter Errors | Incremented when Lambda is unable to write the failed event payload to your configured Dead Letter Queues. This could be due to the following:
|
Throttles | Measures the number of Lambda function invocation attempts that were throttled due to invocation rates exceeding the customer’s concurrent limits (error code 429). |
Durations
|
Measures the elapsed wall clock time from when the function code starts executing as a result of an invocation to when it stops executing. The maximum data point value possible is the function timeout configuration. The billed duration will be rounded up to the nearest 100 millisecond. |
Iterator Age
|
Emitted for stream-based invocations only (functions triggered by an Amazon DynamoDB stream or Kinesis stream). Measures the age of the last record for each batch of records processed. Age is the difference between the time Lambda received the batch, and the time the last record in the batch was written to the stream. |
Global Metrics | Description |
---|---|
Concurrent Executions
|
Emitted as an aggregate metric for all functions in the account, and for functions that have a custom concurrency limit specified. Measures the sum of concurrent executions for a given function at a given point in time. |
Unreserved Concurrent Executions | Emitted as an aggregate metric for all functions in the account only. Represents the sum of the concurrency of the functions that do not have a custom concurrency limit specified. |
Required Permissions
cloudwatch:GetMetricStatistics
cloudwatch:GetMetricData
lambda:ListTags
lambda:ListFunctions
lambda:ListVersionsByFunction
lambda:GetFunctionConfiguration
Configuration
Metrics for Lambda are pulled every 5 minutes, this can be changed via agent configuration in <agent_install_dir>/etc/instana/configuration.yml
:
com.instana.plugin.aws.lambda:
cloudwatch_period: 300
To disable monitoring of Lambda instances use the following configuration:
com.instana.plugin.aws.lambda:
enabled: false
Multiple tags can be defined, separated by a comma. Tags should be provided as a key-value pair separated by :. In order to make configuration easier, it is possible to define which tags you want to include in discovery or exclude from discovery. In case of defining tag in both lists (include and exclude), exclude list has higher priority. If there is no need for services filtering, the configuration should not be defined. It’s not mandatory to define all values in order to enable filtering.
Users are able to specify how often sensors will poll the AWS tagged resources using the tagged-servies-poll-rate
configuration property (default 300 seconds).
To define how often sensors will poll the tagged resources use following configuration:
com.instana.plugin.aws:
tagged-servies-poll-rate: 60 #default 300
To include services by tags into discovery use following configuration:
com.instana.plugin.aws.lambda:
include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)
To exclude services by tags from discovery use following configuration:
com.instana.plugin.aws.lambda:
exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)
Monitoring of Individual Lambda Versions
By default, Instana will monitor the five most recent versions of each Lambda function individually. The number of versions for which Instana fetches data is configurable:
com.instana.plugin.aws.lambda:
number_of_versions: 3 # default 5
The maximum allowed for value for number_of_versions
is 20. Higher values will be capped to 20.
Monitoring individual Lambda versions can be disabled, Instana will then fall back to aggregating the metrics for all versions.
Note that in this case the aggregating metrics will be attached to the $LATEST version for the Lambda function. Use the following configuration to disable this feature:
com.instana.plugin.aws.lambda:
fetch_versions: false
Enabling this feature will require the lambda:ListVersionsByFunction
IAM permission.
If the required permission is missing, Instana will fall back to aggregating the metrics for all versions.
Please make sure to restart the agent after making this configuration change.
Instana Agent Tags
Please note that tags are currently only available in conjunction with the dedicated AWS Instana agent, described here AWS Agent Installation docs. More detail on using tags is described here.
Triggers
If a Lambda function is used as a trigger, all event source mappings will be displayed in the sidebar with links pointing to the attached AWS service. For more informations, see Invoking Lambda functions.