青蛙小白
目录

Loki

部署

部署模式

loki的helm chart的values.yaml中的deploymentMode配置部署模式。

有 3 种选项:

  • SingleBinary:Loki 作为单一二进制文件部署,适用于小型安装,通常没有高可用性,支持每天几十 GB 的数据。
  • SimpleScalable(默认值):Loki 作为3个目标部署:读取(loki-read)、写入(loki-write)和后端(loki-backend)。适用于中型安装,比分布式部署更易于管理,支持每天约1TB的数据。
  • Distributed:Loki作为独立的微服务部署。最复杂但功能最强,适用于大型安装,通常超过每天1TB的数据。

还有 2 种附加模式,用于在部署模式之间迁移:

  • SingleBinary<->SimpleScalable:从SingleBinary迁移到 SimpleScalable(或反向迁移)
  • SimpleScalable<->Distributed:从SimpleScalable迁移到 Distributed(或反向迁移)

注意:SimpleScalable 和 Distributed 要求使用对象存储。

SimpleScalable部署

定制的values.yaml:

imagePullSecrets:
  - name: regsecret

minio:
  enabled: false

lokiCanary:
  enabled: false
resultsCache:
  enabled: false
chunksCache:
  enabled: false

loki:
  image:
    registry: registry.frognew.com
    repository: library/grafana/loki
  storage:
    bucketNames:
      chunks: loki-chunks
      ruler: loki-ruler
      admin: loki-admin
    type: s3
    s3:
      endpoint: http://rook-ceph-rgw-ceph-object-store.rook-ceph.svc.cluster.local:80
      region: unknown
      accessKeyId: <accessKeyId>
      secretAccessKey: <secretAccessKey>
      s3ForcePathStyle: true
      insecure: false
  compactor:
    delete_request_store: s3
    compaction_interval: 10m
    retention_enabled: true
    retention_delete_delay: 2h
    retention_delete_worker_count: 150
  limits_config:
    max_cache_freshness_per_query: 10m
    reject_old_samples: true
    reject_old_samples_max_age: 1w
    split_queries_by_interval: 15m
    retention_period: 365d
  tenants:
    - name: <tenants-name>
      password: <tenants-password>
  analytics:
    reporting_enabled: false

  schemaConfig:
    configs:
      # https://grafana.com/docs/loki/latest/operations/storage/tsdb/
      - from: 2024-05-14
        store: tsdb
        object_store: s3
        schema: v13
        index:
          prefix: loki_index_
          period: 24h
  storage_config:
    hedging:
      at: 250ms
      max_per_second: 20
      up_to: 3

gateway:
  enabled: false

read:
  replicas: 3
write:
  replicas: 3
  persistence:
    size: 50Gi
    storageClass: local-storage
backend:
  replicas: 3
  persistence:
    size: 50Gi
    storageClass: local-storage

test:
  enabled: false

ingress:
  enabled: false

monitoring:
  dashboards:
    enabled: false
  rules:
    enabled: false
  serviceMonitor:
    enabled: false
  selfMonitoring:
    enabled: false
    grafanaAgent:
      installOperator: false
  lokiCanary:
    enabled: false

sidecar:
  rules:
    enabled: false

更多关于SimpleScalable部署的内容,可参考“Grafana Loki笔记02: 使用Helm安装Loki”

SingleBinary部署

values.yaml:

imagePullSecrets:
  - name: regsecret

minio:
  enabled: false

lokiCanary:
  enabled: false
resultsCache:
  enabled: false
chunksCache:
  enabled: false

loki:
  image:
    registry: registry.frognew.com
    repository: library/grafana/loki
  storage:
    bucketNames:
      chunks: loki-chunks
      ruler: loki-ruler
      admin: loki-admin
    type: s3
    s3:
      endpoint: http://rook-ceph-rgw-ceph-object-store.rook-ceph.svc.cluster.local:80
      region: unknown
      accessKeyId: <accessKeyId>
      secretAccessKey: <secretAccessKey>
      s3ForcePathStyle: true
      insecure: false
  compactor:
    delete_request_store: s3
    compaction_interval: 10m
    retention_enabled: true
    retention_delete_delay: 2h
    retention_delete_worker_count: 150
  limits_config:
    max_cache_freshness_per_query: 10m
    reject_old_samples: true
    reject_old_samples_max_age: 1w
    split_queries_by_interval: 15m
    retention_period: 365d
  tenants:
    - name: <tenant-name>
      password: <tenant-password>
  analytics:
    reporting_enabled: false
  commonConfig:
    replication_factor: 1
  schemaConfig:
    configs:
      # https://grafana.com/docs/loki/latest/operations/storage/tsdb/
      - from: 2024-05-14
        store: tsdb
        object_store: s3
        schema: v13
        index:
          prefix: loki_index_
          period: 24h
  ingester:
    chunk_encoding: snappy
  tracing:
    enabled: true
  querier:
    # Default is 4, if you have enough memory and CPU you can increase, reduce if OOMing
    max_concurrent: 2
  storage_config:
    hedging:
      at: 250ms
      max_per_second: 20
      up_to: 3

gateway:
  enabled: false

deploymentMode: SingleBinary
singleBinary:
  replicas: 1
  resources:
    limits:
      cpu: 3
      memory: 2Gi
    requests:
      cpu: 500m
      memory: 500Mi
  extraEnv:
    # Keep a little bit lower than memory limits
    - name: GOMEMLIMIT
      value: 1875MiB

# Zero out replica counts of other deployment modes
backend:
  replicas: 0
read:
  replicas: 0
write:
  replicas: 0

ingester:
  replicas: 0
querier:
  replicas: 0
queryFrontend:
  replicas: 0
queryScheduler:
  replicas: 0
distributor:
  replicas: 0
compactor:
  replicas: 0
indexGateway:
  replicas: 0
bloomCompactor:
  replicas: 0
bloomGateway:
  replicas: 0

test:
  enabled: false

ingress:
  enabled: false

monitoring:
  dashboards:
    enabled: false
  rules:
    enabled: false
  serviceMonitor:
    enabled: false
  selfMonitoring:
    enabled: false
    grafanaAgent:
      installOperator: false
  lokiCanary:
    enabled: false

sidecar:
  rules:
    enabled: false

Archives

评论