From 54f31cff1fd4187025e865cdf10390dd04688e8e Mon Sep 17 00:00:00 2001 From: "Matthew C. Morgan" Date: Fri, 7 Mar 2025 18:04:47 -0500 Subject: [PATCH] unified config --- README.md | 2 - copy_images.tf | 20 ------- main.tf | 4 -- values/loki.yml.tpl | 132 +++++++++++++++++++++----------------------- variables.tf | 12 ---- 5 files changed, 64 insertions(+), 106 deletions(-) diff --git a/README.md b/README.md index efb515c..5b7ff48 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,9 @@ to loki. |------|-------------|------|---------|:--------:| | [cluster\_name](#input\_cluster\_name) | EKS cluster name name component used through out the EKS cluster describing its purpose (ex: dice-dev) | `string` | n/a | yes | | [enterprise\_logs\_provisioner\_tag](#input\_enterprise\_logs\_provisioner\_tag) | The version of the grafana/enterprise-logs-provisioner image to use. | `string` | `"v1.7.0"` | no | -| [exporter\_tag](#input\_exporter\_tag) | The version of prom/memcached-exporter to use for the gateway. | `string` | `"v0.14.4"` | no | | [gateway\_tag](#input\_gateway\_tag) | The version of nginxinc/nginx-unprivileged to use for the gateway. | `string` | `"1.25.2-alpine"` | no | | [loki\_chart\_version](#input\_loki\_chart\_version) | Which version of the grafana/loki helm chart to use. | `string` | `"6.10.2"` | no | | [loki\_tag](#input\_loki\_tag) | The tag of the loki image to use. | `string` | `"3.1.1"` | no | -| [memcached\_tag](#input\_memcached\_tag) | The version of memcached to use for the gateway. | `string` | `"1.6.23-alpine"` | no | | [namespace](#input\_namespace) | The namespace into which grafana will be deployed | `string` | `"loki"` | no | | [oidc\_provider\_arn](#input\_oidc\_provider\_arn) | The ARN in the EKS cluster for the OpenID Connect identity provider. | `string` | n/a | yes | | [profile](#input\_profile) | AWS config profile used to upload images into ECR | `string` | `""` | no | diff --git a/copy_images.tf b/copy_images.tf index 65c3dfe..b3e1517 100644 --- a/copy_images.tf +++ b/copy_images.tf @@ -3,8 +3,6 @@ locals { provisioner_key = format("%v#%v", "grafana/enterprise-logs-provisioner", var.enterprise_logs_provisioner_tag) gateway_key = format("%v#%v", "grafana/nginx-unprivileged", var.gateway_tag) sidecar_key = format("%v#%v", "kiwigrid/k8s-sidecar", var.sidecar_tag) - memcached_key = format("%v#%v", "memcached", var.memcached_tag) - exporter_key = format("%v#%v", "prom/memcached-exporter", var.exporter_tag) image_config = [ { @@ -16,24 +14,6 @@ locals { source_tag = var.loki_tag tag = var.loki_tag }, - { - enabled = true - dest_path = null - name = "memcached" - source_image = "bitnami/memcached" - source_registry = "public.ecr.aws" - source_tag = var.memcached_tag - tag = var.memcached_tag - }, - { - enabled = true - dest_path = null - name = "prom/memcached-exporter" - source_image = "prom/memcached-exporter" - source_registry = "docker.io" - source_tag = var.exporter_tag - tag = var.exporter_tag - }, { enabled = true dest_path = null diff --git a/main.tf b/main.tf index a1af8f2..68a785d 100644 --- a/main.tf +++ b/main.tf @@ -51,10 +51,6 @@ resource "helm_release" "loki" { gateway_image_tag = module.images.images[local.gateway_key].tag sidecar_image_repository = split(":", module.images.images[local.sidecar_key].dest_full_path)[0] sidecar_image_tag = module.images.images[local.sidecar_key].tag - memcached_image_repository = split(":", module.images.images[local.memcached_key].dest_full_path)[0] - memcached_image_tag = module.images.images[local.memcached_key].tag - exporter_image_repository = split(":", module.images.images[local.exporter_key].dest_full_path)[0] - exporter_image_tag = module.images.images[local.exporter_key].tag # Storage configuration s3_bucket_name = module.loki_s3.s3_requested_bucket_name region = var.region diff --git a/values/loki.yml.tpl b/values/loki.yml.tpl index f4b854d..119615c 100644 --- a/values/loki.yml.tpl +++ b/values/loki.yml.tpl @@ -8,33 +8,39 @@ global: # Main Loki configuration loki: + analytics: + reporting_enabled: true + auth_enabled: false image: repository: ${loki_image_repository} tag: ${loki_image_tag} - auth_enabled: false - analytics: - reporting_enabled: true - use_thanos_objstore: true + ingester: + chunk_encoding: snappy + limits_config: + allow_structured_metadata: true + query_timeout: 30s + max_streams_per_user: 1000 + max_query_parallelism: 32 + max_query_length: 2160h + ingestion_rate_strategy: local + split_queries_by_interval: 15m + max_cache_freshness_per_query: 10m + reject_old_samples_max_age: 168h + reject_old_samples: true + retention_period: 2160h # Storage configuration - storage: - type: s3 - bucketNames: - chunks: ${s3_bucket_name} - ruler: ${s3_bucket_name} - admin: ${s3_bucket_name} + use_thanos_objstore: true + object_store: s3: - s3: s3://${region} + bucketName: ${s3_bucket_name} + endpoint: s3.${region}.amazonaws.com region: ${region} - storage_config: - aws: - s3: s3://${region}/${s3_bucket_name} - # Provisioner settings provisioner: image: repository: ${provisioner_image_repository} tag: ${provisioner_image_tag} - + replication_factor: 1 schemaConfig: configs: - from: 2024-04-01 @@ -44,16 +50,18 @@ loki: object_store: s3 schema: v13 store: tsdb + tracing: + enabled: true backend: - persistence: - enabled: true - storageClass: ${rwo_storage_class} - replicas: 1 autoscaling: enabled: true minReplicas: 1 targetCPUUtilizationPercentage: 80 + persistence: + enabled: true + storageClass: ${rwo_storage_class} + replicas: 1 resources: requests: cpu: 1m @@ -61,8 +69,14 @@ backend: limits: cpu: 200m memory: 256Mi - +bloomCompactor: + replicas: 0 +bloomGateway: + replicas: 0 +chunksCache: + enabled: false compactor: + replicas: 0 working_directory: /loki/compactor shared_store: s3 compaction_interval: 10m @@ -76,7 +90,8 @@ compactor: limits: cpu: 200m memory: 256Mi - +distributer: + replicas: 0 gateway: image: repository: ${gateway_image_repository} @@ -91,47 +106,36 @@ gateway: limits: cpu: 100m memory: 128Mi - +indexGateway: + replicas: 0 +ingester: + replicas: 0 lokiCanary: enabled: false - memcached: + enabled: false chunk_cache: - enabled: true + enabled: false results_cache: - enabled: true - image: - repository: ${memcached_image_repository} - tag: ${memcached_image_tag} - resources: - requests: - cpu: 1m - memory: 1Mi - limits: - cpu: 200m - memory: 256Mi - + enabled: false memcachedExporter: - image: - repository: ${exporter_image_repository} - tag: ${exporter_image_tag} - resources: - requests: - cpu: 1m - memory: 1Mi - limits: - cpu: 200m - memory: 256Mi - + enabled: false +querier: + replicas: 0 + max_concurrent: 4 +queryFrontend: + replicas: 0 +queryScheduler: + replicas: 0 read: - persistence: - enabled: true - storageClass: ${rwo_storage_class} - replicas: 1 autoscaling: enabled: true minReplicas: 1 targetCPUUtilizationPercentage: 80 + persistence: + enabled: true + storageClass: ${rwo_storage_class} + replicas: 1 resources: requests: cpu: 1m @@ -139,16 +143,13 @@ read: limits: cpu: 200m memory: 256Mi - +resultsCache: + enabled: false ruler: - resources: - requests: - cpu: 1m - memory: 1Mi - limits: - cpu: 200m - memory: 256Mi - + enabled: false +serviceAccount: + annotations: + eks.amazonaws.com/role-arn: ${iam_role_arn} sidecar: image: repository: ${sidecar_image_repository} @@ -160,15 +161,10 @@ sidecar: limits: cpu: 200m memory: 256Mi - - -serviceAccount: - annotations: - eks.amazonaws.com/role-arn: ${iam_role_arn} - +singleBinary: + replicas: 0 test: enabled: false - write: persistence: enabled: true diff --git a/variables.tf b/variables.tf index 35009fe..ad048a5 100644 --- a/variables.tf +++ b/variables.tf @@ -65,18 +65,6 @@ variable "gateway_tag" { default = "1.25.2-alpine" } -variable "memcached_tag" { - description = "The version of memcached to use for the gateway." - type = string - default = "1.6.23-alpine" -} - -variable "exporter_tag" { - description = "The version of prom/memcached-exporter to use for the gateway." - type = string - default = "v0.14.4" -} - variable "sidecar_tag" { description = "The version of kiwigrid/k8s-sidecar to use for the gateway." type = string