【Docker项目实战】使用Docker部署Lunalytics开源监控工具
一、Lunalytics介绍
1.1 Lunalytics简介
Lunalytics
是一个使用 Node.js 构建的开源监控工具,专注于提供简单而强大的方式来监控网站和服务器的运行状态。它旨在为用户提供一个可完全自托管、高度可定制且多用户支持的监控解决方案,适用于个人开发者、团队以及企业用户。
1.2 Lunalytics主要特点
- 易于自我托管:部署简单,适合本地或云端环境,方便用户完全掌控数据。
- 监控 HTTP(s)/TCP 的运行时间:支持对网站和服务器进行实时健康检查。
- 支持多个用户:提供多用户管理功能,适合团队协作使用。
- 完全可定制的状态/仪表板页面:用户可自由定义监控页面的布局与内容。
- 基于角色的访问控制:支持不同权限级别的用户角色管理。
- 干净且易于使用的用户体验/用户界面:界面简洁直观,提升使用效率。
- 可定制的用户配置文件/主题/颜色:支持个性化外观设置,满足不同审美需求。
- 支持通知:提供多种通知渠道,确保异常及时提醒。
- 支持 Discord、Slack、Telegram、Webhook 等通知方式:集成主流通信平台,方便灵活。
1.3 注意事项
⚠️ 注意事项
- 项目仍处于积极开发阶段,部分功能可能不稳定,存在崩溃风险。
- 部分高级功能可能尚未完善,后续将不断更新与优化。
- 建议在测试环境中使用,生产环境使用前请做好评估与备份。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | Lunalytics |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Lunalytics开源监控工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-07-18 07:25:10 UTC; 3 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 810 (dockerd)
Tasks: 104
Memory: 191.8M
CPU: 5min 40.472s
CGroup: /system.slice/docker.service
├─ 810 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、拉取Lunalytics镜像
拉取Lunalytics容器镜像,如下所示:
docker pull ksjaay/lunalytics:latest
五、部署Lunalytics服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/lunalytics && cd /data/lunalytics
5.2 编辑部署文件
使用docker-cli方式部署,命令参考如下:
docker run -d \
-p 2308:2308 \
-v /path/to/data:/app/data \
-v /path/to/logs:/app/logs \
ksjaay/lunalytics:latest
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
services:
lunalytics:
image: ksjaay/lunalytics:latest
restart: always
container_name: lunalytics
ports:
- '2308:2308'
volumes:
- /data/lunalytics/data:/app/data
- /data/lunalytics/logs:/app/logs
5.3 创建Lunalytics容器
执行以下命令,创建Lunalytics容器。
docker compose up -d
5.4 查看Lunalytics容器状态
检查Lunalytics容器运行状态,确保Lunalytics容器正常启动。
root@jeven01:/data/lunalytics# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
lunalytics ksjaay/lunalytics:latest "docker-entrypoint.s…" lunalytics 28 seconds ago Up 28 seconds 0.0.0.0:2308->2308/tcp, [::]:2308->2308/tcp
5.5 查看Lunalytics容器日志
检查Lunalytics容器运行日志,确保Lunalytics服务正常运行。
docker compose logs
六、访问Lunalytics服务
6.1 访问初始页
浏览器地址:
http://<个人的服务器IP>:2308
,访问Lunalytics的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
6.2 注册账号
自定义填写账号信息,按照注册提示一次点击下一步,完成账号注册流程。
这里我们选择基础安装,默认使用SQLite数据库;如果选择高级安装,则可以选择数据库类型,例如PostgreSQL数据库。
七、Lunalytics基本使用
点击“New”选项,进入监控项配置页。
填写监控信息,例如填写百度网站的网址(如
https://www.baidu.com
)及简要描述。
监控项配置完成后,Lunalytics 的界面简洁美观,整体效果直观清晰,带来良好的使用体验。
八、总结
通过 Docker 部署 Lunalytics,可以快速搭建一个功能完善的开源监控平台,实现对网站和服务器运行状态的实时监控。整个部署过程简单高效,极大地降低了环境配置的复杂性。Lunalytics 凭借其简洁美观的界面和丰富的功能,为用户提供了良好的使用体验。随着项目的持续更新与优化,未来将具备更强的稳定性和扩展性,值得个人和团队关注与使用。
- 点赞
- 收藏
- 关注作者
评论(0)