Compare commits

...

5 Commits

Author SHA1 Message Date
defelmnq 66aa7bf80a add validation rules to monitoring variables 11 months ago
defelmnq 1a101ecc10 improve versions set 11 months ago
defelmnq 9c049bd555 improve desription and default values 11 months ago
defelmnq 84bf63705f Work on monitoring module 11 months ago
defelmnq e4af2a9887 Work on monitoring module 11 months ago

@ -0,0 +1,72 @@
---
display_name: Monitoring
description: Monitoring of workspace resources
maintainer_github: coder
verified: true
tags: [monitoring]
---
# Monitoring
This module adds monitoring of workspace resources.
```tf
module "monitoring" {
source = "registry.coder.com/modules/monitoring/coder"
version = "1.0.0"
agent_id = coder_agent.dev.id
}
```
## Examples
```tf
module "monitoring" {
source = "registry.coder.com/modules/monitoring/coder"
version = "1.0.0"
agent_id = coder_agent.dev.id
}
```
### Enable/Disable
You can customize the monitoring by setting the `enabled`, `memory_enabled`, and `disk_enabled` variables.
```tf
module "monitoring" {
source = "registry.coder.com/modules/monitoring/coder"
version = "1.0.0"
agent_id = coder_agent.dev.id
enabled = false
memory_enabled = true
disk_enabled = false
}
```
### Customize Thresholds
You can customize the thresholds by setting the `threshold`, `memory_threshold`, and `disk_threshold` variables.
```tf
module "monitoring" {
source = "registry.coder.com/modules/monitoring/coder"
version = "1.0.0"
agent_id = coder_agent.dev.id
threshold = 90
memory_threshold = 95
disk_threshold = 90
}
```
### Customize Disks
You can customize the disks by setting the `disks` variable.
```tf
module "monitoring" {
source = "registry.coder.com/modules/monitoring/coder"
version = "1.0.0"
agent_id = coder_agent.dev.id
disks = ["/"]
}
```

@ -0,0 +1,92 @@
terraform {
required_version = ">= 1.0.25"
required_providers {
coder = {
source = "coder/coder"
version = ">= 2.0.2"
}
}
}
variable "threshold" {
type = number
description = "The threshold for the monitoring, used for all resources unless overridden by *_threshold - expressed as a percentage."
default = 90
validation {
condition = var.threshold >= 0 && var.threshold <= 100
error_message = "The threshold must be between 0 and 100."
}
}
variable "memory_threshold" {
type = number
description = "The threshold for the memory monitoring - expressed as a percentage."
default = 90
validation {
condition = var.memory_threshold >= 0 && var.memory_threshold <= 100
error_message = "The memory_threshold must be between 0 and 100."
}
}
variable "disk_threshold" {
type = number
description = "The threshold for the disk monitoring - expressed as a percentage."
default = 90
validation {
condition = var.disk_threshold >= 0 && var.disk_threshold <= 100
error_message = "The disk_threshold must be between 0 and 100."
}
}
variable "disks" {
type = list(string)
description = "The disks to monitor. e.g. ['/', '/home']"
default = ["/"]
}
variable "enabled" {
type = bool
description = "Whether the monitoring is enabled."
default = true
validation {
condition = var.enabled == true || var.enabled == false
error_message = "The enabled must be true or false."
}
}
variable "memory_enabled" {
type = bool
description = "Whether the memory monitoring is enabled."
default = true
validation {
condition = var.memory_enabled == true || var.memory_enabled == false
error_message = "The memory_enabled must be true or false."
}
}
variable "disk_enabled" {
type = bool
description = "Whether the disk monitoring is enabled."
default = true
validation {
condition = var.disk_enabled == true || var.disk_enabled == false
error_message = "The disk_enabled must be true or false."
}
}
variable "agent_id" {
type = string
description = "The ID of the agent to monitor."
}
data "coder_monitoring" "monitoring" {
threshold = var.threshold
memory_threshold = var.memory_threshold
disk_threshold = var.disk_threshold
disks = var.disks
enabled = var.enabled
memory_enabled = var.memory_enabled
disk_enabled = var.disk_enabled
agent_id = var.agent_id
}
Loading…
Cancel
Save