<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Monitoring on bismigel</title><link>https://bismigel.dev/tags/monitoring/</link><description>Recent content in Monitoring on bismigel</description><generator>Hugo</generator><language>en-us</language><copyright>bismigel</copyright><lastBuildDate>Wed, 28 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bismigel.dev/tags/monitoring/index.xml" rel="self" type="application/rss+xml"/><item><title>Observability is the part I'm actually good at</title><link>https://bismigel.dev/posts/2026-10-28-observability-is-the-part-im-good-at/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://bismigel.dev/posts/2026-10-28-observability-is-the-part-im-good-at/</guid><description/><content:encoded><![CDATA[<blockquote>
<p><strong>Building the lab</strong> &mdash; part 8 of 8. ← <a href="/posts/2026-10-27-two-tunnels-are-better-than-one/">Two tunnels are better than one</a>
 · you&rsquo;re at the end.</p>
</blockquote>
<p>Most of this lab is me learning in public. I write about the parts I barely understand, because that&rsquo;s where the useful stories are. This one is the exception.</p>
<p>Observability is what I do for a living. Of everything in this lab, it&rsquo;s the piece I&rsquo;m not faking. So when I say the monitoring here is better than it strictly needs to be, take it as a small brag &mdash; because it is one.</p>
<h1 id="most-homelabs-have-a-dashboard-they-open-twice-a-year">Most homelabs have a dashboard they open twice a year</h1>
<p>The usual pattern goes like this. You install Grafana because it looks good in a screenshot. You wire up one dashboard. And then you never look at it again. It&rsquo;s decoration. Nothing it shows is connected to anything that would tell <strong>you</strong> when something is wrong, so you find out the lab broke the moment you try to use it.</p>
<p>That&rsquo;s the mistake I refuse to make, because it&rsquo;s the mistake I spend my working life cleaning up after.</p>
<h1 id="if-it-isnt-in-git-it-doesnt-exist">If it isn&rsquo;t in git, it doesn&rsquo;t exist</h1>
<p>The rule for the monitoring stack is the same as the rule for everything else: it&rsquo;s declared as files in the repo, and it rebuilds itself from those files on every start. Datasources, the dashboard, the alert rules, and where the alerts go &mdash; all of it. I have never once logged into Grafana to <strong>build</strong> something. I only log in to look.</p>
<p>That sounds fussy. It&rsquo;s the whole trick. A dashboard you hand-built is one disk failure away from gone, and it drifts the first time someone clicks the wrong thing. A dashboard in git is a code review away from correct, and it survives the machine it happens to be running on. This lab is supposed to be nuke-proof. Monitoring is no exception.</p>
<h1 id="the-stack-briefly">The stack, briefly</h1>
<ul>
<li><strong>Prometheus</strong> does the collecting. It scrapes the standard resource metrics from every host, and the cluster&rsquo;s own object metrics from inside Kubernetes &mdash; how many pods are running, how many storage volumes are actually healthy.</li>
<li><strong>Grafana</strong> is the window: one page, called Homelab Overview.</li>
<li><strong>Alertmanager</strong> is the part that actually reaches me. It decides which alerts deserve a message and forwards them to a Telegram bot. No email I&rsquo;ll ignore and no dashboard I have to remember to open.</li>
</ul>
<h1 id="i-only-alert-on-what-id-act-on">I only alert on what I&rsquo;d act on</h1>
<p>Here&rsquo;s where the day job pays off. The beginner move is to alert on everything, get buried, and start ignoring alerts &mdash; which is strictly worse than having none. So the list stays short, boring, and short. Each one is something I would actually get out of bed for:</p>
<ul>
<li>a host has stopped answering;</li>
<li>a thing I <strong>meant</strong> to be watching has vanished, so I stop trusting the numbers I can still see;</li>
<li>a disk is filling up, caught before it&rsquo;s full;</li>
<li>memory has been pinned for a while &mdash; not a spike, a trend.</li>
</ul>
<p>Four alerts. Every one of them means &quot;do something.&quot; I&rsquo;d rather have four I believe than forty I&rsquo;ve muted.</p>
<h1 id="the-brag-my-backups-tell-on-themselves">The brag: my backups tell on themselves</h1>
<p>This is the part I&rsquo;m proudest of, and it comes straight out of the cluster post &mdash; where I discovered my &quot;backup&quot; had been failing every night for who knows how long. I had a backup I believed in that simply didn&rsquo;t exist. The only reason I know that story is that I went looking.</p>
<p>So now the backups rat themselves out. Each one is a scheduled job, and if it fails, the operating system itself fires an alert into the same pipeline as everything else. A dead backup shows up in the same place, wearing the same shape, as a dead host. I don&rsquo;t have to remember to check. The lab tells me.</p>
<p>The first time I tested it end to end &mdash; a deliberate failure, landing in Telegram a few seconds later &mdash; I grinned like an idiot. That&rsquo;s the difference between a lab that merely <strong>has</strong> monitoring and a lab I actually trust.</p>
<h1 id="one-screen">One screen</h1>
<p>Homelab Overview is deliberately a single screen. Across the top, the numbers I check in a glance: nodes answering, alerts firing, pods running, volumes healthy, container restarts in the last hour. Below that, the trends per host &mdash; CPU, memory, disk, load. At the bottom, a live table of anything currently firing.</p>
<p>That&rsquo;s all of it. No wall of graphs nobody reads. If the top row is green and the bottom table is empty, the lab is fine and I can walk away.</p>
<h1 id="what-id-tell-you">What I&rsquo;d tell you</h1>
<p>If observability isn&rsquo;t your thing, steal the shape of this rather than the tools. Put your monitoring config in git. Alert on few things. Send the alerts somewhere you&rsquo;ll actually see them. And watch your backups succeed at least once &mdash; or better, make them scream when they don&rsquo;t.</p>
<p>I&rsquo;m not smart about most of this lab. But this part I know, and it shows.</p>
<blockquote>
<p><strong>Building the lab</strong> &mdash; part 8. Previous: <a href="/posts/2026-10-27-two-tunnels-are-better-than-one/">Two tunnels are better than one</a>
.</p>
</blockquote>
]]></content:encoded></item></channel></rss>