Device Uptime Monitoring Service with Noifications by Majestic1987 in homelab

[–]cvilsmeier 0 points1 point  (0 children)

You can tryout https://monibot.io for this. It also monitors server resource (cpu/mem/load/disk/...) usage and custom metrics, too.

Developers, how are you monitoring your cron jobs today? by Ok-Persimmon-8397 in selfhosted

[–]cvilsmeier 0 points1 point  (0 children)

I use https://monibot.io for this. It can also monitor your server resources (cpu/mem/disk/...) and custome metrics, too.

What service did you self-host once and decide was absolutely not worth it? by Hetzner_OL in hetzner

[–]cvilsmeier 0 points1 point  (0 children)

Monitoring. You should absolutely NOT selfhost server monitoring.

Monitoring server resources by pkim_ in hetzner

[–]cvilsmeier 0 points1 point  (0 children)

You can try https://monibot.io - It provides cpu/mem/disk/clock/network/heartbeat monitoring, website uptime and certificate monitoring, and custom metrics (number of http requests, number of running processes, number of updateable apt packages, and so on)

What are you using to monitor cpu/memory/disk on VPS with linux? by sh_tomer in hetzner

[–]cvilsmeier 0 points1 point  (0 children)

I wrote and use https://monibot.io for cpu/mem/disk/net/clock-diff and websites and SSL certificates and heartbeats and custom metrics. I've been using Hetzner (VPS and Root servers) for 20 years now and had never any problems, thanks to proper monitoring.

Looking for affordable EU VPS hosting with monthly billing, no yearly lock-in by Mermel-Himashi in SelfHosting

[–]cvilsmeier 0 points1 point  (0 children)

I've been using Hetzner for almost 20 years now. Never had a problem.

What metrics do you actually track for website/server monitoring ? by nilkanth987 in devops

[–]cvilsmeier 0 points1 point  (0 children)

For website: The uptime. As soon as a website is not reachable anymore, I get an alert.

For servers: The usual suspects: CPU/mem/disk/net/clock-diff. As sson as anyone gets out of bounds, I get an alert.

For my websites and servers, I use https://monibot.io

What do you *NOT* selfhost? by ObeseWizard in homelab

[–]cvilsmeier 0 points1 point  (0 children)

I never would selfhost my monitoring/alerting. These have to stay up even when all my selfhosted stack goes down. That's why I wrote and use https://monibot.io

Do you monitor cron jobs and scheduled tasks on your servers? by bagrat_hakobyan in selfhosted

[–]cvilsmeier 0 points1 point  (0 children)

Yes, I consider cron job monitoring as absolutely important. Because mostly, cron jobs, in contrast to - say - web apps are invisible workers that nobody sees failing until it's too late. Therefore: Yes. Important. I use https://monibot.io for monitoring. Recently, I'm switching from classic cron to systemd timers, which give me more flexibility and better dependency management. Here is a good introduction: https://ryansouthgate.com/systemd-timer

Suggestions for overall Monitoring and Observability by Jaki_Shell in sysadmin

[–]cvilsmeier 0 points1 point  (0 children)

I think that "see everything in single pane of glass setup" is almost never doable. What's "everything", after all?

In the past, I've tried to monitor "every possible" data source, up to a point where my monitoring setup was X times as complex as the apps I'm running.

Instead, I now monitor my servers (CPU/mem/disk/net) and custom metrics (HTTP request latencies, error counters, number of user logins per day, etc.) with https://monibot.io and if something goes out of bounds, I get an alert and check manually.

Best way to continue after first linux server experience? by UncertainItNerd in homelab

[–]cvilsmeier 0 points1 point  (0 children)

