Features / 12 capabilities, one binary

Observability + product analytics — one box.

Oleus replaces Datadog (metrics, logs, traces, alerting, SIEM, mobile RUM, NPM) and PostHog (product analytics, feature flags, experiments, session replay, heatmaps) in a single binary. Pre-wired with shared auth, one schema, one query layer.

/ 01

Metrics that scale to a billion samples on a $48 box.

PromQL- and MetricsQL-native. Drop-in replacement for Prometheus with 10× cardinality and 7× compression.

PromQL · explore
# requests per second by status, last 5 minutes
sum(rate(http_requests_total[5m]))
  by (status_code, service)
# scanned: 8.2M samples · 42ms · 1.4MB network
  • Query languagePromQL · MetricsQL · SQL via export
  • Ingest formatsPrometheus remote-write · OTLP · InfluxDB · Graphite · CSV
  • Cardinality10M+ active series on a single 4-core node
  • RetentionHot tier: local SSD · cold tier: S3-compatible object store
  • FederationCross-cluster vmselect for global views
  • Migrationoleus import prom backfills from a Prometheus 2.x snapshot
/ 02

SQL-native logs. Year-of-data queries in under a second.

Columnar storage means you can GROUP BY across a billion rows without crying over a $30k bill.

logs · live tail
-- p99 latency per service, last 24h
SELECT service,
      quantile(0.99)(latency_ms) AS p99,
      count() AS req
FROM logs
WHERE ts > now() - INTERVAL 1 DAY
GROUP BY service
ORDER BY p99 DESC;
14,028,191 rows · 0.42s · scanned 2.4 GB
  • Compression10–30× vs. Splunk on equivalent data
  • Ingest formatsOTLP · syslog · journald · Fluent-bit · vector · raw JSON
  • SchemaAuto-inferred or declared. Add fields without migrations.
  • SearchFull-text via tokenbf_v1 indexes · regex · structured
  • RetentionTTL per stream · hot/warm/cold tiering · S3 offload
  • JoinsLogs ↔ metrics ↔ traces by trace_id and service.name
/ 03

Distributed traces. End-to-end correlated.

OTel-native from the ground up. Every span is linked to logs, metrics, and security events sharing the same trace_id.

trace · 7c4e — POST /checkout
api-gateway248ms
↳ auth.verify8ms
↳ orders.create196ms
↳ db.insert158ms
↳ payments.charge72ms
↳ notify.email12ms
  • ProtocolOTLP gRPC · OTLP HTTP · Zipkin · Jaeger thrift
  • SamplingHead-based · tail-based · adaptive (rate-limited per service)
  • RetentionDefault 14d · S3-backed for longer
  • Storage~1KB / span average, indexed by service + operation
  • CorrelationClick any span → tail logs, see metrics, view security events for that trace_id
  • SDKsAuto-instrumentation for Node, Go, Python, Ruby, Java, .NET, Rust
/ 04

PagerDuty-grade routing. Without the bill.

Define alert rules in PromQL. Route by severity, team, or label. Schedule on-call rotations. Open source.

alert lifecycle · firing
1
Rule fires
histogram_quantile(0.99, rate(http_duration_bucket[5m])) > 0.5
2
Grouped & deduped
5 instances of api-gateway rolled into one alert · severity = page
3
Routed to on-call
team = platform · rotation = primary · escalates after 5m
4
Delivered
Slack #alerts · SMS to primary · email to backup
5
Auto-resolved
Below threshold for 2m · clears in all channels · runbook link logged
  • Rule languagePromQL · MetricsQL · ClickHouse SQL (for log-based alerts)
  • RoutingTree-based on labels · grouping · inhibition · silencing
  • SchedulesRotations · overrides · holiday calendars · per-team escalation
  • ChannelsSlack · Discord · email · SMS (Twilio) · webhook · PagerDuty
  • ReliabilityActive-active HA · gossip protocol · zero notification loss across restarts
  • RunbooksMarkdown links per rule · auto-attached to every page
/ 05

Security in the same pane as performance.

Host-based intrusion detection, file integrity monitoring, and CIS-benchmark scanning — sharing infrastructure with your metrics and logs.

