diff --git a/kubernetes/apps/monitoring/loki/app/helmrelease.yaml b/kubernetes/apps/monitoring/loki/app/helmrelease.yaml index 9142b235a..8610f2ef4 100644 --- a/kubernetes/apps/monitoring/loki/app/helmrelease.yaml +++ b/kubernetes/apps/monitoring/loki/app/helmrelease.yaml @@ -22,56 +22,84 @@ spec: retries: 3 upgrade: cleanupOnFail: true + crds: Skip remediation: + strategy: rollback retries: 3 - uninstall: - keepHistory: false dependsOn: - name: rook-ceph-cluster namespace: rook-ceph + - name: vector-agent + namespace: monitoring + - name: vector-aggregator + namespace: monitoring + valuesFrom: + - targetPath: loki.storage.bucketNames.chunks + kind: ConfigMap + name: &cephBucket loki-bucket + valuesKey: BUCKET_NAME + - targetPath: loki.storage.s3.endpoint + kind: ConfigMap + name: *cephBucket + valuesKey: BUCKET_HOST + - targetPath: loki.storage.s3.region + kind: ConfigMap + name: *cephBucket + valuesKey: BUCKET_REGION + - targetPath: loki.storage.s3.accessKeyId + kind: Secret + name: *cephBucket + valuesKey: AWS_ACCESS_KEY_ID + - targetPath: loki.storage.s3.secretAccessKey + kind: Secret + name: *cephBucket + valuesKey: AWS_SECRET_ACCESS_KEY values: + deploymentMode: SimpleScalable loki: + podAnnotations: + configmap.reloader.stakater.com/reload: *cephBucket + secret.reloader.stakater.com/reload: *cephBucket + ingester: + chunk_encoding: snappy + storage: + type: s3 + s3: + s3ForcePathStyle: true + insecure: true + schemaConfig: + configs: + - from: "2024-04-01" # quote + store: tsdb + object_store: s3 + schema: v13 + index: + prefix: loki_index_ + period: 24h structuredConfig: auth_enabled: false server: log_level: info http_listen_port: 3100 grpc_listen_port: 9095 - memberlist: - join_members: ["loki-memberlist"] + grpc_server_max_recv_msg_size: 8388608 + grpc_server_max_send_msg_size: 8388608 limits_config: - retention_period: 14d - enforce_metric_name: false + ingestion_burst_size_mb: 128 + ingestion_rate_mb: 64 + max_query_parallelism: 100 + per_stream_rate_limit: 64M + per_stream_rate_limit_burst: 128M reject_old_samples: true reject_old_samples_max_age: 168h - max_cache_freshness_per_query: 10m - split_queries_by_interval: 15m - ingestion_rate_mb: 50 - ingestion_burst_size_mb: 1000 - per_stream_rate_limit: 5MB - per_stream_rate_limit_burst: 20MB + retention_period: 30d shard_streams: enabled: true - schema_config: - configs: - - from: "2022-01-11" # quote - store: boltdb-shipper - object_store: s3 - schema: v12 - index: - prefix: loki_index_ - period: 24h - common: - path_prefix: /var/loki - replication_factor: 2 - storage: - s3: - s3: null - insecure: true - s3forcepathstyle: true - ring: - kvstore: - store: memberlist + split_queries_by_interval: 1h + query_scheduler: + max_outstanding_requests_per_tenant: 4096 + frontend: + max_outstanding_per_tenant: 4096 ruler: enable_api: true enable_alertmanager_v2: true @@ -80,144 +108,40 @@ spec: type: local local: directory: /rules - rule_path: /rules - ring: - kvstore: - store: memberlist - distributor: - ring: - kvstore: - store: memberlist - compactor: - working_directory: /var/loki/boltdb-shipper-compactor - shared_store: s3 - compaction_interval: 10m - retention_enabled: true - retention_delete_delay: 2h - retention_delete_worker_count: 150 - ingester: - max_chunk_age: 1h - lifecycler: - ring: - kvstore: - store: memberlist + rule_path: /rules/fake analytics: reporting_enabled: false + backend: + replicas: 3 + persistence: + size: 20Gi + storageClass: openebs-hostpath gateway: - replicas: 2 - affinity: | - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - labelSelector: - matchLabels: - {{- include "loki.gatewaySelectorLabels" . | nindent 12 }} - topologyKey: kubernetes.io/hostname + replicas: 3 image: registry: ghcr.io - repository: nginxinc/nginx-unprivileged - tag: 1.26.0-alpine@sha256:a44d563519176c46707c878828920203c6fb31f7de205ce595dc8619cb4a8e16 ingress: enabled: true - ingressClassName: "nginx" - annotations: - hajimari.io/enable: "false" + ingressClassName: internal hosts: - - host: &host loki.${SECRET_CLUSTER_DOMAIN} + - host: loki.devbu.io paths: - path: / pathType: Prefix - tls: - - hosts: - - *host read: - replicas: 2 - affinity: | - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - labelSelector: - matchLabels: - {{- include "loki.writeSelectorLabels" . | nindent 12 }} - topologyKey: kubernetes.io/hostname - persistence: - storageClass: rook-ceph-block - extraVolumeMounts: - - name: rules - mountPath: /rules - extraVolumes: - - name: rules - emptyDir: {} + replicas: 3 write: - replicas: 2 - affinity: | - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - labelSelector: - matchLabels: - {{- include "loki.writeSelectorLabels" . | nindent 12 }} - topologyKey: kubernetes.io/hostname + replicas: 3 persistence: size: 20Gi - storageClass: rook-ceph-block - backend: - replicas: 2 - affinity: | - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - labelSelector: - matchLabels: - {{- include "loki.writeSelectorLabels" . | nindent 12 }} - topologyKey: kubernetes.io/hostname - persistence: - storageClass: rook-ceph-block - extraVolumeMounts: - - name: rules - mountPath: /rules/fake - - name: scratch - mountPath: /tmp/scratch - extraVolumes: - - name: rules - configMap: - name: loki-alerting-rules - - name: scratch - emptyDir: {} - monitoring: - dashboards: - annotations: - grafana_folder: Loki - serviceMonitor: - enabled: false - metricsInstance: - enabled: false - selfMonitoring: - enabled: false - grafanaAgent: - installOperator: false - lokiCanary: - enabled: false - test: + storageClass: openebs-hostpath + sidecar: + image: + repository: ghcr.io/kiwigrid/k8s-sidecar + rules: + searchNamespace: ALL + folder: /rules/fake + lokiCanary: enabled: false - valuesFrom: - - targetPath: loki.structuredConfig.common.storage.s3.bucketnames - kind: ConfigMap - name: loki-bucket - valuesKey: BUCKET_NAME - - targetPath: loki.structuredConfig.common.storage.s3.endpoint - kind: ConfigMap - name: loki-bucket - valuesKey: BUCKET_HOST - - targetPath: loki.structuredConfig.common.storage.s3.access_key_id - kind: Secret - name: loki-bucket - valuesKey: AWS_ACCESS_KEY_ID - - targetPath: loki.structuredConfig.common.storage.s3.secret_access_key - kind: Secret - name: loki-bucket - valuesKey: AWS_SECRET_ACCESS_KEY + test: + enabled: false \ No newline at end of file