Well-Architected Framework
Manage cloud-native monitoring tools
Many cloud providers, such as AWS, Azure, and Google Cloud, offer their own monitoring services, which can effectively monitor infrastructure metrics and application logs. With Terraform, you can use cloud provider resources and specific monitoring modules to deploy and manage your cloud-native monitoring infrastructure without installing additional monitoring agents.
HashiCorp resources:
- AWS maintains the AWS Integration and Automation (IA) Terraform modules - the
cloudwatch-log-group
module deploys and manages an AWS Cloudwatch log group along with the corresponding IAM permissions. The Terraform AWS provider contains CloudWatch resources that Terraform can create and manage such as theaws_cloudwatch_dashboard
resource. - Azure maintains Azure Verified Modules - the avm-res-operationalinsights-workspace module deploys and manages a Log Analytics Workspace with reasonable defaults. The Azure Terraform provider contains the resources you need to deploy monitoring for your application in Azure such as
azurerm_portal_dashboard
andazurerm_monitor_metric_alert
. - Google maintains a cloud operations module that manages Google Cloud's operations suite (Cloud Logging and Monitoring). The Terraform Google Cloud provider page provides Google Cloud Monitoring resources that Terraform can create and manage such as the
google_monitoring_dashboard
resource.
External resources:
- Azure's Multi-cloud monitoring article guides you through setting up Azure Monitor to monitor your services and infrastructure across different clouds, and ingest cloud native metrics and telemetry information into your existing monitoring solution.
Next steps
In this section of Configure dashboards and alerts, you found resources to help you use Terraform to define and manage dashboards and alerts on your preferred cloud vendor. Manage cloud-native monitoring tools is part of the Define and automate processes pillar.