$0/month Observability with qryn
Self-Hosted Observability is not only viable - its the best way to get your stack under control without creating dependencies on cloud services or specific service providers and more importantly - without making your job harder in the process.
We run a cloud service and there's no shame in admitting the overhead cost for customers can become a deal breaker when size and scale grow larger than life.
If you’re trying to migrate off Grafana Cloud/AWS/Datadog/etc this is for you!
⭐ Self-Hosted + All-in-One
Here's our solid opensource recipe you can cook with three simple ingredients:
⭐ qryn: all-in-one polyglot stack
⭐ clickhouse: fast OLAP database
⭐ Opentelemetry: industry standard ingestion
This will get you covered for any Logs, Metrics, Traces and Profiles - at once.
⭐ Oracle Cloud: Always Free?
Hello, Oracle. Now, I'm not their biggest fan but respect where it's due:
The "Always-Free” Oracle Cloud tier generously allows running ARM Ampere A1 instances with 3,000 CPU hours and 18,000 GB hours per month, which affords exactly 4 CPUs and 24GB of RAM with a ~100GB of storage volume. For free. Forever.
Grab a FREE AMPERE ARM64 Instance
First, sign up to Oracle Cloud to gain access to their Always-Free Tier.
Browse to the Compute section and Create a New Instance
Modify the parameters in the Image and Shape section by clicking Edit
Choose an AMPERE shape, and max out the resources:
A few more clicks and you're ready to go. Refer to the Oracle docs for more options!
⭐ Prepare your ARM64 Instance
Once your Ampere instance is ready, install the latest Docker for arm64
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
⭐ Install qryn
The step is magic: use qryn transforms your instance into a polyglot stack!
Our stack natively supports arm64 architecture, so no special actions are needed.
Let’s deploy the full qryn bundle using docker compose
on our brand new host:
$ git clone https://github.com/metrico/qryn-oss-demo
$ cd qryn-oss-demo
$ docker compose up -d
Wait for all services to start and you’re ready to go!
Grafana is included on port 3000 preconfigured with all the qryn datasources, demo dashboards and demo telemetry instantly ready to explore and play with:
⭐ Add Opentelemetry
It’s time to ingest your own data into the system using Opentelemetry.
Opentelemetry is the standard when it comes to observability instrumentation. Paired with qryn it allows methodic ingestion of any telemetry type (Logs, Metrics, Traces, Profiling) using common interfaces compatible with many vendors.
"OTEL" usage = no vendor or tech lock-ins as part of your deployments.
The qryn otel-collector allows ingesting massive amounts of data directly into the bundled ClickHouse instance using the native binary drivers and delivering incredible throughput and speed, easily extensible with object storage.
⭐ Service Ports
The qryn API supports ingestion of several protocols but for our high-performance setup we will leverage the qryn opentelemetry collector for writing into our database.
The following service ports are exposed by the default qryn collector config:
"3200:3100" # Loki/Logql HTTP receiver
"3201:3200" # Loki/Logql gRPC receiver
"8088:8088" # Splunk HEC receiver
"5514:5514" # Syslog TCP Rereceiverceiver
"24224:24224" # Fluent Forward receiver
"4317:4317" # OTLP gRPC receiver
"4318:4318" # OTLP HTTP receiver
"14250:14250" # Jaeger gRPC receiver
"14268:14268" # Jaeger thrift HTTP receiver
"9411:9411" # Zipkin Trace receiver
"11800:11800" # Skywalking gRPC receiver
"12800:12800" # Skywalking HTTP receiver
"8086:8086" # InfluxDB Line proto HTTP
"8062:8062" # Pyroscope jprof Receiver
⭐ Telemetry Agents
You’re ready to choose any of the supported agents and start sending data:
Vector (logs, metrics)
Grafana Agent (logs, metrics, traces)
Alloy (logs, metrics, traces, profiling)
Opentelemetry Collector (logs, metrics, traces, profiling)
Any Agent compatible with the qryn APIs (Loki, Prometheus, Tempo)
That’s it! Your free Polyglot Observability stack is ready to use and abuse!
⭐ Extending Capacity
If the ~100GB of onboard storage run out, attach S3 storage to your setup or take a look at our sponsors at gigapipe and their flat-price qryn observability SaaS
That's it. One API. One datastore. A thousand formats and use cases 🎉
Subscribe to my newsletter
Read articles from Alex Maitland directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by