Linux系统之安装uptime-kuma服务器监控面板
Linux系统之安装uptime-kuma服务器监控面板
- 一、uptime-kuma介绍
- 1.1 uptime-kuma简介
- 1.2 uptime-kuma特点
- 二、本次实践环境介绍
- 2.1 环境规划
- 2.2 本次实践介绍
- 2.3 环境要求
- 三、检查本地环境
- 3.1 检查本地操作系统版本
- 3.2 检查系统内核版本
- 3.3 检查系统是否安装Node.js
- 四、部署Node.js 环境
- 4.1 下载Node.js安装包
- 4.2 解压Node.js安装包
- 4.3 复制二进制文件
- 4.4 配置环境变量
- 4.5 查看node版本
- 五、安装uptime-kuma
- 5.1 下载uptime-kuma源码包
- 5.3 设置npm镜像源
- 5.4 安装uptime-kuma
- 5.5 检查uptime-kuma服务状态
- 六、uptime-kuma基本使用
- 6.1 创建管理员账号
- 6.2 添加监控项
一、uptime-kuma介绍
1.1 uptime-kuma简介
uptime-kuma是一款开源的、多功能的服务器监控面板 。
1.2 uptime-kuma特点
- 监控 HTTP(s) / TCP / HTTP(s) 关键字 / HTTP(s) Json 查询 / Ping / DNS 记录 / 推送 / Steam 游戏服务器 / Docker 容器的正常运行时间
- 精美、反应式、快速的 UI/UX
- 通过 Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 和90 多种通知服务发送通知,请单击此处查看完整列表
- 20 秒间隔
- 多种语言
- 多个状态页面
- 将状态页面映射到特定域
- 平图
- 证书信息
- 代理支持
- 2FA 支持
二、本次实践环境介绍
2.1 环境规划
本次实践为个人测试环境,使用服务器华为云ECS云服务器,
操作系统版本为centos7.6。
| hostname | IP地址 | 操作系统版本 | 内核版本 | node.js版本 | 服务器类别 |
|---|---|---|---|---|---|
| - | - | centos 7.6 | 3.10.0-957.el7.x86_64 | v16.17.0 | 华为云ECS云服务器 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境;
2.在centos7.6环境下部署uptime-kuma服务器监控面板。
2.3 环境要求
- 系统要求
✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc.
✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher
❌ Replit / Heroku
- node.js和npm版本要求
Node.js 14 / 16 / 18 / 20.4
npm >= 7
三、检查本地环境
3.1 检查本地操作系统版本
检查本地操作系统版本
[root@ecs-52b7 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
3.2 检查系统内核版本
检查系统内核版本
[root@ecs-52b7 ~]# uname -r
3.10.0-1160.92.1.el7.x86_64
3.3 检查系统是否安装Node.js
检查系统是否安装Node.js
[root@ecs-52b7 ~]# node -v
-bash: node: command not found
四、部署Node.js 环境
4.1 下载Node.js安装包
下载Node.js安装包
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz
4.2 解压Node.js安装包
解压Node.js安装包
tar -xvJf node-v16.17.0-linux-x64.tar.xz

4.3 复制二进制文件
将 /root/node-v16.17.0-linux-x64/bin/下的二进制文件复制到/usr/local/bin下
cp -a /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
cp -a /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm
4.4 配置环境变量
- 在/etc/profile文件中,新增以下两行:
export NODE_HOME=/root/node-v16.17.0-linux-x64/bin/
export PATH=$PATH:$NODE_HOME:/usr/local/bin/
- 使变量生效
source /etc/profile
4.5 查看node版本
查看node版本
[root@ecs-52b7 ~]# npm -v
8.15.0
[root@ecs-52b7 ~]# node -v
v16.17.0
五、安装uptime-kuma
5.1 下载uptime-kuma源码包
- 下载uptime-kuma源码包
git clone https://github.com/louislam/uptime-kuma.git
- 查看uptime-kuma源码包
[root@ecs-52b7 uptime-kuma]# tree -L 2 ./
./
├── babel.config.js
├── CNAME
├── CODE_OF_CONDUCT.md
├── config
│ ├── cypress.config.js
│ ├── cypress.frontend.config.js
│ ├── jest-backend.config.js
│ └── vite.config.js
├── CONTRIBUTING.md
├── db
│ ├── kuma.db
│ ├── patch10.sql
│ ├── patch1.sql
│ ├── patch-2fa-invalidate-used-token.sql
│ ├── patch-2fa.sql
│ ├── patch2.sql
│ ├── patch3.sql
│ ├── patch4.sql
│ ├── patch5.sql
│ ├── patch6.sql
│ ├── patch7.sql
│ ├── patch8.sql
│ ├── patch9.sql
│ ├── patch-add-certificate-expiry-status-page.sql
│ ├── patch-add-clickable-status-page-link.sql
│ ├── patch-add-description-monitor.sql
│ ├── patch-add-docker-columns.sql
│ ├── patch-added-json-query.sql
│ ├── patch-added-kafka-producer.sql
│ ├── patch-added-mqtt-monitor.sql
│ ├── patch-add-gamedig-given-port.sql
│ ├── patch-add-gamedig-monitor.sql
│ ├── patch-add-google-analytics-status-page-tag.sql
│ ├── patch-add-invert-keyword.sql
│ ├── patch-add-other-auth.sql
│ ├── patch-add-parent-monitor.sql
│ ├── patch-add-radius-monitor.sql
│ ├── patch-add-retry-interval-monitor.sql
│ ├── patch-add-sqlserver-monitor.sql
│ ├── patch-add-timeout-monitor.sql
│ ├── patch-api-key-table.sql
│ ├── patch-group-table.sql
│ ├── patch-grpc-monitor.sql
│ ├── patch-http-body-encoding.sql
│ ├── patch-http-monitor-method-body-and-headers.sql
│ ├── patch-improve-performance.sql
│ ├── patch-incident-table.sql
│ ├── patch-maintenance-cron.sql
│ ├── patch-maintenance-table2.sql
│ ├── patch-monitor-add-resend-interval.sql
│ ├── patch-monitor-basic-auth.sql
│ ├── patch-monitor-expiry-notification.sql
│ ├── patch-monitor-oauth-cc.sql
│ ├── patch-monitor-push_token.sql
│ ├── patch-monitor-tls.sql
│ ├── patch-notification_sent_history.sql
│ ├── patch-ping-packet-size.sql
│ ├── patch-proxy.sql
│ ├── patch-setting-value-type.sql
│ ├── patch-status-page-footer-css.sql
│ └── patch-status-page.sql
├── docker
│ ├── alpine-base.dockerfile
│ ├── builder-go.dockerfile
│ ├── debian-base.dockerfile
│ ├── docker-compose.yml
│ ├── dockerfile
│ ├── dockerfile-alpine
│ └── etc
├── ecosystem.config.js
├── extra
│ ├── beta
│ ├── build-healthcheck.js
│ ├── checkout-pr.js
│ ├── close-incorrect-issue.js
│ ├── compile-install-script.ps1
│ ├── deploy-demo-server.js
│ ├── download-dist.js
│ ├── entrypoint.sh
│ ├── env2arg.js
│ ├── exe-builder
│ ├── fs-rmSync.js
│ ├── healthcheck.go
│ ├── healthcheck.js
│ ├── install.batsh
│ ├── mark-as-nightly.js
│ ├── press-any-key.js
│ ├── remove-2fa.js
│ ├── reset-password.js
│ ├── simple-dns-server.js
│ ├── simple-mqtt-server.js
│ ├── sort-contributors.js
│ ├── test-docker.js
│ ├── update-language-files
│ ├── update-version.js
│ ├── update-wiki-version.js
│ └── upload-github-release-asset.sh
├── index.html
├── install.sh
├── LICENSE
├── package.json
├── package-lock.json
├── public
│ ├── apple-touch-icon.png
│ ├── apple-touch-icon-precomposed.png
│ ├── favicon.ico
│ ├── icon-192x192.png
│ ├── icon-512x512.png
│ ├── icon.png
│ ├── icon.svg
│ └── manifest.json
├── README.md
├── SECURITY.md
├── server
│ ├── 2fa.js
│ ├── auth.js
│ ├── cacheable-dns-http-agent.js
│ ├── check-version.js
│ ├── client.js
│ ├── config.js
│ ├── database.js
│ ├── docker.js
│ ├── google-analytics.js
│ ├── image-data-uri.js
│ ├── jobs
│ ├── jobs.js
│ ├── model
│ ├── modules
│ ├── monitor-types
│ ├── notification.js
│ ├── notification-providers
│ ├── password-hash.js
│ ├── prometheus.js
│ ├── proxy.js
│ ├── rate-limiter.js
│ ├── routers
│ ├── server.js
│ ├── settings.js
│ ├── socket-handlers
│ ├── uptime-cache-list.js
│ ├── uptime-kuma-server.js
│ └── util-server.js
├── src
│ ├── App.vue
│ ├── assets
│ ├── components
│ ├── i18n.js
│ ├── icon.js
│ ├── lang
│ ├── layouts
│ ├── main.js
│ ├── mixins
│ ├── modules
│ ├── pages
│ ├── router.js
│ ├── util-frontend.js
│ ├── util.js
│ └── util.ts
├── test
│ ├── backend.spec.js
│ ├── cypress
│ ├── prepare-test-server.js
│ ├── test_install_script
│ └── test-radius.dockerfile
└── tsconfig.json28 directories, 137 files
5.3 设置npm镜像源
- npm设置国内淘宝镜像源
npm config set registry https://registry.npmmirror.com
- 查看npm镜像源
[root@jeven uptime-kuma]# npm get registry
https://registry.npmmirror.com/
5.4 安装uptime-kuma
- 准备项目环境
npm run setup

- 执行以下命令
node server/server.js &

- 安装 pm2
npm install pm2 -g && pm2 install pm2-logrotate

- 启动uptime-kuma服务
pm2 start server/server.js --name uptime-kuma

5.5 检查uptime-kuma服务状态
- 检查uptime-kuma服务状态
[root@ecs-52b7 uptime-kuma]# ss -tunlp |grep 300
tcp LISTEN 0 511 [::]:3001 [::]:* users:(("node",pid=2209,fd=24))
六、uptime-kuma基本使用
6.1 创建管理员账号
访问地址:IP:3001
将IP地址替换为自己服务器IP地址,云服务器安全组需要放行3001端口,关闭防火墙和selinux。

6.2 添加监控项
检查本地的3001端口是否监听,填写以下监控项基本信息,保存即可。


相关文章:
Linux系统之安装uptime-kuma服务器监控面板
Linux系统之安装uptime-kuma服务器监控面板 一、uptime-kuma介绍1.1 uptime-kuma简介1.2 uptime-kuma特点 二、本次实践环境介绍2.1 环境规划2.2 本次实践介绍2.3 环境要求 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统是否安装Node.js 四、部署…...
计算机组成原理——基础入门总结(一)
本帖更新一些关于计算机组成原理的重点内容。由于博主考研时并不会考这门课,但是考虑到操作系统中又很多重要晦涩的概念涉及很多诸如内存、存储器、磁盘、cpu乃至各种寄存器的知识,此处挑选一些核心的内容总结复盘一遍——实现声明:本帖的内容…...
批量获取CSDN文章对文章质量分进行检测,有助于优化文章质量
📚目录 ⚙️简介✨分析获取步骤⛳获取文章列表☘️前期准备✨ 接口解析⚡️ 获取文章的接口 ☄️文章质量分接口⭐接口分析 ⌛代码实现:⚓核心代码:⛵测试用例:⛴ 运行效果:☘️增加Excel导出 ✍️结束 ⚙️简介 有时候我们写文章是为了记录当下遇到的bu…...
从一到无穷大 #17 Db2 Event Store,A Purpose-Built IoT Database Engine
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言Architectural overviewData format and meta-dataEnsuring fast ingestionMulti…...
9月16日,每日信息差
今天是2023年09月16日,以下是为您准备的15条信息差 第一、天猫超市首单“茅小凌”已由菜鸟送达,首单已由菜鸟供应链完成履约,18分钟送达消费者手中 第二、软银考虑对OpenAI进行投资。此外,软银还初步拟收购英国人工智能芯片制造…...
准备篇(二)Python 教程
Part 1 Python 基础语法区分输入与输出注释文本列表if 语句for 语句range() 函数走向编程的第一个例子Part 2 函数 和 数据结构函数数据结构del 语句列表详解元组集合字典循环的技巧Part 3 输入与输出读写文件打开文件 open()读文件写文件...
HTML+CSS画一个卡通中秋月饼
HTMLCSS画一个卡通中秋月饼🥮🥮🥮 中秋活动水个文章 整个divcss实现个月饼,给前端初学者一个练手的demo 效果图 思路 HTMl 先来个轮廓画脸上的东西:眼睛、眉毛、腮红、嘴巴眼睛丰富下瞳孔画20个花瓣 CSS 轮廓是要外…...
echarts的折线图,在点击图例后,提示出现变化,不报错。tooltip的formatter怎么写
在点击图例的年后,提示框会相应的变化,多选和单选都会响应变化。tooptip的重度在formatter tooltip:{show:true,trigger:"axis",alwaysShowContent:true,triggerOn:"mousemove",textStyle:{color:"#fff"},backgroundColor…...
C++中的auto是一个关键字,用于在编译时自动推导变量的类型
C中的auto是一个关键字,用于在编译时自动推导变量的类型。通过使用auto关键字,编译器可以根据变量的初始化表达式来确定其类型,从而省略了显式地指定类型的步骤。 使用auto关键字声明的变量必须在定义时进行初始化,以便编译器可以…...
VUE build:gulp打包:测试、正式环境
目录 项目结构 Gulp VUE使用Gulp Vue安装Gulp Vue定义Gulp.js package.json build文件夹 config文件夹 static-config文件夹 项目结构 Gulp Gulp是一个自动化构建工具,可以帮助前端开发者通过自动化任务来管理工作流程。Gulp使用Node.js的代码编写ÿ…...
1.使用turtle换一个五环2.设计这样一个程序:输入一个数字 判断它是不是一个质数
1.使用turtle换一个五环 import turtle turtle.pensize(15) turtle.penup() turtle.color(blue) turtle.goto(-150,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtle.color(black) turtle.goto(0,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtl…...
C语言希尔排序
希尔排序(Shell Sort)是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列(由…...
KubeSphere 在互联网医疗行业的应用实践
作者:宇轩辞白,运维研发工程师,目前专注于云原生、Kubernetes、容器、Linux、运维自动化等领域。 前言 2020 年我国互联网医疗企业迎来了“爆发元年”,越来越多居民在家隔离期间不方便去医院看诊,只好采取在线诊疗的手…...
物联网:用python调入机器学习分析物联网数据入侵检测模块
要使用Python调用机器学习分析物联网数据入侵检测模块,您需要以下步骤: 安装Python和相关的机器学习库,如scikit-learn、pandas、numpy等。您可以使用pip命令来安装这些库。 准备输入数据。这些数据可以是来自物联网设备的原始数据ÿ…...
使用scss简化媒体查询
在进行媒体查询的编写的时候,我们可以利用scss与与编译器,通过include混入的方式对代码进行简化,从而大大提高了代码的可维护性,也减少了代码的编写量,废话不多说,直接上代码: // 断点列表 相当…...
win部署CRM
win部署crm) 1.phpstudy2.composer3.代码4.其他配置 周末锴哥让我帮他部署了一个CRM,写个教程,方便之后他用。锴哥用的是 NxCrm,先把代码下下来。 1.phpstudy 1.首先是下载小皮面板,配置php的环境。这里面下载了php8…...
Linux命令200例:dip用于用户与远程主机建立通信连接
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师࿰…...
【每日一题】981. 基于时间的键值存储
981. 基于时间的键值存储 - 力扣(LeetCode) 设计一个基于时间的键值数据结构,该结构可以在不同时间戳存储对应同一个键的多个值,并针对特定时间戳检索键对应的值。 实现 TimeMap 类: TimeMap() 初始化数据结构对象void…...
IMU姿态解算,从IMU数据中计算旋转、速度、位置,IMU测量的原理
0. 预备 a. IMU测量值解释 IMU在测量时,得到的角速度或者加速度均是相对于地心惯性系结果,并且将该结果表示到Body坐标系下,就形成了最终的IMU输出。 记作: ω i b b \omega_{ib}^b ωibb,表示body系相对于惯性系的…...
【Qt-17】Qt调用matlab生成的dll库
matlab生成dll库 1、matlab示例代码 function BDCube(x,y)[x,y,z] cylinder(x,y);t1 hgtransform;s1 surf(3*x,3*y,4*z,Parent,t1);grid onview(3)shading interp end 2、matlab环境配置 首先检查自己的mcc编译器是否可用,输出以下命令: &#x…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

