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…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
《Offer来了:Java面试核心知识点精讲》大纲
文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

