qryn:多语言可观测性
:rocket: 轻量级、多标准、多语言的可观测性栈,用于日志、指标、追踪和性能分析
... 发音为 /ˈkwɪr..ɪŋ/ 或简单地说 querying
- 多语言:一体化,可直接替代 Loki、Prometheus、Tempo、Pyroscope
- 轻量级:由快速的全能 JavaScript 运行时 Bun 和 ClickHouse OLAP 引擎驱动
- 易用:使用稳定且流行的 LogQL、PromQL、TempoQL 语言来_查询和可视化数据_
- 全面:支持 Opentelemetry、Loki、Prometheus、Tempo、Influx、Datadog、Elastic 等多种数据摄取方式
- 多功能:使用 qryn 的内置资源管理器和命令行界面或原生 Grafana 数据源兼容性探索数据
- 安全:使用 ClickHouse、DuckDB 或 InfluxDB IOx 和 S3 对象存储,完全控制数据
- 独立:开源、社区驱动,替代由供应商控制的堆栈,避免锁定
🚀 开始使用
- 使用文档设置和部署 qryn 开源版,并在我们的 Matrix 聊天室获取帮助 :octocat:
- 寻找快速测试的最小化设置?从 qryn-minimal 开始
特性
💡 qryn 独立实现了流行的可观测性标准、协议和查询语言
:eye: 内置资源管理器
qryn 附带 view - 我们的零依赖、轻量级日志、指标和追踪数据资源管理器
➡️ 摄取
📚 OpenTelemetry
⚡ qryn 已正式集成 opentelemetry,支持_任何日志、追踪或指标格式_
摄取的数据可以使用任何可用的 qryn API (LogQL、PromQL、TraceQL) 进行查询
💡 无需修改您的 opentelemetry 工具!
📚 原生
qryn 支持 原生摄取 Loki、Prometheus、Tempo/Zipkin 和_许多其他协议
使用 qryn,用户可以_使用任何受支持的 API 和格式组合推送数据
💡 无需 opentelemetry 或任何其他中间件/代理!
⬅️ 查询
📚 Loki + LogQL
任何 Loki 兼容的客户端或应用程序都可以开箱即用 qryn
⚡ qryn 实现了 Loki API,以实现与 LogQL 客户端的透明兼容
Grafana Loki 数据源可用于原生浏览和查询_日志_并显示提取的_时间序列_
:tada: 无需插件
:eye: 没有 Grafana?没问题!使用 View
📈 Prometheus + PromQL
任何 Prometheus 兼容的客户端或应用程序都可以开箱即用 qryn
⚡ qryn 实现了 Prometheus API,以实现与 PromQL 的透明兼容性,使用 WASM 🏆
Grafana Prometheus 数据源可用于原生查询_指标_并显示_时间序列_
:tada: 无需插件
:eye: 没有 Grafana?没问题!使用 View
🕛 Tempo + TraceQL
⚡ qryn 实现了 Tempo API,以实现与 TraceQL 客户端的透明兼容。
任何 Tempo/Opentelemetry 兼容的客户端或应用程序都可以开箱即用 qryn
Tempo 数据源可用于原生查询_追踪_,包括 TraceQL 并支持_服务图_
:tada: 无需插件
:eye: 没有Grafana?没问题!使用View
🔥 Pyroscope + Phlare
⚡ qryn 实现了 Pyroscope/Phlare API,以实现与 Pyroscope SDK 客户端的透明兼容。
任何 Pyroscope SDK 客户端或兼容 Pyroscope 的代理都可以与 qryn 开箱即用,用于持续分析
📚 供应商兼容性
qryn 可以使用来自 Grafana、InfluxDB、DataDog、Elastic 和其他供应商的格式摄取数据。
使用 qryn 和 grafana,一切都能开箱即用:
- 无需任何插件或扩展的原生数据源支持
- 日志、指标和追踪之间的高级关联
- 服务图表和服务状态面板,以及所有酷炫功能
📚 在 qryn 博客 上关注我们团队的幕后故事
贡献
无论是代码、文档还是语法,我们❤️所有的贡献。不确定从哪里开始?
- 加入我们的 Matrix 频道,向我们提出任何问题。
- 有 PR 或想法吗?请求与我们团队进行会议/代码演练以获得指导。
贡献者
许可证
©️ QXIP BV,根据 GNU Affero 通用公共许可证 v3.0 发布。有关详细信息,请参阅 LICENSE。