5.8 KiB
5.8 KiB
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 数据
快速开始
-
复制环境变量示例文件:
cp .env.example .env -
编辑
.env并配置:ZO_ROOT_USER_EMAIL:管理员邮箱(修改默认值)ZO_ROOT_USER_PASSWORD:管理员密码(修改默认值,最少 8 个字符且包含特殊字符)OPENOBSERVE_PORT_OVERRIDE:Web UI 端口(默认:5080)
-
启动 OpenObserve:
docker compose up -d -
访问 Web UI:
http://localhost:5080 -
使用配置的凭据登录
配置说明
基础配置
| 环境变量 | 说明 | 默认值 |
|---|---|---|
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 时不使用)
安全注意事项
- 修改默认凭据:在生产环境中务必修改
ZO_ROOT_USER_EMAIL和ZO_ROOT_USER_PASSWORD - 密码要求:使用强密码,至少 8 个字符且包含特殊字符
- 网络安全:生产部署时考虑使用带 TLS 的反向代理
- S3 凭据:安全存储 S3 凭据,在可能的情况下考虑使用 IAM 角色
- 数据不可变性:所有采集的数据在设计上都是不可变的,以满足审计合规要求
升级
升级到新版本:
-
在
.env中更新OPENOBSERVE_VERSION -
拉取新镜像并重启:
docker compose pull docker compose up -d
OpenObserve 会自动处理模式迁移,无需手动步骤。
企业版功能
企业版包含:
- 单点登录(SSO):OIDC、OAuth、SAML、LDAP/AD
- 高级 RBAC:基于角色的访问控制与自定义角色
- 审计跟踪:不可变审计日志
- 联合搜索:跨多个集群查询
- 敏感数据脱敏:自动 PII 脱敏
- 带 SLA 保证的优先支持
详情请参见价格页面。
许可证
- 开源版:AGPL-3.0
- 企业版:商业许可证
相关链接
支持
- 通过 Slack 获得社区支持
- GitHub Issues
- GitHub Discussions
- 商业许可证提供企业支持