bitnamicharts/grafana-lokiGrafana Loki 是一个水平可扩展、高可用的多租户日志聚合系统,专为云原生环境设计。它采用"标签化日志"模式,优化了存储和查询效率,支持实时日志处理和持久化到对象存储。Bitnami 提供的 Grafana Loki 镜像将其打包为容器化应用,简化了在 Kubernetes 或独立 Docker 环境中的部署和管理,适用于开发、测试及生产环境。
bashdocker run -d \ --name grafana-loki \ -p 3100:3100 \ -e LOKI_CONFIG_FILE=/opt/bitnami/grafana-loki/conf/loki.yaml \ bitnami/grafana-loki:latest
bashdocker run -d \ --name grafana-loki \ -p 3100:3100 \ -v $(pwd)/loki.yaml:/opt/bitnami/grafana-loki/conf/loki.yaml \ bitnami/grafana-loki:latest
yamlversion: '3.8' services: loki: image: bitnami/grafana-loki:latest container_name: grafana-loki ports: - "3100:3100" # HTTP API 端口 - "9095:9095" # gRPC 端口 environment: - LOKI_CONFIG_FILE=/opt/bitnami/grafana-loki/conf/loki.yaml - LOG_LEVEL=info volumes: - ./loki.yaml:/opt/bitnami/grafana-loki/conf/loki.yaml - loki-data:/bitnami/grafana-loki # 持久化数据目录(仅建议开发环境) restart: unless-stopped volumes: loki-data:
bashhelm install my-loki oci://registry-1.docker.io/bitnamicharts/grafana-loki
bashhelm install my-loki oci://registry-1.docker.io/bitnamicharts/grafana-loki \ --set memcached.enabled=false \ --set externalMemcached.host=my-memcached-host \ --set externalMemcached.port=*** \ --set loki.configuration.storage_config.azure.account_name=myaccount \ --set loki.configuration.storage_config.azure.account_key=mykey \ --set loki.configuration.storage_config.azure.container_name=loki-data
Loki 配置通过 loki.yaml 文件定义,支持全局配置及各组件(分发器、压缩器、摄取器等)的精细化设置。示例配置片段:
yamlauth_enabled: false server: http_listen_port: 3100 grpc_listen_port: 9095 limits_config: retention_period: 72h max_query_length: 72h storage_config: azure: account_name: "myaccount" account_key: "mykey" container_name: "loki-data" schema_config: configs: - from: 2023-01-01 store: azure object_store: azure schema: v13 index: prefix: index_ period: 24h
配置文件需挂载到容器内 /opt/bitnami/grafana-loki/conf/loki.yaml 路径,或通过 Helm 参数 loki.configuration 注入。
通过环境变量可覆盖默认配置,常用变量如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
LOKI_CONFIG_FILE | 配置文件路径 | /opt/bitnami/grafana-loki/conf/loki.yaml |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
HTTP_LISTEN_PORT | HTTP 服务端口 | 3100 |
GRPC_LISTEN_PORT | gRPC 服务端口 | 9095 |
生产环境必须使用对象存储(如 S3、GCS、Azure Blob)。本地文件系统仅建议用于开发/测试,此时查询功能受限(依赖摄取器内存缓存)。
容器内数据存储路径为 /bitnami/grafana-loki(主要用于摄取器临时数据),可通过持久卷(PV)挂载持久化。生产环境中,长期数据需配置对象存储后端(见配置文件 storage_config 部分)。
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 镜像仓库地址 | docker.io |
global.imagePullSecrets | 镜像拉取密钥列表 | [] |
global.security.allowInsecureImages | 是否允许不安全镜像 | false |
| 参数名 | 描述 | 默认值 |
|---|---|---|
loki.image.repository | 镜像仓库路径 | bitnami/grafana-loki |
loki.image.tag | 镜像标签 | latest |
loki.configuration | Loki 配置内容(YAML 格式) | ""(使用默认配置) |
loki.containerPorts.http | HTTP 服务端口 | 3100 |
loki.containerPorts.grpc | gRPC 服务端口 | 9095 |
| 组件 | 参数名 | 描述 | 默认值 |
|---|---|---|---|
| Compactor | compactor.enabled | 是否启用压缩器 | true |
| Compactor | compactor.replicaCount | 副本数 | 1 |
| Ingester | ingester.enabled | 是否启用摄取器 | true |
| Ingester | ingester.replicaCount | 副本数 | 3 |
| Querier | querier.enabled | 是否启用查询器 | true |
| 参数名 | 描述 | 默认值 |
|---|---|---|
memcached.enabled | 是否启用内置 Memcached(缓存) | true |
externalMemcached.host | 外部 Memcached 主机地址(当 memcached.enabled=false 时生效) | "" |
externalMemcached.port | 外部 Memcached 端口 | *** |
自 2025 年 8 月 28 日起,Bitnami 公共镜像仓库将升级为 Bitnami Secure Images 计划,主要变更:
latest 标签(用于开发)。2.50.0)将迁移至 docker.io/bitnamilegacy 仓库,不再更新。生产环境建议:采用 Bitnami Secure Images,获取长期支持、CVE 透明度及企业级安全加固。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务