Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sparkfabrik/terraform-google-services-monitoring

A simple terraform module for configuring the monitoring of certain services on Google Cloud Platform
https://github.com/sparkfabrik/terraform-google-services-monitoring

Last synced: 23 days ago
JSON representation

A simple terraform module for configuring the monitoring of certain services on Google Cloud Platform

Awesome Lists containing this project

README

        

# Terraform GCP Services Monitoring Module

This module creates a set of monitoring alerts for Google Cloud Platform services.

Supported services:

- Cloud SQL
- CPU usage
- Storage usage
- Memory usage

## Providers

| Name | Version |
|------|---------|
| [google](#provider\_google) | >= 5.10 |

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.5 |
| [google](#requirement\_google) | >= 5.10 |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [auto\_close](#input\_auto\_close) | n/a | `string` | `"86400s"` | no |
| [cloud\_sql](#input\_cloud\_sql) | n/a |

object({
project = optional(string, null)
auto_close = optional(string, null)
notification_channels = optional(list(string), [])
instances = optional(map(object({
cpu_utilization = optional(list(object({
severity = optional(string, "CRITICAL"),
threshold = optional(number, 0.90)
alignment_period = optional(string, "120s")
duration = optional(string, "300s")
})), [
{
severity = "WARNING",
threshold = 0.85,
duration = "1200s",
},
{
severity = "CRITICAL",
threshold = 1,
duration = "300s",
alignment_period = "60s",
}
])
memory_utilization = optional(list(object({
severity = optional(string, "CRITICAL"),
threshold = optional(number, 0.90)
alignment_period = optional(string, "300s")
duration = optional(string, "300s")
})), [
{
severity = "WARNING",
threshold = 0.80,
},
{
severity = "CRITICAL",
threshold = 0.90,
}
])
disk_utilization = optional(list(object({
severity = optional(string, "CRITICAL"),
threshold = optional(number, 0.90)
alignment_period = optional(string, "300s")
duration = optional(string, "600s")
})), [
{
severity = "WARNING",
threshold = 0.85,
},
{
severity = "CRITICAL",
threshold = 0.95,
}
])
})), {})
})
| n/a | yes |
| [notification\_channels](#input\_notification\_channels) | n/a | `list(string)` | `[]` | no |
| [project](#input\_project) | n/a | `string` | `null` | no |

## Outputs

| Name | Description |
|------|-------------|
| [cloud\_sql\_cpu\_utilization](#output\_cloud\_sql\_cpu\_utilization) | n/a |
| [cloud\_sql\_disk\_utilization](#output\_cloud\_sql\_disk\_utilization) | n/a |
| [cloud\_sql\_memory\_utilization](#output\_cloud\_sql\_memory\_utilization) | n/a |

## Resources

| Name | Type |
|------|------|
| [google_monitoring_alert_policy.cloud_sql_cpu_utilization](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/monitoring_alert_policy) | resource |
| [google_monitoring_alert_policy.cloud_sql_disk_utilization](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/monitoring_alert_policy) | resource |
| [google_monitoring_alert_policy.cloud_sql_memory_utilization](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/monitoring_alert_policy) | resource |

## Modules

No modules.