Skip to main content

AWS Shipper Terraform Module for Kafka Integration

Overview

Changed in v4.3.5

Our latest AWS integration provides the easiest way to connect with Coralogix. By using a predefined Lambda function, you can seamlessly send AWS logs and events to your Coralogix subscription for detailed analysis, monitoring, and troubleshooting.

Kafka configuration

NameDescriptionTypeDefaultRequired
kafka_brokersComma-delimited list of Kafka broker to connect to.stringn/ayes
kafka_topicThe Kafka topic to subscribe to.stringn/ayes
kafka_subnets_idsList of Kafka subnets to use when connecting to Kafka.listn/ayes
kafka_security_groupsList of Kafka security groups to use when connecting to Kafka.listn/ayes

Configuration example

module "coralogix-shipper-kafka" {
source = "coralogix/aws/coralogix//modules/coralogix-aws-shipper"

coralogix_region = "EU1"
integration_type = "Kafka"
api_key = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXX"
application_name = "kafka-application"
subsystem_name = "kafka-subsystem"
kafka_brokers = "kafka-broker-1,kafka-broker-2"
kafka_topic = "kafka-topic-name"
kafka_subnets_ids = ["kafka-subnet-1", "kafka-subnet-2"]
kafka_security_groups = ["kafka-security-group-1", "kafka-security-group-2"]
]
}
NameDescriptionTypeDefaultRequired
coralogix_regionThe Coralogix location region, available options: [EU1, EU2, AP1, AP2, AP3, US1, US2, Custom]stringn/ayes
custom_domainIf using a custom domain name for your private cluster, Coralogix will send telemetry from the specified address (e.g. custom.coralogix.com). There is no need to add ingress. to the domain.stringn/ano
integration_typeThe AWS service to integrate with Coralogix. Possible values: S3, CloudTrail, VpcFlow, CloudWatch, S3Csv, SNS, SQS, Kinesis, CloudFront, MSK, Kafka, EcrScan.stringS3yes
api_keyThe Coralogix Send Your Data - API key validates your authenticity. This value can be a direct Coralogix API key or an AWS secret manager ARN containing the API key. Required for metrics, REST logs, and direct Coralogix OTLP; leave empty for Collector OTLP.stringn/ayes
store_api_key_in_secrets_managerEnable this to store your API key securely. Otherwise, it will remain exposed in plain text as an environment variable in the Lambda function console.booltrueno
log_export_protocolLog delivery protocol when telemetry_mode is logs: coralogix_rest (default) or otlp_grpc. Ignored for metrics.stringcoralogix_restno
otlp_endpointOptional Collector http:// or https:// origin for otlp_grpc. Empty selects direct Coralogix OTLP; non-empty selects unauthenticated Collector delivery.string""no
disable_log_severity_detectionDisable keyword-based severity detection for logs. When true, logs use protocol-level Info severity without modifying the original log body. Ignored for metrics.boolfalseno
application_nameThe name of your application. For a dynamic value, use $.my_log.field. This option is not supported since version 1.1.0 for the source codestringn\ayes
subsystem_nameThe name of your subsystem. For a dynamic value, use $.my_log.field for CloudWatch log group leave empty. This option is not supported since version 1.1.0 for the source codestringn\ayes

When telemetry_mode is logs, three export routes are available (matching the shipper CloudFormation template):

  1. Coralogix REST (default): log_export_protocol = "coralogix_rest".
  2. Direct Coralogix OTLP/gRPC: log_export_protocol = "otlp_grpc" with empty otlp_endpoint (uses coralogix_region/custom_domain and api_key).
  3. Collector OTLP/gRPC: log_export_protocol = "otlp_grpc" with a non-empty otlp_endpoint (no Coralogix API key).

OTLP routes require a shipper binary that supports them; pin source_code_version after that shipper release is published.

For additional configuration options, please refer to our main Terraform documentation.

Last updated on
Includes latestOlder versionDeprecated
On this page
Was this page helpful?