随着微服务、AI应用的发展,一个应用每天可能产生数百万条日志、大量数据以及复杂的调用链。为了实现调用链的日志可观测性,你的团队就不得不维护一整套日志体系:
- Elasticsearch + Kibana 负责日志
- Prometheus + Grafana 负责指标
- Jaeger 或 Tempo 负责链路追踪
- Alertmanager 负责告警
上面整套架构不仅部署复杂,运维成本也越来越高。OpenObserve 则提供了用一个平台统一了日志、指标、链路追踪、前端监控和告警等能力,并官方宣称相比 Elasticsearch 最高可降低 140 倍存储成本 。
OpenObserve 是啥
OpenObserve 是一款基于 Rust 开发的开源可观测平台,功能包含:日志收集、指标图表、链路追踪、仪表盘、告警、数据处理、前端监控、人工智能观测。
目前已经获得近 20K Star,支持从单机部署扩展到 PB 级数据规模。官方描述为 Datadog、Splunk 和 Elasticsearch 的开源替代方案。
快速部署
Docker 部署
注意:密码必须为8到128个字符,且至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符。
docker run -d \--name openobserve \-p 5080:5080 \-e ZO_ROOT_USER_EMAIL="你的邮箱" \-e ZO_ROOT_USER_PASSWORD="你的密码" \-v ~/openobserve/data:/data \public.ecr.aws/zinclabs/openobserve:latest
验证
# 健康检查
curl http://localhost:5080/healthz
浏览器打开 http://localhost:5080,输入你设置的邮箱、密码进行登录。
数据接入
除 HTTP API 外,还支持 OpenTelemetry、Fluent Bit、Vector 等多种采集方式,很方便地接入现有监控体系。
HTTP API
最常用的方式则是采用 HTTP API 直接推送日志。
curl -u 你的邮箱:你的Token令牌 \
-k http://localhost:5080/api/default/default/_json \
-d "[{\"level\":\"info\",\"job\":\"test\",\"log\":\"test message for openobserve\"}]"

功能介绍
日志管理
除了传统全文检索外,还支持 SQL 查询和多条件过滤,面对大量日志时,能够更快定位异常请求和错误原因。

分布式追踪
基于 OpenTelemetry,支持完整调用链分析,并提供 Flame Graph、Gantt 图等可视化能力,方便排查微服务性能瓶颈。

前端监控
通过性能跟踪、错误日志记录和会话回放,实现真实用户监控,准确了解用户体验。

仪表盘
内置丰富图表类型,可以自由拖拽构建 Dashboard,并针对日志、指标、Trace 配置统一告警。

告警
支持日志、指标、链路追踪等多种遥测数据统一告警,可自定义阈值和通知方式,结合异常检测与告警历史,可快速发现和定位问题。

写在最后
随着可观测平台不断演化,简单、高效、一体化正成为新的趋势。OpenObserve 凭借轻量部署方式和低存储成本,为日志、指标和链路追踪提供了全新的解决方案。
对于想摆脱 ELK 全家桶、降低监控系统维护成本的团队来说,OpenObserve 成为值得你关注的开源项目。
