<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guides on Tenpm Uptime Docs</title><link>https://docs.tenpmuptime.com/docs/guides/</link><description>Recent content in Guides on Tenpm Uptime Docs</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://docs.tenpmuptime.com/docs/guides/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>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>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>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>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>