static_status部署指南:在Linux服务器上设置自动化状态监控
【免费下载链接】static_status🚦Bash script to generate a static status page.项目地址: https://gitcode.com/gh_mirrors/st/static_status
static_status是一款强大的Bash脚本工具,能够帮助用户快速生成静态状态监控页面,实现对服务器、网站或服务的自动化监控。通过简单的配置,你可以轻松搭建起一个直观的状态监控系统,及时发现并处理服务异常。
准备工作:环境与依赖检查
在开始部署前,请确保你的Linux服务器满足以下条件:
- 系统要求:任何基于Linux的发行版(如Ubuntu、CentOS、Debian等)
- 必要工具:
bash(版本4.0及以上)curl(用于HTTP状态检查)ping/ping6(用于网络连通性测试)nc(netcat,用于端口检查)grep、sed(文本处理工具)
可以通过以下命令快速安装缺失的依赖(以Ubuntu为例):
sudo apt update && sudo apt install -y curl iputils-ping netcat-openbsd grep sed快速上手:获取与安装static_status
1. 克隆项目仓库
首先,将static_status项目克隆到你的服务器:
git clone https://gitcode.com/gh_mirrors/st/static_status cd static_status2. 目录结构概览
项目主要包含以下核心文件和目录:
status.sh:主程序脚本,负责执行监控和生成状态页面config-example:配置文件示例status_hostname_list.txt:监控目标列表scripts/:存放自定义检查脚本的目录images/:状态页面所需的图片资源
核心配置:打造个性化监控系统
1. 配置文件设置
static_status的配置非常灵活,你可以通过复制示例配置文件进行个性化设置:
cp config-example config nano config # 使用你喜欢的编辑器打开配置文件关键配置项说明:
MY_STATUS_TITLE:状态页面标题(默认:"Status Page")MY_AUTOREFRESH:页面自动刷新间隔(秒,0表示禁用)MY_STATUS_CONFIG_DIR:配置文件存放目录(默认:$HOME/status)MY_STATUS_HTML:生成的HTML状态页面路径MY_TIMEOUT:连接超时时间(秒,默认:2)
2. 定义监控目标
编辑status_hostname_list.txt文件,添加你需要监控的目标。格式为命令;目标;参数,支持多种监控类型:
# 示例配置(删除#和此行后使用) ping;google.com; nc;example.com;80 curl;https://example.com; http-status;https://example.com;200支持的监控命令:
ping:ICMPping测试nc:端口检查(格式:nc;主机;端口)curl:HTTP/HTTPS可用性检查http-status:HTTP状态码检查(格式:http-status;URL;预期状态码)script:自定义脚本检查
运行与测试:验证监控功能
1. 首次运行测试
执行以下命令启动监控并生成状态页面:
bash status.sh如果一切正常,你将在配置的MY_STATUS_HTML路径下找到生成的HTML状态页面。可以通过浏览器访问该文件,查看监控结果。
2. 命令行参数说明
static_status支持多种运行模式:
bash status.sh:默认模式,仅输出错误信息bash status.sh loud:详细输出所有检查结果bash status.sh silent:完全静默模式,无输出bash status.sh debug:调试模式,显示所有变量bash status.sh help:显示帮助信息
图1:static_status生成的状态页面,显示所有服务正常运行
高级设置:自动化与告警
1. 设置定时任务
为了实现持续监控,建议将static_status添加到crontab:
# 每5分钟执行一次监控 echo "*/5 * * * * cd /path/to/static_status && bash status.sh silent" | crontab -请将/path/to/static_status替换为实际的项目路径。
2. 配置维护模式
当需要进行系统维护时,可以通过创建维护文本文件临时覆盖状态页面:
echo "系统正在进行计划维护,预计1小时后恢复" > status_maintenance_text.txt维护模式下,状态页面会显示维护信息而非常规监控结果:
图2:维护模式下的状态页面,显示自定义维护信息
3. 自定义告警脚本
static_status支持通过MY_HOOK_STATUS配置项调用自定义告警脚本。当监控状态发生变化时,脚本会收到三个参数:状态(up/down/degraded)、命令、主机名。
故障排除:常见问题解决
1. 状态页面不更新
- 检查crontab是否正确配置并运行
- 验证
MY_STATUS_HTML路径是否有写入权限 - 查看是否存在锁定文件
/tmp/STATUS_SH_IS_RUNNING.lock,如有请删除
2. 监控目标显示异常
- 使用
bash status.sh loud运行,查看详细输出 - 手动测试相关命令(如
ping example.com、curl -I example.com) - 检查目标是否有防火墙限制
图3:发生服务中断时的状态页面,清晰标记故障项
状态页面功能详解
static_status生成的状态页面具有以下特点:
- 实时状态显示:清晰区分正常、降级和故障状态
- 历史事件记录:自动记录过去的故障事件(默认显示至少持续60秒的故障)
- 响应式设计:适配各种屏幕尺寸,支持移动设备访问
- 自定义样式:可通过
MY_STATUS_STYLESHEET配置自定义CSS样式
图4:显示过去发生的服务中断事件记录
总结:打造可靠的服务监控系统
通过本指南,你已经掌握了static_status的部署和配置方法。这款轻量级工具能够帮助你:
- 实时监控服务器和服务状态
- 及时发现并响应服务异常
- 向用户清晰展示系统状态
- 简化运维工作流程
无论是个人项目还是企业级应用,static_status都能提供稳定可靠的状态监控解决方案。开始使用它,让你的服务监控变得简单而高效!
【免费下载链接】static_status🚦Bash script to generate a static status page.项目地址: https://gitcode.com/gh_mirrors/st/static_status
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考