Compare / Elastic

Obzly vs Elastic

Elastic Observability runs on Elasticsearch, a search engine, with Kibana as its UI. You can run it yourself on the free Basic tier, where SSO, audit logging and most alert connectors need a paid subscription, or use Elastic Cloud. Obzly stores logs, metrics and traces as Parquet in object storage and has no paid tiers.

Checked 27 October 2026 against Elastic's own docs and pricing. Sources

Which to choose

Choose Obzly if

  • you want every signal in your own object storage without an Enterprise license for searchable snapshots;
  • you want SSO, SCIM, an audit log and alerts to Slack or PagerDuty without a paid subscription;
  • you'd rather run one image than an Elasticsearch cluster with data tiers, Kibana, Fleet Server and agents;
  • you want a built-in MCP server without an Enterprise subscription;
  • Apache 2.0 suits your legal team better than SSPL, AGPLv3 or ELv2.

Choose Elastic if

  • you depend on full-text search across logs: Elasticsearch is a mature search engine, and ES|QL handles ad-hoc analysis;
  • you want built-in machine learning: anomaly detection, log categorisation and forecasting (paid tiers);
  • you need RUM, browser synthetic checks or eBPF continuous profiling (Enterprise), which Obzly doesn't have;
  • you want a managed service: Elastic Cloud Serverless runs in 34 regions across AWS, Azure and GCP;
  • you need SAML or Kerberos, which Obzly doesn't support, or Elastic's large catalogue of integrations and alert connectors.

What you run

To self-host Elastic you run Kibana, Elasticsearch, Agents, Optional, with node disks. Obzly is one image in a few roles, plus Postgres, Valkey and object storage.Elastic, self-managedKibanaUI for every Elastic solutionElasticsearchhot tierwarm tiercold tierfrozen tierAgentsFleet ServerElastic AgentEDOT CollectorOptionalAPM ServerLogstashNode disks · snapshots to S3, GCS or Azure BlobObzlyone imageSERVICE_MODE = all, or one role per deployment:apiworkerbrokerquerierlogs, metrics and traces in one storeplus control-plane for many SitesPostgresValkeyObject storage
Elasticsearch nodes hold data on local disks, split into data tiers. Fleet Server manages Elastic Agents, and self-managed OTLP goes through an EDOT Collector or Elastic Agent gateway. APM Server and Logstash are optional. Obzly runs from one image and writes Parquet to object storage.

Feature by feature

CapabilityObzlySelf-managed (free Basic)Paid tiers / Elastic CloudSource
LicenseApache 2.0, every featureSSPL, AGPLv3 or ELv2; default builds under ELv2Paid features need a subscriptionLicensing FAQ
What you runOne image in up to five roles, Postgres, ValkeyElasticsearch nodes, Kibana, Fleet Server, Elastic Agent or EDOTSame, with ECK or ECE; nothing to run on Elastic CloudDeployFleet Server
StorageZSTD Parquet on S3, GCS, Azure Blob or MinIOIndices on node disks; snapshots to S3, GCS or AzureSearchable snapshots on object storage: EnterpriseSearchable snapshotsServerless differences
OTLP inLogs, metrics and traces, gRPC and HTTPAll three, through an EDOT Collector or Agent you runManaged OTLP endpoint on Elastic CloudManaged OTLPOTLP limitations
Query languagesSearch bar and SQL for logs, PromQL, Jaeger API for tracesES|QL, KQL, Lucene, Query DSL, EQL, SQL, PromQLSameQuery languagesPROMQL command
PrometheusRemote-write ingest and a PromQL APIRemote write 1.0 and PromQL, both GA since 9.5SameRemote writePROMQL command
DashboardsOwn dashboards; imports Grafana layouts, not KibanaKibana; Grafana through a migration CLI, still evolvingSameMigration platform
AlertingWebhook, Slack, PagerDuty, emailRules included; only Server Log and Index connectorsEmail, webhook, Slack, PagerDuty, Teams and moreSubscriptionsConnectors
Synthetic checksHTTP, TLS, TCP, DNS, ICMP from your probes; no browserHTTP, TCP, ICMP and browser from private locationsAdds Elastic's managed locations (Cloud only)Private locationsSubscriptions
Infrastructure inventoryClusters to containers, plus AWS and Azure resourcesHosts, pods, containers and AWS resourcesSameInfrastructure inventory
RUM and profilingNeitherRUM (User Experience); no profilingUniversal Profiling: Enterprise, not on ServerlessUser ExperienceUniversal Profiling
SSOOIDC with any provider; no SAMLNot available in BasicSAML, OIDC, Kerberos, JWT: Platinum or EnterpriseSubscriptionsCloud SAML
SCIMIncludedNot supportedNot supportedCloud SAML
RBAC and audit logPer-project roles, teams, audit log with CSV exportRole-based access; no audit logAudit log Gold and up; none on Serverless yetSubscriptionsServerless differences
MCP serverBuilt in at /mcp, read-onlyNot in Basic; the standalone server is deprecatedAgent Builder MCP server: Enterprise or ServerlessAgent Builder MCPSubscriptionsOld MCP server
Many regionsControl plane in front of many SitesCross-cluster search over remote clustersAdds replication and cross-cluster ES|QL; none on ServerlessCross-cluster searchSubscriptionsPricing
PriceFree; you run the infrastructureFree; you run the infrastructureHosted from $99/month; Serverless per GB; self-managed via salesPricingCloud HostedServerless

Moving from Elastic

  1. Send to both. Add an OTLP exporter for Obzly to your EDOT or OpenTelemetry Collector next to the Elastic one. Collector guide
  2. Keep Prometheus flowing. Add Obzly as a second remote-write target. PromQL and Grafana
  3. Rebuild the dashboards you use. Obzly doesn't import Kibana dashboards. Recreate the panels with PromQL for metrics and search or SQL for logs.
  4. Rewrite alert rules. KQL and ES|QL rules become Obzly log searches or PromQL rules. Connect Slack, PagerDuty, email or a webhook. Alerts
  5. Move uptime monitors. HTTP, TCP and ICMP monitors map to Obzly checks from your own probes, which need a control plane. Browser monitors have no equivalent. Synthetics
  6. Switch off the Elastic cluster once Obzly has your full retention.

Sources

Every Elastic fact on this page comes from its vendor's own pages, read on 27 October 2026. Plan names and prices change; check the linked page before you decide.

Spotted something out of date? Open an issue.