<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on VPS Pilot</title><link>https://vpspilot.dev/blog/</link><description>Recent content in Blog on VPS Pilot</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 07 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vpspilot.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Monitoring a VPS without opening a single inbound port</title><link>https://vpspilot.dev/blog/no-inbound-ports/</link><pubDate>Sat, 07 Nov 2026 00:00:00 +0000</pubDate><guid>https://vpspilot.dev/blog/no-inbound-ports/</guid><description>&lt;p&gt;A lot of self-hosted monitoring still asks every server to listen. Prometheus&#10;scrapes &lt;code&gt;node_exporter&lt;/code&gt; on port 9100, Netdata serves its dashboard on 19999,&#10;and a passive Zabbix agent waits on 10050. To watch a server, you open a port&#10;on it and then spend effort making sure only the right machine can use it.&lt;/p&gt;&#10;&lt;p&gt;Dialing out instead isn&amp;rsquo;t new. Datadog&amp;rsquo;s agent, Netdata Cloud, Zabbix in&#10;active mode and Grafana Alloy pushing with &lt;code&gt;remote_write&lt;/code&gt; all send data out&#10;rather than wait for a scrape. What I wanted for&#10;&lt;a href="https://vpspilot.dev/" rel="noopener"&gt;VPS Pilot&lt;/a&gt; was that model with three extra&#10;properties:&lt;/p&gt;</description></item></channel></rss>