TinyStatus 使用教程
1. 项目介绍
TinyStatus 是一个简单、可定制的状态页生成器,允许您监控各种服务的状态,并将它们显示在一个干净、响应式的网页上。它支持HTTP端点监控、主机ping测试、端口检查等功能,并具有以下特点:
- 响应式设计,适用于状态页和历史页
- 通过YAML配置文件自定义服务检查
- 跟踪事件历史记录
- 支持定时自动更新
- 提供轻色和暗色主题
- 支持服务分组
- 卡片点击可选
2. 项目快速启动
首先,确保您的系统满足以下先决条件:
- Python 3.11 或更高版本
- pip(Python 包管理器)
然后,按照以下步骤快速启动 TinyStatus:
# 克隆仓库或下载源代码
git clone https://github.com/harsxv/tinystatus.git
cd tinystatus
# 安装所需的依赖
pip install -r requirements.txt
# 创建.env文件并自定义变量
# 示例.env文件内容
MONITOR_CONTINOUSLY=True
CHECK_INTERVAL=30
MAX_HISTORY_ENTRIES=100
LOG_LEVEL=INFO
CHECKS_FILE=checks.yaml
INCIDENTS_FILE=incidents.md
TEMPLATE_FILE=index.html.theme
HISTORY_TEMPLATE_FILE=history.html.theme
STATUS_HISTORY_FILE=history.json
HTML_OUTPUT_DIRECTORY=/var/www/htdocs/status/
# 编辑checks.yaml文件,添加或修改您想要监控的服务
# 示例checks.yaml文件内容
-
title: 'Group 1'
checks:
-
name: 'GitHub Home'
type: 'http'
host: 'https://github.com'
url: 'https://docs.github.com/en'
expected_code: 200
-
name: 'Google Public DNS'
type: 'ping'
host: '8.8.8.8'
-
name: 'Dummy MySQL Database'
type: 'port'
host: 'db.example.com'
port: 3306
-
name: 'Home Server with Self-Signed Certs'
type: 'http'
host: 'https://homeserver.local'
ssc: True
expected_code: 200
# 运行TinyStatus脚本
python tinystatus.py
# 脚本将生成以下三个文件:
# index.html : 主状态页
# history.html : 状态历史页
# history.json : 状态历史和时间戳数据
# 若要持续更新状态页,可以将脚本在后台运行
# 在类Unix系统上(Linux, macOS):
nohup python tinystatus.py &
# 在Windows上,可以使用任务计划程序在启动时运行脚本
# 使用您偏好的Web服务器(如Apache, NGINX)或简单的Python HTTP服务器来服务生成的HTML文件
3. 应用案例和最佳实践
- 定制化: 根据您的需求编辑
index.html.theme
和history.html.theme
文件,定制状态页的外观和风格。 - 维护记录: 使用
incidents.md
文件记录已知的事件或维护计划。 - 自动化: 将TinyStatus脚本添加到cron作业中,实现定时检查。
- 容器化: 使用Docker容器运行TinyStatus,以便于部署和环境隔离。
4. 典型生态项目
- gotinystatus: TinyStatus的Go语言版本,适用于不同的语言偏好和环境需求。
- 其他: 搜索GitHub上的相关项目,发现更多基于TinyStatus的开源项目和扩展。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考