【开源监控工具】Uptime Kuma:几分钟设置实时监控你的网站性能

embedded/2025/1/7 10:34:57/

文章目录

    • 前言
    • 1.关于Uptime Kuma
    • 2.安装Docker
    • 3.本地部署Uptime Kuma
    • 4.使用Uptime Kuma
    • 5.cpolar内网穿透工具安装
    • 6.创建远程连接公网地址
    • 7.固定Uptime Kuma公网地址

前言

大家好!如果你是网站运维人员或者管理着多个站点,那么今天我要介绍的一款工具绝对能成为你的得力助手——Uptime Kuma。这款开源监控工具不仅拥有直观的图形用户界面,还能实时反馈服务器的各种状态信息,让你轻松掌握每一个细节。

无论是新手还是资深运维工程师,都能在几分钟内完成安装和设置,并且它支持多种监控类型,如HTTP、DNS、关键词匹配等。更重要的是,结合内网穿透工具,你甚至可以实现远程监控,无需公网IP或复杂的路由器配置。接下来,让我们一起深入了解Uptime Kuma的五大优势吧!

在这里插入图片描述

1.关于Uptime Kuma

Uptime Kuma可以添加的监控项包括HTTP(s)、TCP、HTTP(s)关键词、HTTP(s) JSON查询、Ping、DNS记录、推送、Docker容器运行时间、Steam游戏服务等常见网站运行参数。当服务器发生意外情况时,Uptime Kuma支持用户选择70多种通知服务,例如Telegram、Discord、Gotify、Slack、Pushover、电子邮件等,以便及时接收网站服务故障通知,帮助用户减少经济损失。

Uptime Kuma具有灵活高效的用户交互界面,用户可以根据需要隐藏或显示监控状态,并且可以使用网页标签功能对不同功能的网站进行分类,以便在特定时段关注高风险站点。此外,Uptime Kuma还提供多种语言支持,官方就提供了中文语言包。

Github地址:GitHub - louislam/uptime-kuma: A fancy self-hosted monitoring tool

以下是Uptime Kuma支持的功能特性:

  • 监控类型:支持监控 HTTP(s) / TCP / HTTP(s) 关键字 / HTTP(s) Json 查询 / Ping / DNS 记录 / Push / Steam 游戏服务器 / Docker 容器 / 数据库(SQL Server、PostgreSQL、MySQL、MongoDB、Redis 等)
  • 通知类型:支持 Telegram / Discord / Gotify / Slack / Pushover / Email / Webhook 等 90 多种通知方式
  • 检测间隔:支持最低 20 秒的检测间隔
  • 图表:支持以图表形式查看历史数据

img

2.安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

在终端中执行下方命令安装docker:

curl -fsSL https://get.docker.com -o get-docker.sh

然后再启动docker

sudo sh get-docker.sh

最后我们在docker容器中运行下 hello world 看一下是否安装成功。

sudo docker container run hello-world

可以看到出现了hello world,说明我们已经安装docker成功,就可以进行下一步了

image-20241008151101668

3.本地部署Uptime Kuma

本项目提供了一键安装脚本:

sudo docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

一条命令实现,本项目使用的是3001端口,需要在防火墙放开。

image-20241008152837865

现在就已经安装成功啦!您可以通过打开Web浏览器输入localhost:3001来登录或注册您的Uptime Kuma啦!

注意

如果你想限制对 localhost 的公开(不为其他用户公开端口或使用反向代理),你可以像这样公开端口:

sudo docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

image-20241008154100927

PS:如果因为网络问题拉取不到镜像,可以在终端执行下面这行命令,编辑配置文件

输入:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hub.geekery.cn/","https://ghcr.geekery.cn"]
}
EOF

保存退出

然后执行:sudo systemctl restart docker

4.使用Uptime Kuma

注册登录后进入到仪表盘,可以直接点击左上角的”添加监控项“

image-20241008154248421

根据自己的需求选择监控类型,这里以监控cpolar为例,在URL中填写上cpolar的地址后保存

image-20241008154610010

稍等片刻就能看到监控的数据以及图标

image-20241008154640976

小结

上面在本地Linux中使用Docker成功部署了Uptime Kuma,并局域网访问成功。整体来说Uptime Kuma是一款非常不错的网站监控工具,它提供了完备的功能,并且具有非常好的实用性和易用性,并且也非常容易安装部署。

