基于华为openEuler部署uptime-kuma监控面板【华为根技术】
基于华为openEuler部署uptime-kuma监控面板【华为根技术】
前言
在现代IT运维中,监控系统的健康和性能是确保服务稳定运行的关键。本次实践将介绍如何在 openEuler 系统上使用 Docker 部署 Uptime Kuma,一个开源且多功能的服务器监控面板,帮助我们轻松实现对网络服务的全面监控。通过此次实战,读者不仅能掌握 Uptime Kuma 的部署方法,还能学习到如何利用 Docker 和 Docker Compose 快速搭建高效的监控环境。
一、相关服务介绍
1.1 openEuler系统介绍
- 简介
openEuler
是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。
- 主要特点
- 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
- 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
- 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
- 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
- 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。
1.2 uptime-kuma介绍
- Uptime Kuma 介绍
Uptime Kuma 是一款开源的多功能服务器监控面板,专为监控网站、服务和API的状态而设计。它提供了一个直观且功能丰富的用户界面,让用户能够轻松地设置和管理各种监控任务。无论是个人项目还是企业级应用,Uptime Kuma 都能提供可靠的监控解决方案,确保您的在线资源始终处于最佳状态。
-
开源与免费
- Uptime Kuma 基于 MIT 许可证发布,完全免费且开源,允许用户自由使用、修改和分发。这使得它成为寻找成本效益高的监控工具的个人和企业的理想选择。
-
多种监控类型支持
- 支持 HTTP(S)、TCP、DNS、ICMP(Ping)、私有和公开的WebSocket等多种监控类型,满足不同场景下的监控需求。
-
自定义通知
- 提供了广泛的告警机制,包括电子邮件、Telegram、Discord等,用户可以根据自己的需要配置不同的通知方式,在问题发生时及时得到提醒。
-
美观的仪表盘
- 拥有一个现代感十足且高度可定制的仪表盘,可以实时展示所有被监控目标的状态。通过这个仪表盘,用户可以一目了然地了解系统健康状况。
-
高可用性
- 设计上考虑到了高可用性,可以部署在多个地理位置以实现冗余和负载均衡,保证监控服务本身的可靠性。
-
易于安装与维护
- 安装过程简单快捷,适合快速部署。同时,由于其容器化的架构(支持 Docker),维护起来也非常方便,容易升级和扩展。
-
数据持久化
- 支持将监控数据持久化存储,以便进行历史数据分析和趋势预测,帮助用户更好地理解服务性能并作出相应调整。
-
轻量级
- 轻量级的设计使其能够在资源有限的环境下高效运行,无需大量计算资源即可完成高效的监控任务。
二、本次实践介绍
2.1 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署uptime-kuma监控面板。
2.2 本次环境规划
本次环境规划如下所示:
服务器 | HostName | IP地址 | 操作系统 | 内核版本 | 部署项目 |
---|---|---|---|---|---|
VM虚拟机 | openEuler | 192.168.3.83 | openEuler 24.03 (LTS) | 6.6.0-28.0.0.34.oe2403.x86_64 | uptime-kuma监控面板 |
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
[root@openEuler ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
Active: active (running) since Sat 2025-03-29 20:58:28 CST; 1 day 20h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1382 (dockerd)
Tasks: 10
Memory: 115.9M ()
CGroup: /system.slice/docker.service
└─1382 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
3.2 检查Docker版本
检查Docker版本,当前安装版本为
26.1.3
。
[root@openEuler ~]# docker -v
Docker version 26.1.3, build b72abbb
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@openEuler ~]# docker compose version
Docker Compose version v2.27.0
四、拉取uptime-kuma镜像
执行以下命令,拉取uptime-kuma容器镜像。
[root@openEuler ~]# docker pull louislam/uptime-kuma:1
1: Pulling from louislam/uptime-kuma
b338562f40a7: Pull complete
874bf4d93720: Pull complete
b16337721583: Pull complete
7d955db85b85: Pull complete
2c706596bd17: Pull complete
88a5c59ed14f: Pull complete
5a1d0a896c33: Pull complete
e68c2f25b946: Pull complete
2e6c90f010d6: Pull complete
ff15b10fabb8: Pull complete
4f4fb700ef54: Pull complete
d2a400cc8adb: Pull complete
Digest: sha256:431fee3be822b04861cf0e35daf4beef6b7cb37391c5f26c3ad6e12ce280fe18
Status: Downloaded newer image for louislam/uptime-kuma:1
docker.io/louislam/uptime-kuma:1
五、部署uptime-kuma服务
6.1 创建挂载目录
执行以下命令,创建uptime-kuma挂载目录/data/kuma/data。
mkdir -p /data/kuma/data && cd /data/kuma/
6.2 编辑docker-compose.yaml文件
如果想要使用docker-cli创建uptime-kuma容器,可参考以下命令:
docker run -d --name kuma --restart=always -p 3001:3001 -v /data/kuma/data:/app/data -v /var/run/docker.sock:/var/run/docker.sock louislam/uptime-kuma:1
本次实践部署使用docker compose方式,编辑docker-compose.yaml文件。部署文件中的宿主机映射端口可自定义修改,注意防止宿主机端口冲突。
vim docker-compose.yaml
version: '3.9'
services:
uptime-kuma:
image: 'louislam/uptime-kuma:1'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '/data/kuma/data:/app/data'
ports:
- '3001:3001'
restart: always
container_name: kuma
6.4 创建uptime-kuma文件容器
执行以下命令,使用docker-compose.yaml文件创建uptime-kuma容器。
[root@openEuler kuma]# docker compose up -d
WARN[0000] /data/kuma/docker-compose.yaml: `version` is obsolete
[+] Running 2/2
✔ Network kuma_default Created 0.1s
✔ Container kuma Started 0.3s
6.5 检查uptime-kuma容器状态
检查uptime-kuma文件容器状态,确保uptime-kuma容器正常运行。
[root@openEuler kuma]# docker compose ps
WARN[0000] /data/kuma/docker-compose.yaml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
kuma louislam/uptime-kuma:1 "/usr/bin/dumb-init …" uptime-kuma 35 seconds ago Up 34 seconds (health: starting) 0.0.0.0:3001->3001/tcp, :::3001->3001/tcp
6.6 检查uptime-kuma容器日志
执行以下命令,查看uptime-kuma容器日志,确保uptime-kuma服务正常启动。
docker compose logs
6.7 安全设置
- 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- 停止本地防火墙
systemctl stop firewalld
systemctl disable firewalld
七、访问uptime-kuma服务
访问地址:http://服务器IP地址3001,将IP替换为自己服务器的IP地址,进入到uptime-kuma初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。
我们创建登录账户和密码,自行填写后,确认创建即可。
八、uptime-kuma的基本使用
8.1 添加http监控项
点击“添加监控项”,监听类型选择HTTP(s),名称和监控网址,其余监控项按自己需求设置即可。
8.2 添加docker监控项
选择系统设置——Docker宿主——配置docker宿主信息,进入其配置页面。
自定义填写名称,确认保存即可。
开始添加docker监控项,监控类型为Docker,填写监控名称和容器名,宿主机选择刚才设置的,确认保存即可。
九、总结
通过这次实践,我们成功地在 openEuler 系统上使用 Docker 部署了 Uptime Kuma,体验了从环境配置、镜像拉取、服务部署到功能使用的全过程。Uptime Kuma 凭借其丰富的监控类型支持和直观的用户界面,证明了它是一个强大而灵活的监控工具。未来,可以根据实际需求进一步探索更多高级配置选项,如集成更多的告警机制或数据持久化策略,以提升监控系统的可靠性和效率。
- 点赞
- 收藏
- 关注作者
评论(0)