<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Introduction on Tenpm Uptime Docs</title><link>https://docs.tenpmuptime.com/</link><description>Recent content in Introduction on Tenpm Uptime Docs</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://docs.tenpmuptime.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Shared vs. private monitors, and restricted checks</title><link>https://docs.tenpmuptime.com/docs/guides/shared-and-private-monitors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/shared-and-private-monitors/</guid><description>&lt;h1 id="shared-vs-private-monitors-and-restricted-checks"&gt;Shared vs. private monitors, and restricted checks&lt;a class="anchor" href="#shared-vs-private-monitors-and-restricted-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;This page ties together three ideas that show up throughout the other&#10;guides: what a &lt;strong&gt;private&lt;/strong&gt; monitor is versus a &lt;strong&gt;shared&lt;/strong&gt; one, what makes a&#10;check &lt;strong&gt;restricted&lt;/strong&gt;, and how the two interact when you&amp;rsquo;re deciding what&#10;runs where.&lt;/p&gt;&#10;&lt;h2 id="private-monitors-yours-on-your-own-terms"&gt;Private monitors: yours, on your own terms&lt;a class="anchor" href="#private-monitors-yours-on-your-own-terms"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;A private monitor is one you enrolled yourself — the agent binary running on&#10;hardware you control. It has no restrictions placed on it by Tenpm Uptime: if it&#10;can reach &lt;code&gt;10.0.0.5&lt;/code&gt; or an internal admin panel, that&amp;rsquo;s the product working&#10;as intended. The blast radius of that reach is entirely your own network, so&#10;there&amp;rsquo;s nothing for the platform to guard against here.&lt;/p&gt;</description></item><item><title>API reference</title><link>https://docs.tenpmuptime.com/docs/reference/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/reference/api/</guid><description>&lt;h1 id="api-reference"&gt;API reference&lt;a class="anchor" href="#api-reference"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The JSON API a &lt;code&gt;monitor&lt;/code&gt; agent uses to enroll with a &lt;code&gt;tenpm uptime&lt;/code&gt; server, sync&#10;its assigned check set, and report results and status back. Generated from&#10;&lt;code&gt;docs-site/assets/tenpmuptime-monitor.yaml&lt;/code&gt; — see that file&amp;rsquo;s header for how&#10;it&amp;rsquo;s kept in sync with the code.&lt;/p&gt;&#10;&lt;a href="https://docs.tenpmuptime.com/tenpmuptime-monitor.yaml" download class="book-btn"&gt;Download the raw OpenAPI spec (tenpmuptime-monitor.yaml)&lt;/a&gt;&#10;&lt;p&gt;The JSON API a &lt;code&gt;monitor&lt;/code&gt; agent uses to enroll with a &lt;code&gt;tenpm uptime&lt;/code&gt; server, sync its assigned check set, and report results and status back. This is the wire contract described in &lt;code&gt;internal/model&lt;/code&gt; and implemented by &lt;code&gt;internal/server/api_handlers.go&lt;/code&gt;; both binaries build against the same Go structs today, so treat this document as generated-by-hand from that code, not the other way around — if the two disagree, the code is right and this file is stale.&#10;Every route except &lt;code&gt;POST /api/enroll&lt;/code&gt; requires the monitor's own API key, minted at enrollment. &lt;code&gt;POST /api/enroll&lt;/code&gt; requires an &lt;em&gt;enrollment token&lt;/em&gt; instead (an org token or a platform token — see the security scheme below), since no monitor exists yet at that point.&#10;Error responses across every endpoint are a &lt;strong&gt;plain-text body&lt;/strong&gt; (one line) with a non-2xx status, not a JSON envelope — the handlers use Go's &lt;code&gt;http.Error&lt;/code&gt;. The &lt;code&gt;4xx&lt;/code&gt;/&lt;code&gt;5xx&lt;/code&gt; responses below document status code and body meaning; there is no shared error schema.&lt;/p&gt;</description></item><item><title>Creating an account</title><link>https://docs.tenpmuptime.com/docs/getting-started/creating-an-account/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/getting-started/creating-an-account/</guid><description>&lt;h1 id="creating-an-account"&gt;Creating an account&lt;a class="anchor" href="#creating-an-account"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Tenpm Uptime accounts are self-serve: you sign up with just an email address, and&#10;nothing is created until you confirm you own it.&lt;/p&gt;&#10;&lt;h2 id="1-sign-up"&gt;1. Sign up&lt;a class="anchor" href="#1-sign-up"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Go to the login page and choose &lt;strong&gt;Create an account&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Enter your email address and submit.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;You&amp;rsquo;ll see the same confirmation either way, whether or not that address&#10;already has an account — this is deliberate, so the page can&amp;rsquo;t be used to&#10;check who else is a Tenpm Uptime customer.&lt;/p&gt;</description></item><item><title>Writing checks</title><link>https://docs.tenpmuptime.com/docs/guides/writing-checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/writing-checks/</guid><description>&lt;h1 id="writing-checks"&gt;Writing checks&lt;a class="anchor" href="#writing-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="../../getting-started/creating-your-first-check/"&gt;Creating your first check&lt;/a&gt;&#10;covers the basics: a name, a target, and a schedule. This guide covers the&#10;rest of the check form — the options that decide exactly what &amp;ldquo;healthy&amp;rdquo;&#10;means for a given target.&lt;/p&gt;&#10;&lt;h2 id="schemes"&gt;Schemes&lt;a class="anchor" href="#schemes"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The prefix on your target URL picks the checker:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Scheme&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;What it does&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;http://&lt;/code&gt; / &lt;code&gt;https://&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Fetches the page. Supports all the response conditions below.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;tcp://host:port&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Opens a raw TCP connection, optionally checking for a banner.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;tls://host:port&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Performs a bare TLS handshake with nothing else on top — for a service that expects TLS as the very first bytes on the wire (SMTPS, IMAPS), where &lt;code&gt;https://&lt;/code&gt; won&amp;rsquo;t speak the right protocol and &lt;code&gt;tcp://&lt;/code&gt; will just time out waiting for a plaintext banner it&amp;rsquo;s never going to get.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="response-conditions"&gt;Response conditions&lt;a class="anchor" href="#response-conditions"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;These decide whether an otherwise-successful connection still counts as a&#10;failure:&lt;/p&gt;</description></item><item><title>Adding your first monitor</title><link>https://docs.tenpmuptime.com/docs/getting-started/adding-your-first-monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/getting-started/adding-your-first-monitor/</guid><description>&lt;h1 id="adding-your-first-monitor"&gt;Adding your first monitor&lt;a class="anchor" href="#adding-your-first-monitor"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A &lt;strong&gt;monitor&lt;/strong&gt; is the small agent that actually runs your checks. It&amp;rsquo;s a&#10;standalone, open-source binary that you run on your own infrastructure —&#10;a home server, a VPS, a container, wherever you&amp;rsquo;d like your checks to run&#10;from. The Tenpm Uptime server never runs your checks itself; it just hands the&#10;monitor a list of what to check and collects the results back.&lt;/p&gt;&#10;&lt;p&gt;Because the monitor runs on hardware you control, it can reach targets the&#10;public internet can&amp;rsquo;t — internal admin pages, LAN devices, anything behind a&#10;firewall.&lt;/p&gt;</description></item><item><title>Notification channels</title><link>https://docs.tenpmuptime.com/docs/guides/notification-channels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/notification-channels/</guid><description>&lt;h1 id="notification-channels"&gt;Notification channels&lt;a class="anchor" href="#notification-channels"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A notification channel is a destination an alert can be sent to. Your&#10;organisation can have any number of them, and each check or monitor decides&#10;which of them it actually uses.&lt;/p&gt;&#10;&lt;h2 id="adding-a-channel"&gt;Adding a channel&lt;a class="anchor" href="#adding-a-channel"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;From &lt;strong&gt;Organisation settings&lt;/strong&gt;, under &lt;strong&gt;Notification channels&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Add ntfy channel&lt;/strong&gt; — sends a push notification via&#10;&lt;a href="https://ntfy.sh"&gt;ntfy&lt;/a&gt; to a topic you choose.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add email channel&lt;/strong&gt; — sends to a single email address.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add webhook channel&lt;/strong&gt; — sends an HTTP POST with a plain JSON body of&#10;your own to any endpoint you control. See &lt;a href="#webhook-channels"&gt;Webhook channels&lt;/a&gt;&#10;below for the payload shape and how to verify it came from tenpm uptime.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add Slack channel&lt;/strong&gt; — sends to a Slack incoming webhook. See&#10;&lt;a href="#slack-channels"&gt;Slack channels&lt;/a&gt; below.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Give each channel a name (how it&amp;rsquo;ll show up when picking channels elsewhere)&#10;and its destination — the ntfy topic, email address, or webhook/Slack URL. A&#10;channel&amp;rsquo;s kind is fixed once created; if you need to change one kind to&#10;another, add a new one and delete the old one.&lt;/p&gt;</description></item><item><title>Creating your first check</title><link>https://docs.tenpmuptime.com/docs/getting-started/creating-your-first-check/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/getting-started/creating-your-first-check/</guid><description>&lt;h1 id="creating-your-first-check"&gt;Creating your first check&lt;a class="anchor" href="#creating-your-first-check"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A &lt;strong&gt;check&lt;/strong&gt; is the thing you want watched — a URL, a TCP port, a TLS&#10;endpoint — and the rule that decides whether it&amp;rsquo;s healthy. Your monitors run&#10;it on the schedule you set and report the result back.&lt;/p&gt;&#10;&lt;h2 id="1-open-the-check-form"&gt;1. Open the check form&lt;a class="anchor" href="#1-open-the-check-form"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Go to &lt;strong&gt;Checks&lt;/strong&gt; and choose &lt;strong&gt;Add a check&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;h2 id="2-describe-the-target"&gt;2. Describe the target&lt;a class="anchor" href="#2-describe-the-target"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; — how it shows up on your Dashboard.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;URL / target&lt;/strong&gt;, prefixed with a scheme that tells Tenpm Uptime how to reach&#10;it:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt; — a web endpoint. This is the common case.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tcp://host:port&lt;/code&gt; — a raw TCP connection, with an optional banner to&#10;match against.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tls://host:port&lt;/code&gt; — a bare TLS handshake, for services that expect TLS&#10;as the very first bytes on the wire (an SMTPS or IMAPS port, for&#10;example), where an &lt;code&gt;https://&lt;/code&gt; check would fail and a &lt;code&gt;tcp://&lt;/code&gt; check&#10;would just time out waiting for a plaintext banner.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Check interval&lt;/strong&gt; — how often it should run.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Every scheme also supports pass/fail rules beyond &amp;ldquo;did it connect&amp;rdquo; — matching&#10;response content, requiring a specific status code, and more. Start simple&#10;here; those options are covered in a dedicated guide once you&amp;rsquo;re ready for&#10;them.&lt;/p&gt;</description></item><item><title>Managing monitors</title><link>https://docs.tenpmuptime.com/docs/guides/managing-monitors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/managing-monitors/</guid><description>&lt;h1 id="managing-monitors"&gt;Managing monitors&lt;a class="anchor" href="#managing-monitors"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The &lt;strong&gt;Monitors&lt;/strong&gt; page lists every monitor available to your organisation —&#10;the ones you&amp;rsquo;ve enrolled yourself, plus the shared fleet if you&amp;rsquo;re using it.&lt;/p&gt;&#10;&lt;h2 id="adding-more-monitors"&gt;Adding more monitors&lt;a class="anchor" href="#adding-more-monitors"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Each additional monitor needs its own enrollment token. On the &lt;strong&gt;Add a&#10;monitor&lt;/strong&gt; page, give the token a &lt;strong&gt;label&lt;/strong&gt; (e.g. &amp;ldquo;home NAS&amp;rdquo;) so you can tell&#10;which agent it belongs to, and create it. One token per machine means you&#10;can revoke a single agent&amp;rsquo;s ability to (re-)enroll without touching anyone&#10;else&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>Organisation and account settings</title><link>https://docs.tenpmuptime.com/docs/guides/organisation-and-account-settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/organisation-and-account-settings/</guid><description>&lt;h1 id="organisation-and-account-settings"&gt;Organisation and account settings&lt;a class="anchor" href="#organisation-and-account-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Tenpm Uptime has two separate settings pages: &lt;strong&gt;Account settings&lt;/strong&gt; for you&#10;personally, and &lt;strong&gt;Organisation settings&lt;/strong&gt; for things every member of your&#10;org shares.&lt;/p&gt;&#10;&lt;h2 id="account-settings"&gt;Account settings&lt;a class="anchor" href="#account-settings"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Display timezone&lt;/strong&gt; — timestamps on results and notifications pages show&#10;alongside UTC in this timezone. Leave it on &lt;strong&gt;Server default&lt;/strong&gt; to use&#10;whatever the server itself is configured with.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Change password&lt;/strong&gt; — requires your current password. Changing it signs&#10;out every other browser or device logged into this account; the one you&#10;used to make the change stays signed in. If you ever suspect your account&#10;is compromised, changing your password is the fastest way to kick out&#10;anyone else&amp;rsquo;s session.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="organisation-settings"&gt;Organisation settings&lt;a class="anchor" href="#organisation-settings"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Organisation name&lt;/strong&gt; — shown in the navigation bar and throughout the&#10;dashboard. Any member can rename it.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Shared monitor fleet&lt;/strong&gt; and &lt;strong&gt;Notification channels&lt;/strong&gt; — covered in&#10;&lt;a href="../managing-monitors/"&gt;Managing monitors&lt;/a&gt; and&#10;&lt;a href="../notification-channels/"&gt;Notification channels&lt;/a&gt; respectively.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="switching-between-organisations"&gt;Switching between organisations&lt;a class="anchor" href="#switching-between-organisations"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;If your account belongs to more than one organisation, a dropdown appears in&#10;the navigation bar to switch which one you&amp;rsquo;re currently viewing — every&#10;page (Dashboard, Checks, Monitors) shows that organisation&amp;rsquo;s data only.&#10;Switching just changes which org your session is pointed at; it doesn&amp;rsquo;t&#10;affect anyone else.&lt;/p&gt;</description></item><item><title>Reading the dashboard</title><link>https://docs.tenpmuptime.com/docs/getting-started/reading-the-dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/getting-started/reading-the-dashboard/</guid><description>&lt;h1 id="reading-the-dashboard"&gt;Reading the dashboard&lt;a class="anchor" href="#reading-the-dashboard"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The Dashboard is a grid: your checks down the side, your monitors across the&#10;top, and each cell showing whether that check passed the last time that&#10;monitor ran it. It refreshes on its own every 30 seconds.&lt;/p&gt;&#10;&lt;h2 id="layouts"&gt;Layouts&lt;a class="anchor" href="#layouts"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Use the view switcher at the top of the page to change how monitors are&#10;grouped:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Collapsed&lt;/strong&gt; (the default) — every monitor merged into a single column&#10;per check, so you see an up/down count rather than a wall of cells. Good&#10;for a quick glance across a lot of checks.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Grid&lt;/strong&gt; — one column per monitor, so you can see exactly which monitor is&#10;reporting a failure.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;By class&lt;/strong&gt; — splits your own monitors from the shared fleet into two&#10;groups, useful once you&amp;rsquo;re using both.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Your choice is remembered in the page&amp;rsquo;s own link as you navigate, so paging&#10;or filtering won&amp;rsquo;t silently reset it back to the default.&lt;/p&gt;</description></item><item><title>Check history and charts</title><link>https://docs.tenpmuptime.com/docs/guides/check-history-and-charts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/check-history-and-charts/</guid><description>&lt;h1 id="check-history-and-charts"&gt;Check history and charts&lt;a class="anchor" href="#check-history-and-charts"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Click through from the Dashboard to a check&amp;rsquo;s own page for its full history:&#10;a response-time chart, an uptime table, and individual recent results.&lt;/p&gt;&#10;&lt;h2 id="time-range"&gt;Time range&lt;a class="anchor" href="#time-range"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The chart has a range picker: &lt;strong&gt;1h, 24h, 7d, 30d, 6mo, 12mo, all&lt;/strong&gt;. Your&#10;choice carries through everything else on the page — paging through recent&#10;results or switching which monitor you&amp;rsquo;re looking at won&amp;rsquo;t reset it.&lt;/p&gt;&#10;&lt;p&gt;Longer ranges use pre-aggregated hourly or daily data rather than every raw&#10;result, which changes what the &lt;strong&gt;Max / Min / Avg&lt;/strong&gt; caption under the chart&#10;means: at 1h/24h it&amp;rsquo;s computed from actual response times; at 7d and beyond,&#10;each point is an average across &lt;em&gt;every&lt;/em&gt; attempt in that period — including&#10;failed ones, since aggregated data has no separate record of which attempts&#10;actually got a response back. A response time of 0 always means the target&#10;sent nothing back at all (timeout or connection failure), not a genuinely&#10;instant response.&lt;/p&gt;</description></item><item><title>Private-definition checks</title><link>https://docs.tenpmuptime.com/docs/guides/private-definition-checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/private-definition-checks/</guid><description>&lt;h1 id="private-definition-checks"&gt;Private-definition checks&lt;a class="anchor" href="#private-definition-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;An ordinary check&amp;rsquo;s URL, match rule, headers, and other details live on the&#10;server, which is what lets the server show them to you, run &lt;strong&gt;Test&lt;/strong&gt; on&#10;demand, and hand them to any monitor you assign. Sometimes that&amp;rsquo;s the wrong&#10;trade — the target is an internal admin URL with credentials baked in, say,&#10;and you don&amp;rsquo;t want that sitting on a server at all, even one you trust.&lt;/p&gt;</description></item><item><title>Running the monitor as a service</title><link>https://docs.tenpmuptime.com/docs/guides/running-the-monitor-as-a-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.tenpmuptime.com/docs/guides/running-the-monitor-as-a-service/</guid><description>&lt;h1 id="running-the-monitor-as-a-service"&gt;Running the monitor as a service&lt;a class="anchor" href="#running-the-monitor-as-a-service"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Running &lt;code&gt;monitor&lt;/code&gt; in a foreground terminal is fine for trying it out, but&#10;for anything ongoing you want it to survive reboots, restart itself if it&#10;crashes, and log somewhere you can check later. Two straightforward ways to&#10;get that: a systemd unit, or a Docker container. Pick whichever fits how you&#10;already manage the machine it&amp;rsquo;ll run on.&lt;/p&gt;&#10;&lt;p&gt;Either way you&amp;rsquo;ll need: the &lt;code&gt;monitor&lt;/code&gt; binary (or a way to build/pull it),&#10;your server&amp;rsquo;s URL, and an enrollment token from &lt;strong&gt;Monitors → Add a monitor&lt;/strong&gt;&#10;(see &lt;a href="../../getting-started/adding-your-first-monitor/"&gt;Adding your first monitor&lt;/a&gt;&#10;if you haven&amp;rsquo;t done this yet).&lt;/p&gt;</description></item></channel></rss>