This project provides an AWS Lambda function that forwards CloudWatch logs to SYNQ.
- AWS CLI configured with appropriate permissions
- Go 1.24.5+ (for building the Lambda function)
- Make
- Access to SYNQ API (token or client credentials)
Edit 00-common.sh to set your configuration:
SYNQ_TOKEN="" # Your SYNQ API token (required if not using client credentials)
SYNQ_CLIENT_ID="" # Your SYNQ client ID (required if not using token)
SYNQ_CLIENT_SECRET="" # Your SYNQ client secret (required if not using token)
FUNCTION_NAME="synq-aws-cloudwatch" # Lambda function name
FUNCTION_ROLE="${FUNCTION_NAME}-role" # IAM role nameNote: You must provide either SYNQ_TOKEN OR both SYNQ_CLIENT_ID and SYNQ_CLIENT_SECRET.
# Build and package the Lambda function
make zip
# Deploy the Lambda function to AWS
./01-lambda.shTo forward Airflow logs, set the AIRFLOW_ENV environment variable and run:
export AIRFLOW_ENV="your-airflow-environment-name"
./02-airflow.shYou can authenticate with SYNQ using either:
- Long-lived token: Set
SYNQ_TOKENin00-common.sh(available on the Airflow integration screen after creating the integration in the SYNQ app) - Client credentials: Set
SYNQ_CLIENT_IDandSYNQ_CLIENT_SECRETin00-common.sh
The Lambda function uses these environment variables:
SYNQ_API_ENDPOINT(default:https://developer.synq.io/)SYNQ_TOKEN- Long-lived API tokenSYNQ_CLIENT_ID- OAuth client IDSYNQ_CLIENT_SECRET- OAuth client secret
To remove all created resources:
./xx-cleanup.sh