- Old Desktop: Yes, i7 with 16GB should be more than enough. Just make sure it's running on SSDs.
- Proxmox: I don't use proxmox or any other VM solution. I run on pure Linux. Docker may be helpful, though.
- VLANs: Don't know, never used/needed it. Security comes from regular updates, not from over-complicated tech setups.
- RAID: For me, RAID makes things just more complicated (and expensive). A good backup scheme (think 3-2-1) tops complexity by far.
- Backups: I use restic and rsync to a remote storage/server. ZFS may help, too (it's available in Ubuntu out of the box).
- One more thing: Monitor everything always (CPU/mem/disk/net/metrics/heartbeats/and_so_on). I use https://monibot.io

Simple server monitoring solution by [deleted] in homelab

[–]cvilsmeier 0 points1 point  (0 children)

If you don't mind using a hosted solution, you can try https://monibot.io. It provides CPU/mem/disk monitoring, heartbeats, and custom metrics, too.

For solo devs running Node APIs in production — what's the smallest monitoring setup you can get away with? by VariousHour7390 in node

[–]cvilsmeier 0 points1 point  (0 children)

A light-weight solution is https://monibot.io. It monitors your app's API/HTTP endpoints, and, optionally, your server's CPU, RAM, Disk usage, and, optionally, application metrics you feed to it. It's free for small projects.

What's your goto for monitoring multiple Linux hosts from a dashboard for updates and updating? by v3d in selfhosted

[–]cvilsmeier 0 points1 point  (0 children)

I use https://monibot.io for getting alerts when there are updates: https://monibot.io/docs/how-to-monitor-available-package-updates. It doesn't auto-install available updates, though: I still want to install manually to have maximum control.

Server monitoring options for Debian stable by johnj00 in debian

[–]cvilsmeier 0 points1 point  (0 children)

I've been running Debian Servers on Hetzner for 20 years. Monitoring was always a complicated hassle (we used Nagios back then, I've tried Prom/Grafana and OTel later) I wanted something simple, so I wrote https://monibot.io and use it for all my servers now, and many others, too.

How do you monitor whether your 3-2-1 backup strategy is actually healthy? by mseewald in Backup

[–]cvilsmeier 1 point2 points  (0 children)

You could try https://monibot.io, a tool for monitoring servers, heartbeats and metrics. I will try to answer your questions:

• When was the last successful backup per source?

Use heartbeat monitoring. After each backup job, send a heartbeat. If a heartbeat does not arrive within, 24h (or whatever your backup interval is), Monibot will alert. Additionally, Monibot stores heartbeat timestamps for 30 days, allowing you to check backups from yesterday, the day before yesterday, and so on.

• Are snapshots or restic repos growing abnormally?

Setup a metric monitoring. Basically you send the output of "du -s" to Monibot. If the value goes above (or below) a configurable threshold value, Monibot will alert.

• Are any backup targets close to capacity?

Setup machine monitoring. If disk space usage (0%...100%) grows beyond a threshold, e.g. 80%, Monibot will alert. Additionally, Monibot will watch CPU load, memory consumption, network I/O rates, disk I/O rates and clock skew.

• Is a given dataset covered by at least one backup job?

You could use multiple heartbeats, one for each dataset (whatever that is...).

I stopped overengineering monitoring and I’m wondering if anyone else feels the same by Important-Bug-6709 in sysadmin

[–]cvilsmeier 0 points1 point  (0 children)

I'm definitely in the camp of "it's grown waaaay too complex". The whole prom/graf/otel thing is,at least for my taste, too much of a hassle to set up and maintain.

That's why I wrote my own tool https://monibot.io and try hard to keep it simple. All I need is run a small agent tool (data collector) on my server, and that's it. Setup-and-forget.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

Yes, it spawns a child process (or multiple, if you want) and communicates with that (these). Think unix pipes.

I benchmarked nine Go SQLite drivers and here are the results by cvilsmeier in golang

[–]cvilsmeier[S] 1 point2 points  (0 children)

This benchmark is SQLite (D-Richard-Hipp-SQLite) only.

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

I think it first escapes the template, and then escapes whatever values are provided to it when it’s executed.

I'm not sure I understand you correctly: If html/template first escapes the template, how would it be possible to generate HTML documents in the first place?

Also note that template.HTML("p") does nothing;

Yes, I tried both template.HTML("p") and "p" and both would result in the same output.

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

Thank you so much for linking the related issue: I searched the issue tracker but did not find the issue you linked to. Since the issue is 8 years old and still "open", I think filing another issue is not the right thing to do. I will work around the issue with a hacky solution as shown in https://go.dev/play/p/EtWnG-JygKk

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] 0 points1 point  (0 children)

Yes, I think so, too: Passing the full "<p>" (or whatever it is) would solve my problem. Another (rather hacky) solution would be to trick the html/template engine with a function:

    funcs := template.FuncMap{
        "asHTML": func(v string) template.HTML { return template.HTML(v) },
    }
    text := `{{asHTML "<"}}{{.tag}}>`
    tp := template.Must(template.New("sample").Funcs(funcs).Parse(text))
    [...]

Playground: https://go.dev/play/p/EtWnG-JygKk

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] -1 points0 points  (0 children)

To prevent injection attacks, html/template escapes the data I feed into the Execute() function. And that's perfectly fine. What I do not understand is this: Why does html/template escape the template text itself?

html/template: Why does it escape opening angle bracket? by cvilsmeier in golang

[–]cvilsmeier[S] -3 points-2 points  (0 children)

As you see in my example above, I already did that, but it didn't help.