Logstash 是一款开源数据处理引擎,能够实时从多个来源摄入数据、进行转换处理并将结果输出到指定目的地。作为 ELK (Elasticsearch, Logstash, Kibana) 技术栈的核心组件,它主要用于日志聚合、数据转换和实时数据流处理。Bitnami 提供的 Logstash 镜像经过优化,支持在 Kubernetes 环境中通过 Helm 包管理器快速部署,同时提供安全加固选项和灵活的配置能力。
Logstash ***概述
商标说明:本软件列表由 Bitnami 打包,所提及的商标归各自公司所有,使用不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/logstash
生产环境建议使用 VMware Tanzu Application Catalog(Bitnami 目录商业版)获取长期支持。
自 2025 年 8 月 28 日起,Bitnami 将启动 Bitnami Secure Images 计划,对公共镜像目录进行重大调整:
docker.io/bitnami 迁移至 docker.io/bitnamilegacy 仓库,且不再更新更多详情参见 Bitnami Secure Images 公告。
使用以下命令安装默认配置的 Logstash Chart,发布名称为 my-release:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/logstash
替换占位符:
REGISTRY_NAME为镜像仓库(如registry-1.docker.io),REPOSITORY_NAME为存储库(如bitnamicharts)。
console# 列出 Helm 发布 helm list # 检查 Pod 状态 kubectl get pods -l app.kubernetes.io/name=logstash # 查看 Logstash 日志 kubectl logs -f <logstash-pod-name>
通过 resources 参数设置容器资源请求和限制,生产环境建议显式配置:
yamlresources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
也可使用
resourcesPreset参数选择预设配置(仅推荐开发环境)。
支持多种服务暴露方式,通过 service.type 配置:
ClusterIP(默认):仅集群内访问
yamlservice: type: ClusterIP port: 8080
NodePort:节点端口暴露
yamlservice: type: NodePort nodePort: 30080
Load***:云厂商负载均衡器
yamlservice: type: Load*** load***IP: "x.y.z.w"
Ingress:HTTP/HTTPS 路由
yamlingress: enabled: true hostname: logstash.example.com tls: true
通过 input、filter 和 output 参数直接定义处理流程:
yamlinput: | beats { port => 5044 } filter: | grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } output: | elasticsearch { hosts => ["elasticsearch:9200"] index => "logstash-%{+YYYY.MM.dd}" } stdout { codec => rubydebug }
使用现有 ConfigMap 挂载配置(优先级高于上述参数):
yamlexistingConfiguration: "my-logstash-config"
ConfigMap 需包含 Logstash 配置文件(如 logstash.conf):
bashkubectl create configmap my-logstash-config --from-file=logstash.conf
启用多管道支持需设置 enableMultiplePipelines: true 并提供 pipelines.yml 配置:
创建包含多管道配置的 ConfigMap:
bash# 创建配置文件 cat > pipelines.yml <<EOF - pipeline.id: access_logs path.config: "/opt/bitnami/logstash/config/access.conf" - pipeline.id: error_logs path.config: "/opt/bitnami/logstash/config/error.conf" EOF cat > access.conf <<EOF input { tcp { port => 5000 } } output { elasticsearch { index => "access-%{+YYYY.MM.dd}" } } EOF cat > error.conf <<EOF input { tcp { port => 5001 } } output { elasticsearch { index => "error-%{+YYYY.MM.dd}" } } EOF # 创建 ConfigMap kubectl create cm logstash-multipipeline --from-file=pipelines.yml --from-file=access.conf --from-file=error.conf
部署启用多管道:
bashhelm install logstash bitnamicharts/logstash \ --set enableMultiplePipelines=true \ --set existingConfiguration=logstash-multipipeline
通过以下方式注入环境变量:
直接定义:
yamlextraEnvVars: - name: ELASTICSEARCH_USER value: "logstash_user"
从 Secret 注入:
yamlextraEnvVarsSecret: "logstash-secrets" # 包含 ELASTICSEARCH_PASSWORD 等密钥
从 ConfigMap 注入:
yamlextraEnvVarsCM: "logstash-env" # 包含非敏感配置
Logstash 数据默认存储在 /bitnami/logstash/data,通过 PVC 持久化:
yamlpersistence: enabled: true storageClass: "standard" size: 10Gi path: "/bitnami/logstash/data"
设置
persistence.enabled: false可禁用持久化(仅推荐开发环境)。
| 参数名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局镜像仓库地址 | "" |
global.imagePullSecrets | 镜像拉取密钥数组 | [] |
global.defaultStorageClass | 默认存储类 | "" |
global.security.allowInsecureImages | 允许不安全镜像 | false |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
image.registry | 镜像仓库 | docker.io |
image.repository | 镜像名称 | bitnami/logstash |
image.tag | 镜像标签 | latest |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
enableMonitoringAPI | 启用监控 API | true |
monitoringAPIPort | 监控 API 端口 | 9600 |
input | 输入插件配置 | "" |
filter | 过滤插件配置 | "" |
output | 输出插件配置 | "" |
enableMultiplePipelines | 启用多管道支持 | false |
existingConfiguration | 外部配置 ConfigMap 名称 | "" |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
resources.requests.cpu | CPU 请求 | 250m |
resources.requests.memory | 内存请求 | 256Mi |
service.type | 服务类型 | ClusterIP |
service.port | 服务端口 | 8080 |
ingress.enabled | 启用 Ingress | false |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
persistence.enabled | 启用持久化 | true |
persistence.storageClass | 存储类 | "" |
persistence.size | 存储大小 | 8Gi |
persistence.path | 数据存储路径 | /bitnami/logstash/data |
使用 Velero 工具进行备份和恢复:
bashvelero backup create logstash-backup --include-resources=pvc,pv --selector app.kubernetes.io/name=logstash
bashvelero restore create --from-backup logstash-backup
详细步骤参见 Bitnami 备份指南
docker.io/bitnamilegacy 仓库,不再更新logstash -t 验证配置语法正确性完整文档参见 Bitnami Logstash Chart 仓库

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429