Docker部署一款小巧又强大的的自托管网站监控工具Uptime Kuma

news2024/10/18 23:41:59

文章目录

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

💡 推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】

前言

本篇文章介绍如何在本地部署Uptime Kuma,并结合cpolar内网穿透实现公网远程访问。

说起网站相信大家都已经非常熟悉了,很多人手里都会有多个网站,那么在管理自己网站的时候,往往就需要一个不错的监控工具。

今天给大家分享的开源项目,能直观的图形用户界面实时反馈服务器的可用性、性能和健康状况,是你运维管理的好帮手,它就是Github上拥有庞大的贡献者而且拥有57k star的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

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套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录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了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装Uotime Kuma的全部过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2218092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CVE-2024-36971漏洞修复----Debian 10.13 内核升级

CVE-2024-36971漏洞修复---Debian 10.13 内核升级 1. 下载内核2. 安装依赖包3. 二进制安装3.1 上传3.2 解压3.3 修改配置文件3.4 编译3.5 安装内核及模块 4. 重启服务器并确认升级成功 1. 下载内核 到kernel.org下载新版的Kernel 由于开发那边不想让Kernel跨大版本,所以就升级…

【优选算法】——双指针(上篇)!

🌈个人主页:秋风起,再归来~🔥系列专栏:C刷题算法总结🔖克心守己,律己则安 目录 前言:双指针 1. 移动零(easy) 2. 复写零(easy) 3…

VSCode C/C++跳转到定义、自动补全、悬停提示突然失效

昨天像往常一样用vscode连接云服务器写代码,突然发现跳转到定义、自动补全、悬停提示功能全部不能正常使用了,今天折腾了一上午,看了一大堆教程,最后可算是解决了,因为大家说不定会遇到和我一样的问题,所以…

【工具篇】MLU运行XInference部署手册

文章目录 前言一、平台环境准备二、代码下载三、安装部署1.正常pip 安装 四、运行结果展示1.如果界面404或没有东西请这样做2.运行效果 前言 Xorbits Inference(Xinference)是一个功能强大、用途广泛的库,旨在为语言、语音识别和多模态模型提…

自监督学习:引领机器学习的新革命

引言 自监督学习(Self-Supervised Learning)近年来在机器学习领域取得了显著进展,成为人工智能研究的热门话题。不同于传统的监督学习和无监督学习,自监督学习通过利用未标注数据生成标签,从而大幅降低对人工标注数据…

数据库-01MYSQL-001MySQL知识点查漏补缺

MySQL知识点查漏补缺 数据库常识不常见知识点: 数据库常识 知识点001: between…and … 包含临界值。 知识点002:任何内容与null相加等于null。 知识点003:模糊查询涉及的函数有:like,between…and…, in/…

机器的“眼睛“:计算机视觉技术背后的魔法

计算机视觉,作为人工智能领域中的一颗璀璨明珠,正逐步改变着我们的生活方式。它赋予了机器“看”的能力,使得计算机能够从图像和视频中提取信息并进行分析,就像人类用眼睛和大脑来理解世界一样。本文将带你走进计算机视觉的世界&a…

解决linux服务器磁盘占满问题(详细,有效,100%解决)

应用场景: 在我们的日常开发中,我们的服务器总是在不知不觉中磁盘莫名奇妙少了很多空间,或者被占满了,如果这时候要想要存储什么文件,突然发现空间不够了。但我们通常也不知道那些文件占用的空间大,这时候…

ANSYS Workbench纤维混凝土3D

在ANSYS Workbench建立三维纤维混凝土模型可采用CAD随机几何3D插件建模后导入,模型包含球体粗骨料、圆柱体长纤维、水泥砂浆基体等不同组分。 在CAD随机几何3D插件内设置模型参数后运行,即可在AutoCAD内建立三维纤维混凝土模型,插件支持任意…

牛客习题—线性DP 【mari和shiny】C++

你好,欢迎阅读我的文章~ 个人主页:Mike 所属专栏:动态规划 mari和shiny mari和shiny ​ 分析: 使用动态规划的思路来解决。 思路: 分别统计s,sh,shy的数量即可。使用ss来统计字符s的数量,使…

LC1523.在区间范围内统计奇数数目

一开始没审题,居然构造了一个数组去做… 然后重新看,首先先想到的暴力解就是遍历low到high,然后每一个数都对二取余。但是这样的暴力解就没什么锻炼 那肯定再想一个思路,Low和high都有两种情况,要么是奇数&#xff0c…

30.第二阶段x86游戏实战2-遍历周围-C++遍历二叉树(玩家角色基址)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

衡石分析平台系统分析人员手册-应用查看

应用查看​ 应用创作界面展示了用户可以查看的所有应用。 用户可以使用平铺视图或列表视图查看应用。同时支持通过搜索、过滤、排序等方式快速查找应用。 应用视图​ 应用创作支持平铺视图和列表视图两种展示方式,默认以平铺视图的方式展示应用,用户可…

2024 蚂蚁SEO蜘蛛池对网站收录的帮助

《2024 蜘蛛池对网站收录还有效果吗?》 在网站优化的领域中,蜘蛛池曾经是一个备受关注的工具。然而,随着搜索引擎算法的不断演进,人们对于 2024 年蜘蛛池对网站收录是否还有效果产生了疑问。 一、什么是蜘蛛池? 蜘蛛池…

APQP在制造行业的应用:搭上数字化项目管理平台很nice

APQP(Advanced Product Quality Planning,即产品质量先期策划)最早由汽车行业引入,并因其在质量管理方面的显著效果而逐渐被其他制造业领域所采纳。 APQP提供了一种从产品设计的最初阶段到生产过程的全面质量管理框架,…

使用fpm工具制作Vim.rpm包

背景:生产环境中的CentOS 7在安全扫描中被扫描出vim存在堆缓冲区溢出(CVE-2024-45306)等漏洞。根据漏洞说明,需要升级到最新版。 奈何CentOS 7已经停止维护了,所以,想在网上找一个最新版的vim.rpm相当不容易…

数字图像处理:图像复原应用

数字图像处理:图像复原应用 1.1 什么是图像复原? 图像复原是图像处理中的一个重要领域,旨在从退化(例如噪声、模糊等)图像中恢复出尽可能接近原始图像的结果。图像复原与图像增强不同,复原更多地依赖于图…

ES6 Promise的用法

学习链接:ES6 Promise的用法,ES7 async/await异步处理同步化,异步处理进化史_哔哩哔哩_bilibili 一、同步与异步区别 1.JavaScript代码是单线程的程序,即通过一行一行代码顺序执行,即同步概念。 2.若处理一些简短、…

数据结构部分混淆

1.随机存储和顺序存储: 随机存取:数组,当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关 顺序存取:链表,当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物…

力扣之1412.查找成绩处于中游的学生

题目: sql建表语句: Create table If Not Exists Student (student_id int, student_name varchar(30)); Create table If Not Exists Exam (exam_id int, student_id int, score int); Truncate table Student; insert into Student (student_id,…