diff --git a/dynamic_group.tf b/dynamic_group.tf new file mode 100644 index 0000000..4d1e7fd --- /dev/null +++ b/dynamic_group.tf @@ -0,0 +1,15 @@ +resource "random_id" "dynamic_group" { + byte_length = 2 +} + +resource "oci_identity_dynamic_group" "redis_dynamic_group" { + + provider = oci.homeregion + + compartment_id = var.tenancy_ocid + + name = "redis-cluster-dynamic-group-${random_id.dynamic_group.hex}" + description = "Dynamic group of Redis cluster Compute instances" + + matching_rule = "tag.${oci_identity_tag_namespace.ArchitectureCenterTagNamespace.name}.${oci_identity_tag.ArchitectureCenterTag.name}.value = '${var.release}'" +} \ No newline at end of file diff --git a/redis_logging.tf b/redis_logging.tf new file mode 100644 index 0000000..95d789b --- /dev/null +++ b/redis_logging.tf @@ -0,0 +1,58 @@ +resource "oci_logging_log_group" "redis_log_group" { + + compartment_id = var.compartment_ocid + display_name = "Redis Log Group" +} + +resource "oci_logging_log" "redis_log" { + + display_name = "Redis Logs" + + is_enabled = true + log_group_id = oci_logging_log_group.redis_log_group.id + log_type = "CUSTOM" + retention_duration = "30" +} + +resource "oci_logging_unified_agent_configuration" "redis_log_agent_config" { + + compartment_id = var.compartment_ocid + + description = "Log Agent configuration for Redis nodes" + display_name = "redis-log-agent-config" + + group_association { + group_list = [ + oci_identity_dynamic_group.redis_dynamic_group.id + ] + } + + is_enabled = true + + service_configuration { + + configuration_type = "LOGGING" + + destination { + log_object_id = oci_logging_log.redis_log.id + } + + sources { + + name = "redis_server" + + parser { + + parser_type = "REGEXP" + expression = "^(?\\d+):(?[XCSM]) (?