Compare commits
	
		
			5 Commits 
		
	
	
		
			main
			...
			coder-moni
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						66aa7bf80a | 11 months ago | 
| 
							
							
								 | 
						1a101ecc10 | 11 months ago | 
| 
							
							
								 | 
						9c049bd555 | 11 months ago | 
| 
							
							
								 | 
						84bf63705f | 11 months ago | 
| 
							
							
								 | 
						e4af2a9887 | 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…
					
					
				
		Reference in New Issue