当前位置: 首页 > news >正文

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。

hostnameIP地址操作系统版本内核版本node.js版本服务器类别
--centos 7.63.10.0-957.el7.x86_64v16.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的代码编写&#xff…...

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命令来安装这些库。 准备输入数据。这些数据可以是来自物联网设备的原始数据&#xff…...

使用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。 🏆数年电商行业从业经验,历任核心研发工程师&#xff0…...

【每日一题】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…...

css经典面试题(二)

文章目录 1、清除浮动2、opacity: 0、visibility: hidden、display: none 的区别3、css画一个三角形4、常见的主流浏览器前缀5、重绘与重排的区别?6、如何优化图片7、CSS3 中 transition 和 animation 的属性分别有哪些8、居中为什么要使用 transform(为…...

jira搜索search issue条目rest实用脚本

官方文档链接地址: The Jira Cloud platform REST API 实用json请求脚本如下: {"fields": ["summary","status"],"jql": "project abc AND summary ~ 【%s】【coverity】 AND componentCoverity"…...

《C++ primer plus》精炼(OOP部分)——对象和类(5)

“学习是照亮心灵的火炬,它永不熄灭,永不止息。” 文章目录 类的自动和强制类型转换原始类型转换为自定义类型将自定义类型转换为原始类型 类的自动和强制类型转换 原始类型转换为自定义类型 可以用一个参数的构造函数来实现,例如&#xff…...

钉钉旧版服务端SDK支持异步方法的升级改造

最近项目中需要对接钉钉,有些钉钉 API 的访问需要使用旧版服务端 SDK 才能搞定,但是这个 SDK 使用的还是 .NET Framework 2.0 框架,不能跨平台部署,也不支持 async\await 的异步操作方法,Nuget 上也有其它用户改造的 .…...

【C语言】【数据存储】用%d打印char类型数据,猜结果是啥

题目代码如下&#xff1a; #include <stdio.h> int main() {char a -1;signed char b-1;unsigned char c-1;printf("a%d,b%d,c%d",a,b,c);return 0; }解题关键&#xff1a; 1.二进制存储&#xff1a;原码&#xff0c;反码&#xff0c;补码 互换 2.截断 3.整型…...

算法——双指针

1658. 将 x 减到 0 的最小操作数 - 力扣&#xff08;LeetCode&#xff09; 这道题的重点是&#xff0c;如何用最小的操作数&#xff0c;来使其x变为0——也可以看作是用最少的数据个数&#xff0c;来求和得到x。 ——但是我们可以知道&#xff0c;由于数据是从两端向中间取的…...

【PowerQuery】Excel的PowerQuery按需刷新

将数据通过PowerQuery 导入进来后,这里将进行数据分组运算,最终的数据计算结果将保存在Excel 表格中,图为销售统计结果。 在Excel中,如果我们希望进行销售统计的手动更新可以使用几种不同的方法来进行刷新: 刷新单一数据连接如果仅仅需要刷新单一数据连接的话我们可以通过…...

Django REST Farmowork初探

1.简介 Django REST framework &#xff08;简称&#xff1a;DRF&#xff09;是一个强大而灵活的 Web API 工具。 遵循RESTFullAPI风格&#xff0c;功能完善&#xff0c;可快速开发API平台。 官网文档&#xff1a;https://www.django-rest-framework.org 2. framwork的安装 …...

【flink进阶】-- Flink kubernetes operator 版本升级

目录 1、检查当前 flink kubernetes operator 版本 2、停止生产上正在运行的 flink job 3、升级 CRD...

Linux Ubuntu20.04深度学习环境快速配置命令记录

一、驱动安装 1、更新系统包 sudo apt-get updatesudo apt-get upgrade 2、安装显卡驱动 使用apt方式安装驱动&#xff0c;多数情况不容易成功&#xff0c; 使用一下方法更佳&#xff1a; 1.查看合适显卡的驱动版本 ubuntu-drivers devices NVIDIA GeForce 驱动程序 - …...

微信公众号采集插件wordpress/seo查询工具网站

像排序这种事情&#xff0c;用C/C可以写&#xff0c;但很麻烦&#xff0c;交给sort就好了&#xff0c;功能很强大的。1、按照多个列排序(列间空格分开)&#xff1a;测试数据&#xff1a;先按照第1列排序&#xff0c;再第2列的命令&#xff1a;2011-11-20补充&#xff1a;必须加…...

做网站所需要的代码6/流量平台有哪些

前面在“数字调制系列&#xff1a;IQ 基本理论”一文中介绍了 IQ 的概念、常用数字调制方式及映射星座图等内容&#xff0c;当完成数字比特流到 IQ 坐标系的映射后&#xff0c;便可以得到数字 I 和 Q 信号&#xff0c;然后分别经过 DAC 变换为模拟 I 和 Q 信号&#xff0c;最后…...

网上做调查赚钱的网站/营销型网站建设套餐

Android开发之调用外部应用打开指定文件 Android应用打开另一个应用程序 Android app中调用启动其他应用&#xff08;系统应用和第三方应用&#xff09;2016.10.25新增android 6.0打电话api Android调用另一个App界面 Android中通过外部程序启动App的三种方法...

宠物网站素材/文案发布平台

提问嘉宾&#xff1a; 盛国军&#xff0c;上海麦考林信息科技有限公司首席架构师。曾历任8848软件架构师、光芒国际磊客中国技术总监。具有10年互联网和电子商务开发经验&#xff0c;5年软件架构师经验&#xff0c;3年两千万美金投资的大型网站技术总监管理经验。 回答嘉宾&…...

在那些网站可以接兼职做/seo排名关键词点击

background: linear-gradient(to bottom, #000000 0%,#ffffff 100%);&#xff08;标准&#xff09;linear-gradient 在 ie9 以下是不支持的&#xff0c;所以对于 ie6 - ie8 我们可以使用滤镜来解决。如下代码&#xff1a;filter: progid:DXImageTransform.Microsoft.gradient(s…...

c2c网站的类型/百度推广官方网站

skyline是一款不错的三维编辑浏览软件&#xff0c;官方提供的是英文版&#xff0c;目前还没有汉化包&#xff0c;为了使用方便&#xff0c;我们需要汉化一些简单的对话框&#xff0c;本文介绍如何汉化skyline右键菜单。 首先打开skyline的安装目录&#xff0c;在TerraExplorer …...