Skip to content

dasmeta/terraform-aws-monitoring

Repository files navigation

Why

Modules to quickly spin up fully functional of monitoring. Using pre-commit hooks

What hooks we use

We use terraform-fmt, terraform-docs, trailing whitespace, detect-aws-credentials, check-merge-conflict, detect-private-key.

Requirements for pre-commit hooks

for Run our pre-commit hooks you need to install - terraform - terraform-docs

Config for GitHooks

git config core.hooksPath githooks

What

  • security-hub
  • aws-billing
  • eventbridge
  • pre-commit hooks

Requirements

Name Version
terraform >= 1.3.0
aws >= 4.50, < 6.0

Providers

No providers.

Modules

Name Source Version
alerts ./modules/alerts/ n/a
alerts_slo_sli_sla ./modules/alerts/ n/a
aws_cloudwatch_log_metric_filter ./modules/cloudwatch-log-based-metrics n/a
eks_monitoring_dashboard ./modules/dashboard/ n/a
health-check ./modules/alerts/ n/a
monitoring_dashboard ./modules/dashboard/ n/a

Resources

No resources.

Inputs

Name Description Type Default Required
alerts Alerts any [] no
application_channel_alerts Application channel alerts any [] no
application_monitroing_dashboard Application for monitoring EKS cluster any [] no
create_alerts Create Alert bool true no
eks_monitroing_dashboard Dashboard for monitoring EKS cluster any [] no
enable_log_base_metrics n/a bool true no
expression_alert Add multiple metrics in one alert and add expression. any {} no
health_checks Health_checks endpoints and paths any [] no
log_base_metrics Log Base Metrics creation configuration
list(object({
name = string
pattern = string
log_group_name = string
unit = optional(string, "None")
dimensions = optional(any, {})
value = optional(string, "1")
default_value = optional(string, "0")
}))
[] no
name Dashboard name string n/a yes
region The region where resources should be managed. In this repository it's secondary because IAM is always global. string "eu-central-1" no
sns_topic_name SNS topic name string "cloudwatch-alarm" no

Outputs

No outputs.