静态状态页面生成器static_status:如何自定义监控项和告警规则
2026/7/19 15:37:32 网站建设 项目流程

静态状态页面生成器static_status:如何自定义监控项和告警规则

【免费下载链接】static_status🚦Bash script to generate a static status page.项目地址: https://gitcode.com/gh_mirrors/st/static_status

🚀 想要快速搭建一个专业的服务状态监控页面吗?静态状态页面生成器static_status是你的终极解决方案!这个简单而强大的Bash脚本能够帮助你轻松生成静态状态页面,监控网站、服务(HTTP、SAP、MySQL等)和ping状态。本文将为你详细介绍如何自定义监控项和设置告警规则,让你在5分钟内拥有一个功能完整的监控系统。

为什么选择static_status?

static_status是一个基于Bash的开源工具,专为需要简单、轻量级状态监控的用户设计。它不需要复杂的数据库或Web服务器,只需几个基本命令就能运行。无论你是个人开发者、小型团队还是企业用户,都可以快速部署这个静态状态页面生成器。

快速安装指南

1. 下载脚本和配置文件

首先创建一个状态监控目录并下载所需文件:

mkdir ~/status cd ~/status curl -O "https://gitcode.com/gh_mirrors/st/static_status/raw/master/status.sh" curl -O "https://gitcode.com/gh_mirrors/st/static_status/raw/master/status_hostname_list.txt"

2. 配置监控项

核心配置文件status_hostname_list.txt决定了你要监控的内容。文件结构非常简单:

<命令类型>;<主机名、IP或URL>;[端口、搜索文本或HTTP状态码]

例如,要监控Google DNS的ping状态:

ping;8.8.8.8|Google DNS

自定义监控项的5种方法

1. 基础网络监控

Ping监控- 检查主机是否可达:

ping;www.heise.de ping;8.8.8.8|Google DNS服务器 ping6;www.google.com|Google IPv6

网络连接检查- 验证TCP/UDP端口:

nc;www.heise.de;80 nc;192.168.1.1|内部路由器;443

2. HTTP服务监控

简单HTTP检查

curl;https://www.heise.de/ping curl;ftp://ftp.debian.org/debian/README

HTTP状态码验证

http-status;https://www.nkn-it.de/ci.txt;200

页面内容检查

grep;https://www.nkn-it.de/imprint.html;Nils

3. 网络路径监控

使用traceroute检查特定路由器是否在路径中:

traceroute;your.isp.router;3 traceroute;192.168.211.1|DSL网关;2

4. 自定义脚本监控

你甚至可以运行自己的脚本进行复杂检查:

script;/path/to/your/script.sh|自定义监控脚本 script;scripts/check-websites.sh|多网站检查

5. 显示自定义文本

使用管道符号|分隔监控目标和显示文本:

ping;8.8.8.8|Google公共DNS nc;8.8.8.8|Google DNS服务;53 curl;http://www.heise.de/ping|Heise技术新闻

配置告警规则的完整指南

static_status配套的alert.sh脚本让你在服务异常时及时收到通知。以下是设置告警的详细步骤:

1. 下载告警脚本

curl -O "https://gitcode.com/gh_mirrors/st/static_status/raw/master/alert.sh" chmod +x alert.sh

2. 基本告警配置

邮件告警(默认使用mutt):

./alert.sh -c "www.heise.de" -m "your@email.com" -d 300

短信告警

./alert.sh -c "8.8.8.8" -m "SMS" -d 60

Pushover通知

./alert.sh -c "https://example.com" -m "Pushover" -d 120

3. 智能告警策略

组合条件告警- 仅在互联网可用时发送通知:

grep -q "8.8.8.8" < status_hostname_ok.txt && ./alert.sh -c "www.nkn-it.de" -m "your@email.com"

多条件监控

# 监控多个关键服务 ./alert.sh -c "nc;www.heise.de" -m "admin@company.com" ./alert.sh -c "ping;192.168.1.1" -m "SMS" -d 180

4. 定时任务配置

将告警脚本添加到crontab实现自动监控:

# 每1分钟检查一次 */1 * * * * bash "/path/to/alert.sh" -c "www.heise.de" -m "admin@company.com" # 工作时间内密集监控 */1 8-22 * * * bash "/path/to/alert.sh" -c "127.0.0.1" -m "nils@localhost" -d 60 # 周末宽松监控 */5 * * * * bash "/path/to/alert.sh" -c "nc;www.google.com" -m "SMS"

高级配置技巧

1. 自定义配置文件

创建config文件来自定义脚本行为:

curl -f "https://gitcode.com/gh_mirrors/st/static_status/raw/master/config-example" -o "config"

编辑配置文件config来设置:

  • MY_STATUS_JSON- JSON输出路径
  • MY_TRACEROUTE_HOST- traceroute目标主机
  • MY_STATUS_PAGE- 状态页面输出路径

2. JSON状态输出

启用JSON输出以便其他系统集成:

# 在config文件中设置 MY_STATUS_JSON="/var/www/html/status.json"

生成的JSON格式:

[ { "site": "https://www.heise.de/ping", "command": "curl", "status": "OK", "time_sec": "0", "updated": "2026-07-18 09:52:23 UTC" } ]

3. SVG状态图标

在网站中嵌入实时状态图标:

<a href="status.html"> 状态 <img src="status.svg?{{ timestamp }}"> </a>

4. 自定义检查脚本

创建自己的检查脚本scripts/check-websites.sh

#!/bin/bash # 返回0表示正常,80表示降级,其他表示故障 curl -s https://example.com > /dev/null if [ $? -eq 0 ]; then exit 0 else exit 1 fi

运行和自动化

手动运行

# 静默模式(默认) bash status.sh # 详细模式 bash status.sh loud # 调试模式 bash status.sh debug

自动化监控

添加到crontab实现每分钟自动检查:

crontab -e

添加:

*/1 * * * * bash "/path/to/status.sh" silent >> /dev/null

故障排除和最佳实践

常见问题解决

  1. 命令未找到错误

    sudo apt install coreutils curl grep iputils-ping netcat-openbsd sed traceroute
  2. 禁用traceroute依赖: 在config文件中设置MY_TRACEROUTE_HOST=''

  3. 自定义脚本返回码

    • 0= 正常
    • 80= 降级
    • 其他 = 故障

性能优化建议

  1. 合理设置检查间隔- 关键服务每分钟,次要服务每5分钟
  2. 使用缓存- 对于变化不频繁的服务,适当延长检查间隔
  3. 分组监控- 将相关服务分组到同一个告警规则中
  4. 分级告警- 根据服务重要性设置不同的告警阈值

总结

static_status静态状态页面生成器提供了一个简单而强大的解决方案,让你能够快速搭建自定义的监控系统。通过灵活的配置文件和强大的告警功能,你可以:

监控任何网络服务- HTTP、TCP、UDP、ICMP
自定义显示文本- 使用友好的名称代替技术地址
设置智能告警- 邮件、短信、Pushover多种通知方式
生成多种输出格式- HTML、JSON、SVG图标
扩展自定义检查- 通过脚本实现复杂监控逻辑

无论你是个人开发者需要监控自己的网站,还是企业需要监控关键业务服务,static_status都能满足你的需求。它的轻量级设计和简单配置让监控变得前所未有的容易。

现在就开始使用这个强大的静态状态页面生成器,为你的服务构建专业的监控系统吧!🚀

【免费下载链接】static_status🚦Bash script to generate a static status page.项目地址: https://gitcode.com/gh_mirrors/st/static_status

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询