This Terraform module deploys the Sumo Logic AWS Observability Solution — a full-stack observability solution for AWS environments. It configures AWS collection infrastructure and installs Sumo Logic apps, monitors, dashboards, and field extraction rules for the following AWS services and supporting apps:
- Application Load Balancer (ALB)
- Classic Load Balancer (ELB)
- Network Load Balancer (NLB)
- API Gateway
- CloudTrail
- DynamoDB
- EC2
- ECS (Without Container Insights and Traces)
- ECS (With Container Insights and Traces)
- ElastiCache
- Amazon Overview
- Lambda
- RDS
- SNS
- SQS
- Host Metrics (EC2)
Create a main.auto.tfvars file with your environment-specific values:
sumologic_environment = "us2" # Sumo Logic deployment: au, ca, ch, de, eu, fed, jp, kr, us1, us2
sumologic_access_id = "<YOUR SUMO ACCESS ID>"
sumologic_access_key = "<YOUR SUMO ACCESS KEY>"
sumologic_organization_id = "<YOUR SUMO ORG ID>"
aws_account_alias = "<AWS_ACCOUNT_ALIAS>" # Lowercase letters and numbers onlyprovider "sumologic" {
environment = var.sumologic_environment
access_id = var.sumologic_access_id
access_key = var.sumologic_access_key
}
provider "aws" {
region = "us-east-1"
}
module "aws_observability" {
source = "SumoLogic/aws-observability/sumologic"
version = ">= 1.0.0"
sumologic_environment = "us2"
sumologic_access_id = var.sumologic_access_id
sumologic_access_key = var.sumologic_access_key
sumologic_organization_id = var.sumologic_organization_id
aws_account_alias = "prod"
}For multi-account or multi-region deployments, use the submodules directly:
# Install apps once per Sumo Logic org
module "apps" {
source = "SumoLogic/aws-observability/sumologic//modules/apps"
version = ">= 1.0.0"
...
}
# Install collection once per AWS account/region
module "collection" {
source = "SumoLogic/aws-observability/sumologic//modules/collection"
version = ">= 1.0.0"
...
}See the examples/ directory for complete working configurations.
| Name | Description |
|---|---|
| modules/apps | Installs Sumo Logic apps, monitors, metric rules, FERs, and the AWS Observability hierarchy. Deploy once per Sumo Logic organization. |
| modules/collection | Creates AWS collection infrastructure (CloudTrail, ELB, CloudWatch, Kinesis Firehose sources) and Sumo Logic collector. Deploy once per AWS account/region. |
| Name | Version |
|---|---|
| terraform | >= 1.5.7 |
| aws | >= 5.16.2, < 7.0.0 |
| random | >= 3.1.0 |
| sumologic | >= 3.3.0, < 4.0.0 |
| time | >= 0.11.1 |
No providers.
| Name | Source | Version |
|---|---|---|
| app-module | ./modules/apps | n/a |
| collection-module | ./modules/collections | n/a |
No resources.
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| aws_account_alias | Provide the Name/Alias for the AWS environment from which you are collecting data. This name will appear in the Sumo Logic Explorer View, metrics, and logs. If you are going to deploy the solution in multiple AWS accounts then this value has to be overidden at main.tf file. Do not include special characters in the alias. |
string |
n/a | yes |
| aws_resource_tags | Map of tags to apply to all AWS resources provisioned through the AWS Observability Solution | map(string) |
{} |
no |
| classic_lb_log_source_url | Required if you are already collecting Classic LB logs. Provide the existing Sumo Logic Classic LB Source API URL. | string |
"" |
no |
| cloudtrail_source_url | Required if you are already collecting CloudTrail logs. Provide the existing Sumo Logic CloudTrail Source API URL. | string |
"" |
no |
| cloudwatch_logs_source_url | Required if you are already collecting CloudWatch Logs. Provide the existing Sumo Logic Logs Source API URL. e.g. https://api.us2.sumologic.com/api/v1/collectors//sources/ | string |
"" |
no |
| cloudwatch_metrics_source_url | Required if you are already collecting CloudWatch Metrics. Provide the existing Sumo Logic Metrics Source API URL. e.g. https://api.us2.sumologic.com/api/v1/collectors//sources/ | string |
"" |
no |
| elb_log_source_url | Required if you are already collecting ALB logs. Provide the existing Sumo Logic ALB Source API URL. | string |
"" |
no |
| sumologic_access_id | Sumo Logic Access ID. Visit https://help.sumologic.com/Manage/Security/Access-Keys#Create_an_access_key | string |
n/a | yes |
| sumologic_access_key | Sumo Logic Access Key. Visit https://help.sumologic.com/Manage/Security/Access-Keys#Create_an_access_key | string |
n/a | yes |
| sumologic_environment | Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security | string |
n/a | yes |
| sumologic_environment_base_url | Base URL for custom Sumo Logic environments (e.g., 'https://api.ch.sumologic.com/api/' for Switzerland). If provided, this takes precedence over the sumologic_environment parameter. Leave empty for standard deployments. | string |
null |
no |
| sumologic_organization_id | You can find your org on the Preferences page in the Sumo Logic UI. For more information, see the Preferences Page topic. Your org ID will be used to configure the IAM Role for Sumo Logic AWS Sources." For more details, visit https://help.sumologic.com/01Start-Here/05Customize-Your-Sumo-Logic-Experience/Preferences-Page |
string |
n/a | yes |
| Name | Description |
|---|---|
| Apps | All outputs related to apps. |
| Collection | All outputs related to collection and sources. |