u/LikeableGeek

Image 1 —
Image 2 —
Image 3 —

Hi everyone ...

I wanted to share a small tool I've built to help me monitor my various personal projects on the Hetzner cloud. I've called it Serverwat.ch. I've built it on top of Sveltkit so thought this community might interested.

The problem statement: I have a bunch of servers on Hetzner and they are organised across multiple projects. If I need to routinely look at their health and check their CPU/network/disk utilisation levels over time I need to individually choose a project, then choose a server and look at the graphs and repeat. With multiple projects with multiple servers in each, this is far from convenient.

To simplify it I built a simple dashboard for myself where I can see graphs for all my servers from all my projects on one screen.

I have decided to publish it online for others to use.

This is a simple Web app hand-coded with Sveltekit, Tailwind CSS and Shadcn which runs entirely client-side in the browser. Nothing is sent to the Serverwat.ch server and the app in the browser directly accesses the Hetzner API. Users simply provide read-ony Hetzner API keys for each of their projects which remain in the browser.

With the app users can:

  • Monitor CPU, network (packets/s or bytes/s) and disk (iop/s or bytes/s) utilisation
  • Set refresh frequency from one minute up to 15 minutes
  • See data from the last 15 minutes up to the past week
  • Filter the servers by Hetzner data centre location, tags applied to servers in the Hetzner console, and Hetzner project

When users add the read-only keys for their projects they are stored locally in the browser's local storage so they are available the next time the user uses the app. The keys are never sent to the Serverwat.ch server.

Feel free to check out the tool at:

https://serverwat.ch

It won't set or collect personally-identifiable cookies or collect any user-identifiable information. Your read-only tokens won't be sent to the server and the server won't see any information about your Hetzner servers.

For transparency, I am looking at wrapping this in Capacitor to add notification capabilities and other features in a mobile app and offering that in the Android and iOS app stores. None of that changes the principles outlined for the Web app above.

u/LikeableGeek — 2 months ago
▲ 16 r/hetzner

Hi everyone ...

I wanted to share a small tool I've built to help me monitor my various personal projects on the Hetzner cloud. I've called it Serverwat.ch.

The problem statement: I have a bunch of servers on Hetzner and they are organised across multiple projects. If I need to routinely look at their health and check their CPU/network/disk utilisation levels over time I need to individually choose a project, then choose a server and look at the graphs and repeat. With multiple projects with multiple servers in each, this is far from convenient.

To simplify it I built a simple dashboard for myself where I can see graphs for all my servers from all my projects on one screen.

I have decided to publish it online for others to use.

This is a simple Web app hand-coded with Sveltekit, Tailwind CSS and Shadcn which runs entirely client-side in the browser. Nothing is sent to the Serverwat.ch server and the app in the browser directly accesses the Hetzner API. Users simply provide read-ony Hetzner API keys for each of their projects which remain in the browser.

With the app users can:

  • Monitor CPU, network (packets/s or bytes/s) and disk (iop/s or bytes/s) utilisation
  • Set refresh frequency from one minute up to 15 minutes
  • See data from the last 15 minutes up to the past week
  • Filter the servers by Hetzner data centre location, tags applied to servers in the Hetzner console, and Hetzner project

When users add the read-only keys for their projects they are stored locally in the browser's local storage so they are available the next time the user uses the app. The keys are never sent to the Serverwat.ch server.

Feel free to check out the tool at:

https://serverwat.ch

It won't set or collect personally-identifiable cookies or collect any user-identifiable information. The only cookies set are to enable application state in the browser while being used. Your read-only tokens won't be sent to the server and the server won't see any information about your Hetzner servers.

For transparency, I am looking at wrapping this in Capacitor to add notification capabilities and other features in a mobile app and offering that in the Android and iOS app stores. None of that changes the principles outlined for the Web app above.

u/LikeableGeek — 2 months ago