在线服务、网站或应用程序的稳定运行时间至关重要,这关系到用户体验和业务运营。
无论是用于关键业务还是个人用途,任何应用程序的停机都会对用户造成不同程度的影响。因此,对网站或应用程序的运行时间进行监控是至关重要的。
市场上虽有一些在线服务提供运行时间监控,但它们通常不能自行托管。如果你不打算自行托管,只是需要一个简单的方法来监控运行时间,那么这些服务也足够使用。
在自托管方案方面,可选择的优秀工具不多。
值得庆幸的是,开源自托管监控工具 Uptime Kuma 可能是一个不错的选择。
在本文中,我将详细介绍 Uptime Kuma 的功能,并提供分步指南,帮助你设置和使用它。
Uptime Kuma 的开发团队表示,该项目的目标是提供一个可以替代 “Uptime Robot” 的自托管方案。
Uptime Robot 是一款优秀的运行时间监控服务,但它无法自托管,且免费方案的功能有限。
因此,Uptime Kuma 成为了自托管监控工具的理想替代品。 让我们深入了解一下它所提供的功能。
使用自托管的运行时间解决方案,你可以获得诸多优势,其中包括:
- 完全控制数据。
- 自定义通知方式。
- 以更少的成本获得更多功能。
- 在学习自行管理的同时提升技能。
- 监控内部服务,而无需将其暴露于互联网。
虽然自托管平台需要一定的技术知识,但随着时间的推移,管理难度会逐渐降低。
即使是初次使用者,也可以按照本文中的说明,在几分钟内轻松安装和部署实例。
Uptime Kuma 的主要特性
Uptime Kuma 支持使用多种协议监控服务,包括 HTTP/S、TCP、DNS 等。 该工具的一些主要亮点如下:
- 可以调整外观,使用深色/浅色模式,或自动适应设备偏好。
- 可以设置时区,以准确监控运行时间。
- 可通过 Linode 的市场直接获取。
- 支持多种平台的通知,例如 Telegram、Discord、Signal、Rocket.Chat、Slack、Microsoft Teams、Google Chat、Matrix 等。
- 可以指定保留监控历史记录的天数。
- 可以优化和缩小历史数据库。
- 双重身份验证可以保护监控帐户的安全。
- 能够导出/导入通知和监控数据。
- 提供单独的状态页面。
- 支持 Ping 图。
- 支持多语言。
- 支持 Steam 游戏服务器。
- 可以轻松地将通知应用到新的或所有监控器。
如何配置 Uptime Kuma 来监控网站和应用程序基础设施?
我将使用 Linode 作为托管平台,来创建一个 Uptime Kuma 实例,用于本文的演示。
使用 Linode 作为云托管解决方案非常简单。你可以在其市场中找到 Uptime Kuma。
因此,你无需手动配置。你只需要根据自己的需求设置配置参数,即可立即启动并运行 Uptime Kuma 实例。
下面我将演示具体步骤。
步骤1. 在创建 Linode 实例时,进入 Linode 的市场。
步骤2. 当向下滚动列表时,你会看到 “Uptime Kuma” 在应用程序列表中。找到它后,点击它。
步骤3. 选择后,你会看到一些配置选项,你需要设置这些选项才能让它正常工作:
请务必填写可以记住的值,或者将其复制到某处,尤其是受限 root 用户的密码。
你可以使用密码管理器来存储这些信息,或者将其记录在其他地方。
对于电子邮件地址,如果你要为特定的域名设置 Uptime Kuma,则应使用与该域名相同的电子邮件地址。
你可以选择使用任何其他电子邮件,但为了安装 SSL 证书,最好使用与域名相关的电子邮件地址。如果你尚未配置域名的电子邮件,你可能需要了解一些可用的最佳电子邮件托管服务。
步骤4. 如果仅在 Linode 内部进行测试,你可以忽略域名值。
但是,如果想在你的域名上设置 Uptime Kuma 实例,则需要创建一个 Linode API 令牌。该令牌可用于多种用途,例如使用其他云提供商来创建服务器/管理服务器等。
如果要添加域名,这是必不可少的。对于 SSH root 访问,如果你希望轻松远程连接到服务器,则最好不要禁用它。 如果不需要,可以选择禁用它。
步骤5. 接下来,你需要选择一个镜像(用于你的服务器)。默认情况下,它应为最新版本的 Ubuntu LTS。不幸的是,通过市场设置时你无法更改它。如果你决定从头开始设置服务器,则可以选择 Debian 11,因为它也正式支持 Uptime Kuma。
步骤6. 对于位置选择,请选择距离你所在地较近的,以获得更快的响应和访问速度。
步骤7. 最后,你必须选择你喜欢的 Linode 计划,以确保 Uptime Kuma 顺利运行。
虽然你可以选择最便宜的计划,但如果要监控许多重要事项,建议选择资源更充足的计划。
步骤8. 要完成设置,你必须设置一个 root 密码,以便管理员访问你的服务器。你还可以设置 SSH 密钥,以便通过 SSH 访问。
你也可以设置 VLAN,但它针对特定的用户群体。因此,你可能需要检查是否需要使用 VLAN。
步骤9. 或者,你可以选择支付额外的费用来启用自动备份。当然,你可以在安装 Uptime Kuma 后手动导出数据,但自动备份更方便。因此,如果监控数据对你至关重要,那么备份是必不可少的。
现在,你可以创建安装了 Uptime Kuma 的 Linode 实例。
安装后如何访问 Uptime Kuma?
如果你已经配置了域名,那么首次访问非常简单。你只需输入域名 (HTTP//:domain.com),当你访问时,应该会显示 Uptime Kuma 的设置页面。
它应该是这样的:
创建用户后,你将被重定向到仪表板,你可以在这里开始为网站或应用程序创建监控器。
根据你的系统偏好,它也可能会呈现全黑色(使用深色模式主题)。
如果你没有为 Linode 实例配置任何域名,则可以使用 Linode 的服务器 IP 以以下格式访问它:
https://LINODESERVERIP.ip.linodeusercontent.com/
例如,我的测试服务器可以通过以下方式访问:
https://170-187-200-29.ip.linodeusercontent.com/add
这里,我的 Linode 服务器 IP 是 – 170.187.200.29
请注意,你不能使用上面的 URL 访问任何内容(我在测试后删除了该实例)。 此外,当你通过实例地址访问它时,你可能会注意到恶意软件警告,因为它对安全程序和浏览器来说可能显得可疑。你可以忽略警告并继续设置 Uptime Kuma。
最终,在设置用户帐户后,你可以开始为你的网站或应用程序创建监控器。
如何将监控器添加到 Uptime Kuma?
你必须单击“添加新监控器”才能开始向仪表板添加监控器。
监控器选项应显示在同一页面上,如下所示。
无论你要监控网站、DNS、游戏服务器还是 TCP 端口,你都必须选择监控器的类型。
如果需要,你可以设置通知。 虽然有很多选项可供选择,但使用机器人设置 Telegram 频道通知时的外观如下:
对于此测试,我使用了基本的 HTTP 监控来检查 techblik.com 的运行时间。因此,这是我为选项选择的:
- 监控类型:HTTP
- 网站的网址
- 30 秒间隔(自定义)
默认情况下,间隔设置为 60 秒,但你可以调整它以更频繁或更少地监控。 你还可以使用 GET、POST、HEAD 和其他方法来设置 HTTP 身份验证,并访问 HTTP(S) 页面。
你还可以指定监控器忽略 TLS/SSL 错误(如果有)。
最大重定向设置为 10。但是,如果要在监视特定页面或 URL 时避免遵循任何重定向,最好将其保持为 0。
当一切都设置好并且包含所需通知后,请保存配置以添加监控器。 经过一段时间的监控后,你应该会看到类似以下内容:
数据包括响应时间(最新)、平均响应时间、运行时间和 SSL 证书信息。
菜单中还有一个“状态”页面,其中提供了所有监控器的概览,并允许你向任何最近的事件添加通知/消息。
状态页面对于任何想要了解后端基础设施最新状态的用户/客户都非常有帮助。 你所要做的就是共享状态页面的链接;它无需任何用户身份验证,并且可供公众访问。
它通常可以通过 HTTP://domain.com/status 访问。
Uptime Kuma 是一个可靠的自托管方案
除了 Linode,你还可以使用 Docker 或非 Docker 安装程序手动安装它。你可以在项目的 GitHub 页面 中找到相关信息。
因此,你可以通过监控工具的所有基本功能获得多种安装方式。 这足以满足你的大部分需求。
它应该可以满足大多数使用场景。如果还没尝试,不妨一试!