๐Ÿ“ฆ Tiny Observability

๐Ÿ“ฆ Tiny Observability

qryn + clickhouse on arm64/aarch64

ยท

2 min read

War of Giants

There are quite a few amazing benchmarks out there where popular observability giants fight each other with more and less probable cloud scenarios scaling with 7,000 CPU cores and 30 TiB of RAM. Don't try to imagine the costs involved - AWS might charge a penny for your thoughts! ๐Ÿ’ต

What about tiny setups?

Most observability systems are ultimately designed for the cloud - their own, usually - and while excelling at war games, they often neglect the low-fi hackers trying to run everything on their arm cardboard servers for fun and to push the low end limits.

Our platform targets both mega and micro deployments, through the lightweight qryn JS version designed to run anywhere, including low power resources ๐Ÿš€

We test on Deta Micros, Glitch Projects, Dynos, Edge workers... and Raspberries!

Let's Install the complete qryn stack on aarch64 platforms

Requirements

  • RaspberryPi 4 or clone (aarch64)
  • ARMv8 64-Bit OS (DietPI or Raspbian)

Stack Components

  • qryn-js
  • nodejs 16.x
  • clickhouse 22.x arm64
  • grafana 9.x

Install Procedure

Install ClickHouse (aarch64)

Install ClickHouse and define the default user password

curl -O 'https://builds.clickhouse.com/master/aarch64/clickhouse' && chmod a+x ./clickhouse
./clickhouse install

Start the ClickHouse service:

sudo clickhouse start

Install NodeJS (aarch64)

Install nodejs 16 using the official installation script

curl -sSL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt install -y nodejs

Install qryn

Install qryn using the chosen ClickHouse password

npm install -g qryn @pastash/pastash @pastash/output_loki
CLICKHOUSE_AUTH="default:password" \ 
CLICKHOUSE_SERVER="localhost" \
CLICKHOUSE_DB="qryn" \
pm2 start qryn --name "qryn"

Install Grafana (aarch64)

We're now ready to install Grafana using the arm64 builds

wget https://dl.grafana.com/oss/release/grafana_9.1.6_arm64.deb
sudo dpkg -i grafana_9.1.6_arm64.deb

Configure Grafana

Configure Grafana to use qryn as the datasource for Loki, Prometheus and Tempo

Since everything is local, we'll use localhost:3100 as the target for all of them

image

For more details, please refer to our full provisioning example

That's it! You are ready to start qryn ๐ŸŽ‰

TLDR

That's alright! The above procedure is available as a shell script

Next Steps

It's now time for ingesting and querying your logs, metrics and traces using our general documentation and examples.

Have fun and feel free to share your experience with our community!

image

Did you find this article valuable?

Support qryn by becoming a sponsor. Any amount is appreciated!

ย