security · last 24h
P1
SSH brute-force from 37.x.x.x — 412 attempts on edge-3
rule: 5712 · level 12 · auto-blocked via fail2ban hook
11m ago
P2
File modified — /etc/sudoers on api-1
rule: 553 · FIM · uid=0 · diff captured
2h ago
P2
CVE-2024-3094 detected on db-1 · xz-utils 5.6.0
vuln-detector · CVSS 10.0 · package upgrade pending
5h ago
P3
CIS 1.1.3 — /tmp not on separate partition · api-2
rule: 19501 · CIS Ubuntu 22.04 · finding archived
8h ago
P3
Privileged user logged in outside business hours — deploy
rule: 5901 · level 7 · context-aware
14h ago
  • Detection3,000+ built-in rules · MITRE ATT&CK mapping · custom rules in YARA
  • FIMReal-time file integrity monitoring · diff capture · inotify-based
  • ComplianceCIS · PCI-DSS · HIPAA · GDPR · NIST 800-53 templates
  • Vulnerability scanningCVE database · OSV · per-host package scanning · daily refresh
  • Active responseBlock IP via firewall · kill process · disable user · all scripted
  • Agent footprint~35 MB RAM · <1% CPU · supports Linux, Windows, macOS, AIX, Solaris
/ 06

oleus — your stack, in a pipe.

A 24MB Go binary that talks to the entire platform. Tail logs, run queries, manage alerts, push dashboards — without ever opening a browser.

Single binary · zero dependencies · auto-completion for bash/zsh/fish

oleus CLI · 0.7.2
$ oleus tail --service=api
Live-tail logs across the cluster · grep-friendly · respects --since
$ oleus q 'rate(http[5m])' --range=1h
Run a PromQL query · output JSON, table, or CSV · pipes into jq
$ oleus alerts silence db.lag 30m
Silence noisy alerts for a window · expires automatically · audit-logged
$ oleus dashboards push ./prod.json
GitOps your dashboards · diff-friendly · works with existing Grafana JSON
$ oleus traces show 7c4e
Render a trace as ASCII flame graph · all spans · with duration histogram
$ oleus on-call who --team=platform
Print current on-call · escalation chain · upcoming rotations
$ oleus events --siem --severity=P1
Stream security events · filter by host, rule ID, MITRE technique
$ oleus backup s3://bk/oleus/$(date +%F)
Snapshot all components · streamed to object store · resumable
/ 07

iOS & Android SDKs with zero dependencies.

Drop-in Swift and Kotlin SDKs send RUM events to your own backend. Automatic view lifecycle tracking, network instrumentation, crash reporting, ANR detection, and wireframe session replay — all included.

swift-tools-version: 5.9 · iOS 14+ · Android minSdk 24

iOS · Swift · SPM install
// Package.swift
.package(url: "…/OleusRUM",
  from: "1.0.0")
// AppDelegate.swift
OleusRUM.initialize(
  endpoint: "https://api.internal",
  apiKey: "bsk_live_…")
  • View trackingUIViewController swizzle — automatic, zero code changes
  • Network tracingURLProtocol (iOS) · OkHttp interceptor (Android)
  • Crash reportingNSException + POSIX signals (iOS) · UncaughtExceptionHandler (Android)
  • ANR detectionAndroid watchdog thread — 5s main-thread hang threshold
  • Session replayWireframe snapshots — privacy-safe, no pixel capture
  • BatchingActor-based queue, gzip, retry — no events lost on crash
/ 08

Observability Pipelines Worker — intercept before storage.

A standalone async Python worker that sits between your agents and Oleus. Receives OTLP/HTTP and syslog UDP/TCP, runs a processor chain, and fans out to multiple sinks. Configure via YAML or live remote config from the dashboard.

Runs as a sidecar or dedicated host · exposes Prometheus /metrics · pulls config from Oleus API

config.yaml · pipeline definition
sources:
  - type: otlp_http
  - type: syslog_udp
processors:
  - redact_pii
  - type: sample
    rate: 0.10
  - type: add_field
    env: production
sinks:
  - type: oleus
  - type: s3
    bucket: my-archive
  • SourcesOTLP/HTTP · syslog UDP/TCP (RFC 5424)
  • Processorssample · parse_json · grok · add_field · drop_field · redact_pii · filter
  • SinksOleus ingest · S3-compatible (gzip NDJSON) · webhook · stdout
  • ConfigLocal YAML or live remote config polled from Oleus API
  • ObservabilityPrometheus /metrics endpoint — events_in, events_out, errors
  • DeployDocker image · bare metal · Kubernetes sidecar
