Files
compose-anything/apps/openobserve/README.zh.md
2026-01-18 23:48:30 +08:00

5.8 KiB
Raw Blame History

OpenObserve

OpenObserve 是一个专为日志、指标、追踪、分析等构建的云原生可观测平台。与 Elasticsearch、Splunk 和 Datadog 等传统可观测解决方案相比,它提供了 10 倍更简单的部署、140 倍更低的存储成本和高性能。

功能特性

  • 统一可观测性日志、指标、追踪和前端监控RUM集成在单一平台
  • 成本效益:通过 Parquet 列式存储和 S3 原生架构,存储成本比 Elasticsearch 低 140 倍
  • 高性能:查询性能优于 Elasticsearch同时仅使用 1/4 的硬件资源
  • 单一二进制:从可扩展至 TB 级的单一二进制开始,或部署高可用模式以处理 PB 级工作负载
  • 易于使用:无需复杂调优,直观的 UI支持 SQL 和 PromQL
  • OpenTelemetry 原生:内置 OTLP 日志、指标和追踪采集
  • 灵活存储支持本地磁盘、S3、MinIO、GCS 或 Azure Blob 存储
  • 生产就绪:全球数千个部署,最大部署每天处理 2 PB 数据

快速开始

  1. 复制环境变量示例文件:

    cp .env.example .env
    
  2. 编辑 .env 并配置:

    • ZO_ROOT_USER_EMAIL:管理员邮箱(修改默认值)
    • ZO_ROOT_USER_PASSWORD:管理员密码(修改默认值,最少 8 个字符且包含特殊字符)
    • OPENOBSERVE_PORT_OVERRIDEWeb UI 端口默认5080
  3. 启动 OpenObserve

    docker compose up -d
    
  4. 访问 Web UIhttp://localhost:5080

  5. 使用配置的凭据登录

配置说明

基础配置

环境变量 说明 默认值
OPENOBSERVE_VERSION OpenObserve 镜像版本 v0.50.0
OPENOBSERVE_PORT_OVERRIDE Web UI 端口 5080
ZO_ROOT_USER_EMAIL 根用户邮箱 root@example.com
ZO_ROOT_USER_PASSWORD 根用户密码 Complexpass#123
ZO_DATA_DIR 容器内数据目录 /data

S3 对象存储(可选)

对于生产部署,配置兼容 S3 的对象存储:

环境变量 说明
ZO_S3_BUCKET_NAME S3 存储桶名称
ZO_S3_REGION_NAME S3 区域
ZO_S3_ACCESS_KEY S3 访问密钥
ZO_S3_SECRET_KEY S3 密钥

配置 S3 后OpenObserve 将使用它进行数据存储,而不是本地卷。

资源限制

根据工作负载调整 CPU 和内存限制:

环境变量 说明 默认值
OPENOBSERVE_CPU_LIMIT 最大 CPU 核心数 2.0
OPENOBSERVE_CPU_RESERVATION 预留 CPU 核心数 0.5
OPENOBSERVE_MEMORY_LIMIT 最大内存 2G
OPENOBSERVE_MEMORY_RESERVATION 预留内存 512M

数据采集

OpenObserve 支持多种采集方式:

OpenTelemetry (OTLP)

发送 OTLP 数据到 http://localhost:5080/api/default/ 并进行身份验证。

通过 HTTP 采集日志

curl -u root@example.com:Complexpass#123 \
  -H "Content-Type: application/json" \
  http://localhost:5080/api/default/logs/_json \
  -d '[{"message": "Hello OpenObserve", "level": "info"}]'

Prometheus 远程写入

配置 Prometheus 使用 OpenObserve 作为远程写入目标。

更多采集方法请参见官方文档

架构

OpenObserve 通过以下方式实现其性能和成本效率:

  • Parquet 列式存储:高效压缩和查询性能
  • S3 原生设计:利用廉价对象存储与智能缓存
  • Rust 构建:内存安全、高性能实现
  • 智能分区和索引:大多数查询可将搜索空间减少高达 99%
  • 无状态架构:支持快速扩展和灾难恢复

数据卷

  • openobserve_data:使用本地磁盘存储时存储所有数据(配置 S3 时不使用)

安全注意事项

  1. 修改默认凭据:在生产环境中务必修改 ZO_ROOT_USER_EMAILZO_ROOT_USER_PASSWORD
  2. 密码要求:使用强密码,至少 8 个字符且包含特殊字符
  3. 网络安全:生产部署时考虑使用带 TLS 的反向代理
  4. S3 凭据:安全存储 S3 凭据,在可能的情况下考虑使用 IAM 角色
  5. 数据不可变性:所有采集的数据在设计上都是不可变的,以满足审计合规要求

升级

升级到新版本:

  1. .env 中更新 OPENOBSERVE_VERSION

  2. 拉取新镜像并重启:

    docker compose pull
    docker compose up -d
    

OpenObserve 会自动处理模式迁移,无需手动步骤。

企业版功能

企业版包含:

  • 单点登录SSOOIDC、OAuth、SAML、LDAP/AD
  • 高级 RBAC基于角色的访问控制与自定义角色
  • 审计跟踪:不可变审计日志
  • 联合搜索:跨多个集群查询
  • 敏感数据脱敏:自动 PII 脱敏
  • 带 SLA 保证的优先支持

详情请参见价格页面

许可证

  • 开源版AGPL-3.0
  • 企业版:商业许可证

相关链接

支持