首发:定制化 Uptime Kuma 部署 + 一键生成企业级 Word 监控报告(附完整教程)
一、前言
作为运维、开发或技术支持人员,日常工作中往往面临两大痛点:
一方面要搭建稳定、可靠的服务可用性监控体系,确保业务 7×24 小时正常运行;
另一方面又要频繁输出周报、月报、巡检报告、客户交付报告等文档——手动整理数据、统计可用性、排版 Word,不仅耗时(通常半小时起步),还极易出现统计错误、格式混乱、重复劳动等问题。
本文为你带来一套一站式监控+自动报告解决方案,核心包含两部分:
- 基于官方源码二次封装的 定制版 Uptime Kuma 镜像,支持多关键字检测,弥补原版功能短板;
- 专为 Uptime Kuma 打造的开源工具 KumaDocReport,一键拉取监控数据,自动生成可直接交付的企业级 Word 报告。
全程实操、可直接复制命令,小白也能快速落地。
二、定制化 Uptime Kuma 部署(支持多关键字检测)
原版 Uptime Kuma 仅支持单关键字检测,在复杂业务页面、多状态判断场景下不够灵活。
我基于官方源码进行扩展,封装了支持多关键字同时检测的镜像,更贴合企业实际监控需求。
项目分支地址:
https://github.com/freedom2599/uptime-kuma


2.1 镜像获取方式
方式1:直接拉取 GHCR 镜像(推荐)
docker pull ghcr.io/freedom2599/uptime-kuma:2.2
方式2:百度网盘下载后本地加载
- 网盘地址:https://pan.baidu.com/s/1mYPVr_LF-iBlgPMZmmDvKQ?pwd=jygi
- 加载命令:
docker load < uptime-kuma-2.2.tar
2.2 启动容器(数据持久化)
docker run -d --network host --restart=always -v /uptime-kuma:/app/data --name uptime-kuma ghcr.io/freedom2599/uptime-kuma:2.2
启动后访问:http://服务器IP:3001 即可进入 Uptime Kuma 控制台。
2.3 MySQL 远程数据库配置(生产推荐)
为实现监控数据持久化、可备份、可迁移,强烈建议将 Uptime Kuma 对接外部 MySQL 数据库。
以下以 Ubuntu 20.04 / 22.04 为例,提供完整可复制流程。
步骤1:安装 MySQL
apt update
apt install -y mysql-server
systemctl status mysql
步骤2:安全加固(推荐)
mysql_secure_installation
按提示设置 root 密码,其余选项统一选 Y。
步骤3:创建专用库与远程用户
登录 MySQL:
mysql -u root -p
执行以下 SQL:
CREATE DATABASE IF NOT EXISTS kuma DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'kuma'@'%' IDENTIFIED BY 'uptimekuma';
GRANT ALL PRIVILEGES ON kuma.* TO 'kuma'@'%';
FLUSH PRIVILEGES;
EXIT;

步骤4:开启 MySQL 远程访问(关键)
nano /etc/mysql/mysql.conf.d/mysqld.cnf
将:
bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
保存后重启:
systemctl restart mysql

步骤5:防火墙放行 3306
ufw allow 3306/tcp
ufw reload
ufw status
远程连接验证
mysql -u kuma -p -h 你的服务器IP
能正常登录即配置成功。
生产环境建议将
%改为指定 IP,提升安全性。
三、Uptime Kuma 监控报告神器:KumaDocReport
解决了“监控”,还要解决“出报告”。
KumaDocReport 是一款专为 Uptime Kuma 设计的自动化报告生成工具,通过 API 拉取数据,一键输出企业级 Word 文档。
项目地址:
https://github.com/freedom2599/kumaDocReport
3.1 核心亮点
-
直接对接 Uptime Kuma API
无需导出 CSV、无需手动统计,自动拉取:- 监控项/监控组
- 在线状态、响应延迟
- 停机记录、持续时长
- 关键字触发日志
-
5 种时间周期全覆盖
支持日报、周报、月报、季报、年报,满足内部汇报、对外交付、审计归档等全场景。 -
支持多选+监控组智能识别
- 支持多选监控项(如 1,3,5)
- 输入监控组编号 = 自动包含所有子项
- 批量生成,效率极高
-
企业级 Word 格式,直接交付
生成文档包含:- 标准封面(Logo+标题+时间)
- 统一页眉
- 监控概览
- 详细指标表格
- 停机事件时间线
- 自动总结与优化建议
格式规范,对内汇报、给客户交付均可直接使用。
-
配置自动保存
首次配置后写入config.yml,后续一键生成,无需重复输入。
3.2 自动统计指标
工具自动计算,零人工误差:
- 总停机次数、平均停机时长
- 平均延迟、最大延迟
- 服务可用性(停机占比)
- 关键字触发次数与占比
3.3 快速上手(3 步启动)
步骤1:拉取代码
git clone https://github.com/freedom2599/kumaDocReport.git
cd kumaDocReport
步骤2:安装依赖
pip install -r requirements.txt
步骤3:运行生成报告
python3 main.py
交互流程:
- 输入 Uptime Kuma 地址、账号、密码
- 输入公司中英文名称
- 选择监控项(支持多选)
- 选择报告周期(日/周/月/季/年)
- 自动生成 Word,直接打开使用




3.4 配置文件说明
首次运行后自动生成 config.yml,可手动修改:
url: http://192.168.181.132:3001
username: admin
Company: "\u6D4B\u8BD5"
from Freedom2599
Company_English_name: "XXXXX Cybersecurity Technology Co., Ltd."
3.5 注意事项
- Logo 替换:将图片放入
./logo/logo.png即可自动生效; - 网络要求:运行机器能正常访问 Uptime Kuma 接口;
- 数据要求:所选时间段内必须有历史数据,否则显示 N/A;
- 兼容:Word 2016+ / WPS 均可正常打开。
3.6 常见问题
-
Q:yaml 加载报错?
A:删除config.yml重新运行即可。 -
Q:报告全是 N/A?
A:所选周期无历史数据,更换周期重试。 -
Q:监控组如何使用?
A:直接输入监控组编号,自动包含所有子监控项。
四、报告效果预览
生成的 Word 完全符合企业交付规范,核心页面如下:
1. 报告封面
Logo + 标题 + 周期 + 公司名称,正式美观。

2. 监测概述
清晰展示本次报告的监控对象、范围、时间周期。

3. 监控详情指标表
停机次数、平均时长、平均延迟、最大延迟、可用性百分比一目了然。
4. 停机事件日志
按时间倒序展示,持续中故障自动标注“持续中”。

5. 总结与优化建议
自动生成结论、风险点、改进建议,不用再绞尽脑汁写总结。

五、总结
- 本文提供的定制 Uptime Kuma 镜像,解决了原版不支持多关键字检测的痛点,搭配 MySQL 远程配置,可快速搭建企业级稳定监控平台;
- KumaDocReport 真正实现“10 秒生成一份专业监控报告”,把运维/开发从重复繁琐的文档工作中解放出来;
- 整套方案开源、免费、可扩展,适合个人运维、团队巡检、项目交付、政企监管等多种场景。
如果你也在为监控和写报告头疼,这套组合可以直接拿去落地使用。
🌟 支持作者
- 定制 Uptime Kuma:https://github.com/freedom2599/uptime-kuma
- KumaDocReport 报告工具:https://github.com/freedom2599/kumaDocReport
本文为原创实测内容,欢迎 Star、Fork、转发收藏~
首发:定制化 Uptime Kuma 部署 + 一键生成企业级 Word 监控报告(附完整教程)
https://svu-it-yva.icu/archives/uptime_kuma
评论