/ 09

Network Performance Monitoring — kernel-level, no agent code.

eBPF flow ingest captures per-connection TCP metrics (retransmits, RTT, packet loss) from the kernel. DNS telemetry tracks query latency and NXDOMAIN rates per resolver. Zero application changes. Zero sampling bias.

Stored in ClickHouse · npm_flows + npm_dns_events · retention configurable

NPM · connections dashboard
api → postgresrtt 0.8ms
api → redisrtt 0.3ms
worker → s3rtt 14ms
ingress → apirtt 0.1ms
DNS · p50 lat1.2ms
  • Flow metricsTCP retransmits · RTT · packet loss · bytes in/out per connection
  • DNS telemetryQuery latency · NXDOMAIN rate · per-resolver breakdown
  • IngesteBPF agent POSTs to /v1/npm/flows/ingest and /v1/npm/dns/ingest
  • DashboardsOverview · Connections · Retransmits · DNS — all tabbed
  • Zero-codeKernel eBPF — no library changes, no sidecars in app pods
  • StorageClickHouse MergeTree · configurable retention · columnar compression
/ 10

Product Analytics. Funnels, retention, paths — no warehouse.

Capture any event from browser, mobile, or server SDKs. Query as funnels, retention curves, user paths, or raw SQL. Groups support tracks company-level metrics alongside individual users.

Stored in ClickHouse · shared schema with logs · JS, Swift, Kotlin SDKs

analytics · funnel · checkout flow
Page view12,440
Add to cart8,957
Begin checkout6,842
Payment entered4,976
Order confirmed4,230 · 34%
  • Event captureJS · Swift · Kotlin · Python SDK · HTTP API · auto-capture
  • Analysis typesFunnels · retention · paths · lifecycle · trends · SQL
  • CohortsDefine by property, event, or behaviour · sync to feature flags
  • GroupsCompany-level analytics alongside user-level — same schema
  • NotebooksEmbed charts in Markdown notebooks for shareable analysis
  • Data pipelineForward events to S3, BigQuery, or webhooks via Destinations
/ 11

Feature Flags & Experiments. Ship safely, measure impact.

Server-evaluated flags with boolean, multivariate, and percentage-rollout variants. A/B and multivariate experiments with Bayesian significance built in. Target by cohort, property, group, or release.

Evaluated server-side · SDK polling · Oleus API · linked to analytics events

flags · active · 3 experiments running
# flag definition
key: new_checkout
variants:
  control: 50%
  treatment: 50%
targeting:
  cohort: beta_users
experiment: checkout_v2
  metric: conversion_rate
  • Flag typesBoolean · string · number · JSON — all multivariate
  • RolloutPercentage · user property · cohort · group · release stage
  • ExperimentsA/B · multivariate · Bayesian significance · auto-stop
  • SDKsJS · Swift · Kotlin · Python · Go · Ruby — all server-side evaluated
  • Local evaluationFlags cached locally — zero-latency reads, no network hop
  • Audit logEvery flag change logged with author, timestamp, and diff
/ 12

Session Replay & Heatmaps. See what users actually did.

DOM-capture session replay with console errors and network events attached to every frame. Click, scroll, and rage-click heatmaps aggregated across sessions. In-app surveys for qualitative signal. All stored on your infrastructure.

DOM snapshots · rrweb-compatible · privacy masking built in · linked to analytics events

session replay · #a4f2 · 3m 12s
rage-click
Submit button — 6 clicks in 1.2s · checkout page
element: #submit-order · viewport: 390×844 · iOS Safari
0:48
error
TypeError: Cannot read property 'price' of undefined
console · checkout.js:142 · linked to funnel drop-off
0:51
network
POST /api/orders → 422 Unprocessable Entity
latency 340ms · payload captured (PII masked)
0:52
  • CaptureFull DOM snapshots · mutations · scroll · clicks · network · console
  • PrivacyInput masking · element blocklist · no pixel-level video — GDPR-safe
  • HeatmapsClick · scroll depth · rage-click · per-page or aggregated
  • SurveysIn-app popups · NPS · rating · open-text · cohort or event-triggered
  • LinkingJump from funnel drop-off directly to a replaying session
  • StorageClickHouse blobs · configurable retention · S3 offload for long-term
/ ship it

All twelve capabilities. One curl.