2026-03-25 06:38:06 +03:00
|
|
|
|
|
|
|
|
# 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
|
2026-03-25 07:11:12 +03:00
|
|
|
grafana_url = "https://grafana.pvenode.ru/"
|
2026-03-25 06:38:06 +03:00
|
|
|
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 = local.contact_points
|
|
|
|
|
notification_policies = 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
|
|
|
|
|
]
|
|
|
|
|
}
|