如果想在公网远程管理Uptime Kuma,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器,可节省大量的资金。

5.cpolar内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

6.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: Uptimekuma注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:https://localhost:3001
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241008162716882

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241008162834134

如下图所示,成功实现使用公网地址异地远程访问本地部署的Uptime Kuma

image-20241008162949031

使用上面的cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Uptime Kuma管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需自己购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!

7.固定Uptime Kuma公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

登录cpolar官网:https://www.cpolar.com

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241008163159036

保留成功后复制保留的二级子域名地址:

image-20241008163253138

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241008163344819

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241008163514702

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241008163623531

最后,我们使用固定的公网地址访问Uptime Kuma管理界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241008163721122

image-20241008163745084

通过本文的介绍,相信你已经对 Uptime Kuma 有了全面的认识,并了解了它在网站运维中的巨大价值。无论是简单的安装过程、强大的功能支持还是直观的可视化界面,都让这款开源工具成为了不可多得的好帮手。如果你还有任何疑问或需要进一步的帮助,请随时留言交流!


http://www.ppmy.cn/embedded/151660.html

相关文章

鸿蒙开发:了解正则表达式

前言 从给出的文本中&#xff0c;按照既定的相关规则&#xff0c;匹配出符合的数据&#xff0c;其中的规则就是正则表达式&#xff0c;使用正则表达式&#xff0c;可以使得我们用简洁的代码就能实现一定复杂的逻辑&#xff0c;比如判断一个邮箱账号是否符合正常的邮箱账号&…

NLP中特征提取方法的总结

1. Bag of Words (BOW) 描述&#xff1a;将文本表示为一个词汇表中的词频向量&#xff0c;忽略词的顺序。 优点&#xff1a;实现简单&#xff0c;广泛应用。 缺点&#xff1a;不考虑词序和上下文信息&#xff0c;向量空间维度可能非常大。 应用&#xff1a;文本分类、情感分…

ThinkPHP 8高效构建Web应用-控制器

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 控制器无须特…

内部类 --- (寄生的哲学)

内部类总共有 4 种&#xff08;静态内部类、非静态内部类、局部内部类、匿名内部类&#xff09; 作用&#xff1a; 一&#xff1a;内部类提供了更好的封装&#xff0c;可以把内部类隐藏在外部类之内&#xff0c;不允许同一个包中的其他类访问该类。 二&#xff1a;内部类可以…

OpenCV 图像处理之形态学转换

摘要: 形态学转换是图像处理中的重要技术,它基于图像的形状特征进行操作,能够有效地对图像进行增强、去噪、分割等处理。本文详细介绍了 OpenCV 中形态学转换的多种方法,包括侵蚀、扩张、开运算、闭运算、形态学梯度、顶帽和黑帽,并通过 Python 代码实现这些方法,深入探讨…

RabbitMQ概述

目录 RabbitMQ概述 前言 MQ MQ的作用 为什么选择RabbitMQ RabbitMQ的介绍 RabbitMQ概述 前言 Rabbit, 兔⼦的意思 互联⽹⾏业很多公司, 都喜欢⽤动物命名产品, 或者作为公司的logo, 吉祥物. ⽐如: 腾讯的企鹅, 京东的狗, 美团的袋⿏, 携程的海豚,阿⾥就更多了, 蚂蚁, ⻜…

python实现,outlook每接收一封邮件运行检查逻辑,然后发送一封邮件给指定邮箱

以下是一个使用 Python 和 win32com.client 模块实现的示例代码&#xff0c;每当 Outlook 接收到一封新邮件时&#xff0c;执行检查逻辑并发送一封邮件到指定邮箱。这个代码依赖于 Windows 系统和安装了 Microsoft Outlook。 环境准备 确保安装了 pywin32 库&#xff1a;pip …

文件I/O - 文件读写操作

引言 文件输入输出&#xff08;I/O&#xff09;是编程中非常常见的任务&#xff0c;尤其是在处理大量数据或需要持久化存储时。C 提供了多种方式来进行文件的读写操作&#xff0c;包括使用标准库中的 fstream、ifstream 和 ofstream 类。本文将详细介绍如何在 C 中进行文件的读…