Unified Ingest
同一管线吃下 OTLP、Prometheus 抓取与结构化日志,字段自动归一,不用维护三套采集器。One pipeline for OTLP, Prometheus scrapes and structured logs. Fields are normalised automatically — no three collectors to babysit.
Rust 内核 · Apache-2.0 · 生产可用 Rust core · Apache-2.0 · Production ready
VYQON 把 trace、metric、log 收进同一个内核,编译成单个二进制。冷启动 3ms,常驻内存 18MB,在任何边缘节点上都能跑。 VYQON unifies traces, metrics and logs in one Rust core, shipped as a single binary. 3ms cold start, 18MB resident — it runs on any edge node.
curl -fsSL https://vyqon.me/install.sh | sh
// 01
传统可观测性栈把采集、传输、存储拆成三个进程、四种协议、五份配置。你在中心机房调好的一切,搬到边缘就会因为内存和冷启动而全线崩塌。VYQON 的出发点是:边缘不是数据中心的缩小版。 Classic stacks split collection, transport and storage into three processes, four protocols and five config files. Everything tuned for a central datacenter collapses at the edge on memory and cold start. VYQON starts from one premise: the edge is not a small datacenter.
所以我们把三个职责压进一个内核,用 Rust 写成零依赖二进制:没有 sidecar,没有 agent 编排,没有“先把数据发到中心再想怎么存”。采样、聚合、降维在数据产生的那台机器上就完成。 So we compressed all three into one core and wrote it as a dependency-free Rust binary: no sidecar, no agent orchestration, no “ship everything to the centre and figure out storage later”. Sampling, aggregation and reduction happen on the machine where the data is born.
// 02
同一管线吃下 OTLP、Prometheus 抓取与结构化日志,字段自动归一,不用维护三套采集器。One pipeline for OTLP, Prometheus scrapes and structured logs. Fields are normalised automatically — no three collectors to babysit.
基于规则的头部/尾部采样在本地执行,错误链路 100% 保留,正常链路按预算砍。Rule-driven head and tail sampling runs locally: 100% of error traces kept, healthy traffic trimmed to budget.
本地 WAL + 背压感知的重放器。出口断 6 小时,数据一条不丢,也不会把磁盘写爆。A local WAL with a back-pressure aware replayer. Six hours of egress outage loses nothing and never fills the disk.
内建 PromQL 子集与流式告警规则,规则热加载,不需要额外的 Alertmanager。A PromQL subset plus streaming alert rules, hot-reloaded — no separate Alertmanager.
用任意能编译到 WASM 的语言写处理器,沙箱隔离、毫秒级加载,升级不用重启进程。Write processors in any language that targets WASM. Sandboxed, millisecond loads, no process restart to upgrade.
mTLS 双向认证、按租户的密钥隔离、审计日志。CDN 级默认安全,不用额外加层。Mutual TLS, per-tenant key isolation, audit logging. Secure defaults out of the box rather than an extra layer to bolt on.
// 03
数据从产生到落地只经过一次内存拷贝。中间任何一段掉线,都不会让上游阻塞。 From producer to storage the data is copied once. Any segment going down never blocks upstream.
[[pipeline]]
name = "edge"
listen = "0.0.0.0:4317"
protocols = ["otlp", "prometheus"]
[pipeline.sample]
mode = "tail"
keep_on = ["status=error", "duration>500ms"]
budget = 0.15
[buffer]
wal_dir = "/var/lib/vyqon/wal"
max_size = "2GiB"
[[exporter]]
type = "s3"
bucket = "vyqon-cold"
compress = "zstd"
#[vyqon::plugin]
fn on_span(mut s: Span) -> Action {
// 给每条 trace 打上发布标记
s.tag("release", env!("GIT_SHA"));
// 内部健康检查不进存储
if s.name.starts_with("healthz") {
return Action::Drop;
}
Action::Keep(s)
}
// 04
4 vCPU / 8GB 边缘节点,持续注入 1.2M spans/s,对比同机部署的主流采集器。数字越小越好。 4 vCPU / 8GB edge node, 1.2M spans/s sustained, compared against mainstream collectors on identical hardware. Lower is better.
复现脚本与原始数据在仓库 bench/ 目录,MIT 许可,欢迎自行复测。
Reproduction scripts and raw data live in bench/, MIT licensed. Re-run it yourself.
// 05
curl -fsSL https://vyqon.me/install.sh | sh
vyqon init --config vyqon.toml
vyqon serve
# 另开一个终端看看数据进来了没
vyqon top
docker run -d --name vyqon \
-p 4317:4317 -p 4318:4318 \
-v $PWD/vyqon.toml:/etc/vyqon/vyqon.toml:ro \
-v vyqon-wal:/var/lib/vyqon/wal \
ghcr.io/vyqon/vyqon:0.9.4
helm repo add vyqon https://charts.vyqon.me
helm upgrade --install vyqon vyqon/vyqon \
--namespace observability --create-namespace \
--set daemonset.enabled=true \
--set buffer.maxSize=2Gi
// 06
curl -fsSL https://vyqon.me/install.sh | sh
Apache-2.0 许可 · 由社区维护 · 不设商业版Apache-2.0 · community maintained · no commercial edition