88 lines
2.7 KiB
HCL
88 lines
2.7 KiB
HCL
|
|
# Module for managing datasources
|
|
module "grafana_datasource01" {
|
|
source = "../../modules/grafana_datasource"
|
|
datasources = var.datasources
|
|
org_id = var.org_id
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
}
|
|
|
|
# Module for managing folders
|
|
module "grafana_dashboard_folder01" {
|
|
source = "../../modules/grafana_dashboard_folder"
|
|
groups = var.groups
|
|
org_id = var.org_id
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
}
|
|
|
|
# Module for managing dashboards
|
|
module "grafana_dashboard01" {
|
|
source = "../../modules/grafana_dashboard"
|
|
groups = var.groups
|
|
org_id = var.org_id
|
|
folder_ids = module.grafana_dashboard_folder01.folder_ids
|
|
dashboard_uid_max_length = var.dashboard_uid_max_length
|
|
depends_on = [module.grafana_dashboard_folder01]
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
}
|
|
|
|
# Module for managing contact points
|
|
module "grafana_contact_points01" {
|
|
source = "../../modules/grafana_contact_points"
|
|
org_id = var.org_id
|
|
env = var.env
|
|
grafana_url = "http://192.168.0.106:3000"
|
|
contact_points = var.enable_contact_points ? local.contact_points : []
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
}
|
|
|
|
# Module for managing notification policies
|
|
module "grafana_notification_policies01" {
|
|
source = "../../modules/grafana_notification_policies"
|
|
org_id = var.org_id
|
|
contact_points = var.enable_contact_points ? local.contact_points : []
|
|
notification_policies = var.enable_contact_points ? var.notification_policies : []
|
|
depends_on = [module.grafana_contact_points01]
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
}
|
|
|
|
# Module for managing rule group
|
|
module "grafana_rule_group01" {
|
|
source = "../../modules/grafana_rule_group"
|
|
org_id = var.org_id
|
|
groups = var.groups
|
|
folder_uids = module.grafana_dashboard_folder01.folder_uids
|
|
datasources = var.datasources
|
|
providers = {
|
|
grafana = grafana.grafana01
|
|
}
|
|
|
|
# Time-related parameters
|
|
interval_seconds = var.interval_seconds
|
|
default_interval_ms = var.default_interval_ms
|
|
default_alert_duration = var.default_alert_duration
|
|
default_evaluation_interval = var.default_evaluation_interval
|
|
default_time_range_from = var.default_time_range_from
|
|
default_processing_range = var.default_processing_range
|
|
default_max_data_points = var.default_max_data_points
|
|
default_no_data_state = var.default_no_data_state
|
|
default_exec_err_state = var.default_exec_err_state
|
|
|
|
depends_on = [
|
|
module.grafana_datasource01,
|
|
module.grafana_notification_policies01,
|
|
module.grafana_dashboard_folder01,
|
|
module.grafana_contact_points01
|
|
]
|
|
}
|