Skip to content

mediavine/terraform-aws-telemetry

Repository files navigation

Requirements

Name Version
terraform >= 0.13.1
aws >= 4.35
null >= 3.2.3
random >= 3.6.3

Providers

Name Version
aws 5.60.0
null 3.2.2
random 3.6.2

Modules

No modules.

Resources

Name Type
aws_appautoscaling_policy.cpu_utilization resource
aws_appautoscaling_policy.memory_utilization resource
aws_appautoscaling_target.this resource
aws_cloudwatch_log_group.adot_service_log_group resource
aws_cloudwatch_log_group.otel_collector_log_group resource
aws_ecs_service.adot_ecs_service resource
aws_ecs_service.otel_collector_ecs_service resource
aws_ecs_task_definition.adot_task_definition resource
aws_ecs_task_definition.otel_collector_task_definition resource
aws_iam_policy.cw_logs_policy resource
aws_iam_policy.ssm_parameter_access resource
aws_iam_policy.task_execution resource
aws_iam_role.execution_role resource
aws_iam_role.task_role resource
aws_iam_role_policy_attachment.cw_logs_policy_attachment resource
aws_iam_role_policy_attachment.cw_logs_policy_attachment_execution_role resource
aws_iam_role_policy_attachment.ecs_task_execution resource
aws_iam_role_policy_attachment.prometheus resource
aws_iam_role_policy_attachment.ssm_parameterstore_policy_attachment resource
aws_iam_role_policy_attachment.xray resource
aws_lb.this resource
aws_lb_listener.http resource
aws_lb_target_group.http resource
aws_prometheus_alert_manager_definition.this resource
aws_prometheus_rule_group_namespace.this resource
aws_prometheus_workspace.this resource
aws_security_group.this resource
aws_security_group_rule.egress resource
aws_security_group_rule.health_check resource
aws_security_group_rule.http resource
aws_ssm_parameter.custom_otel_config resource
null_resource.validate_otel_collector_service resource
random_string.this resource
aws_caller_identity.current data source
aws_vpc.this data source

Inputs

Name Description Type Default Required
adot_collector_command The command to run the otel collector string "--config=/etc/ecs/ecs-amp-xray.yaml" no
adot_collector_image The image of the otel collector string "public.ecr.aws/aws-observability/aws-otel-collector:v0.38.1" no
alert_manager_definition The alert manager definition that you want to be applied. See more in the AWS Docs string `"alertmanager_config: \n route:\n receiver: 'default'\n receivers:\n - name: 'default'\n"`
amazon_prometheus_endpoint The endpoint of the prometheus workspace string null no
amazon_prometheus_endpoint_region The region of the prometheus workspace string "us-east-1" no
autoscaling_configuration The autoscaling configuration
list(object({
min_capacity = number
max_capacity = number
cpu_threshold_value = number
memory_threshold_value = number
scale_in_cooldown = number
scale_out_cooldown = number
}))
[
{
"cpu_threshold_value": 50,
"max_capacity": 10,
"memory_threshold_value": 50,
"min_capacity": 3,
"scale_in_cooldown": 300,
"scale_out_cooldown": 300
}
]
no
cluster The name of the ECS cluster string "" no
create_adot_service Determines whether the ECS service will be created bool false no
create_otel_collector_service If true creates ecs service for otel-collector-contrib bool false no
create_prometheus Determines whether a resources will be created bool true no
create_workspace Determines whether a workspace will be created or to use an existing workspace bool true no
custom_otel_config values for custom otel config. Only include the path to the otel config file at the moment
list(object({
otel_config_file_path = string
}))
[] no
desired_count The number of instances of the task definition to place and keep running number 3 no
enable_internal_lb Determines whether an internal load balancer will be created bool false no
logging_configuration The logging configuration of the prometheus workspace. map(string) {} no
name The name of the load balancer string "adot" no
otel_collector_cpu The CPU units to reserve for the otel collector number 512 no
otel_collector_image The image of the otel collector string "otel/opentelemetry-collector-contrib:0.87.0" no
otel_collector_memory The memory to reserve for the otel collector number 1024 no
region The region to deploy the resources string "us-east-1" no
rule_group_namespaces A map of one or more rule group namespace definitions map(any) {} no
subnets A list of subnet IDs to associate with the load balancer list(string) [] no
tags A map of tags to add to all resources map(string) {} no
vpc_id The ID of the VPC to associate with the load balancer string "" no
workspace_alias The alias of the prometheus workspace. See more in the AWS Docs string null no
workspace_id The ID of an existing workspace to use when create_workspace is false string "" no

Outputs

Name Description
lb_dns_name DNS name of the internal load balancer
workspace_arn Amazon Resource Name (ARN) of the workspace
workspace_id Identifier of the workspace
workspace_prometheus_endpoint Prometheus endpoint available for this workspace

README.MD updated successfully