Coralogix can now use aws Lambda extensions to read Lambda functions’ logs and metrics directly without having to use Cloudwatch, thereby reducing latency and cost while gaining observability into your serverless infrastructure.
Go to AWS Serverless Repository and Search for Coralogix. Select Coralogix-Lambda-Extension. Make sure you perform the installation in the same region as the Lambda’s you want to add the extension layer to. If they are spread over more than one region, install the extension in each of these regions.
List the appropriate runtime environments for your lambdas and click ‘Deploy’. Make sure to add your runtime environment to the list, keeping the same format (separated by ‘, ‘).
Validate that the extension is available as a Lambda layer in your account
Go to the Lambda functions from which you want to send logs to Coralogix, choose the ‘Layers’ component, and click ‘Add Layer’
Select Custom Layers, choose the coralogix-extension layer, select the latest version and click ‘Add’
Go to the environment variables section in your Lambda function and add the below 3 parameters.
This document includes cluster-dependent URL’s. Each URL has a variable part (in Italic). Please match this part with a row entry within the following table. Copy the table row entry located under the column that matches the top-level domain of your Coralogix account (.com, .in, etc.). Replace the variable part of the URL with this entry.
CORALOGIX_PRIVATE_KEY – A unique ID that represents your company. The private key can be found under ‘settings’->’ send your logs’. It is located in the upper left corner.
CORALOGIX_APP_NAME – A mandatory metadata field that is sent with the logs. Helps identify the logs sent by this Lambda function.
CORALOGIX_SUB_SYSTEM – A mandatory metadata field sent with the logs. Helps identify the logs sent by this Lambda function. Your application probably has multiple subsystems, for example, Backend, Middleware, Frontend, etc.
CORALOGIX_LOG_URL (Optional) – If your Coralogix account top level domain is different than ‘.com’, use https://api.Cluster URL/api/v1/logs Using the table above find the appropriate string to replace ‘Cluster URL’ within the end point.
Finally, click ‘Add’
Container image lambda
In case if you deploy your lambda as a container image, to inject extension as part of your function just copy below to your image:
you can read more about it here
FROM coralogixrepo/coralogix-lambda-extension:latest AS coralogix-extension
# Layer codeWORKDIR /opt
COPY --from=coralogix-extension /opt/ .
# Function codeWORKDIR /var/task
COPY app.py .
You can include SAM (Serverless Application Model) in your automation frameworks. If you need access to the latest Lambda code go to https://github.com/coralogix/coralogix-aws-serverless/tree/master/src.
Your all set! Data will begin streaming to Coralogix. Need any help with your integration? ping us on our in-app chat or at firstname.lastname@example.org.