分享一个服务故障自愈系统

项目简介

OMSDevOps 是一套轻量级、开箱即用的智能运维平台,专注于服务健康检查自动化自愈。通过 SSH 远程执行命令、HTTP/TCP 探测等方式监控业务服务状态,并在服务连续失败达到设定阈值时自动执行启动、重启等自愈动作,有效减少人工介入,提升系统可用性。

系统内置 Web 管理界面,支持多主机、多服务管理,记录完整的事件历史与自愈日志,适用于中小规模服务器环境的日常运维。


主要功能

  • 多主机管理

    支持密码或 SSH 私钥认证,可添加多台 Linux 服务器,测试连接状态。

  • 服务监控

    • 命令检测(如 ps -ef|grepsystemctl status
    • HTTP/HTTPS 接口状态码检测
    • TCP 端口连通性检测
      每个服务可独立设置探测间隔(秒)和连续失败阈值。
  • 智能自愈

    当服务连续失败次数达到阈值时,自动执行预设的启动、重启或停止命令,并记录自愈结果。支持自愈开关和动作自定义。

  • 可视化仪表盘

    展示服务总数、健康/异常服务数量、最近事件和自愈记录。

  • 事件与日志

    所有健康检查结果(含输出、延迟、失败次数)存入事件库;所有自愈动作的执行结果单独记录,便于事后审计。

  • 轻量部署

    基于 Flask + SQLite,无需额外数据库,单文件即可运行。


运行环境

  • 支持 / Linux (生产建议 Linux)

快速开始

1. 启动系统

bash 复制代码
[root@node1 ~]# chmod +x OMSDevOps
[root@node1 ~]# ./OMSDevOps

默认监听 0.0.0.0:5000,访问 http://服务器IP:5000

4. 登录

默认管理员账户:admin / admin123

首次运行会自动创建 SQLite 数据库文件 orion_devops.db



使用指南

主机管理

  • 添加主机:填写名称、IP地址、SSH端口、用户名、认证方式(密码或私钥内容)。
  • 测试连接 :系统会执行 echo ok 验证 SSH 连通性。
  • 编辑/删除:支持修改主机信息,删除时会级联删除其下所有服务。

服务管理

  • 添加服务 :选择所属主机,设定检查类型(命令/HTTP/TCP)。
    • 命令类型 :填写检查命令(如 ps -ef|grep redis),可选"期望输出正则"来精确匹配进程行。
    • HTTP类型:填写 URL 和期望的 HTTP 状态码(默认200)。
    • TCP类型:填写端口,可选主机地址(默认使用主机 IP)。
  • 自愈配置
    • 探测间隔:两次健康检查之间的秒数(建议30~120)。
    • 失败阈值:连续失败多少次后触发自愈(建议2~3)。
    • 自愈动作:选择启动、停止或重启命令(需预先填写对应的 SSH 命令)。
    • 启用自愈:勾选后才会自动执行修复。
  • 服务列表:展示每个服务的最新状态、最后检查时间、失败次数,支持编辑和删除。

仪表盘

  • 顶部统计卡片显示总体健康状况。
  • 右侧"最近事件"展示最新的10次检查记录(包含服务名、主机名、IP、状态)。
  • 右侧"最近自愈记录"展示最近10次自动修复动作及结果。
  • 页面右上角均设有刷新按钮,可手动更新数据。

事件历史

  • 记录每一次健康检查的详细信息(命令输出、HTTP状态码、TCP连通性等)。
  • 支持按时间倒序查看,最多保留200条(可修改代码调整)。

自愈记录

  • 记录每次自愈动作的执行时间、服务、动作、成功/失败、输出或错误信息。
  • 便于排查自动修复是否有效。








相关推荐
s_w.h3 分钟前
【 linux 】认识make和makefile
linux·运维·bash
视***间7 分钟前
端侧大模型落地新标杆:视程空间将GPT-OSS边缘AI深度导入NVIDIA Jetson平台
人工智能·gpt·边缘计算·nvidia·ai算力·gpt-oss·视程空间
代码熬夜敲Q7 分钟前
Docker基础
运维·docker·容器
Harm灬小海19 分钟前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
1892280486121 分钟前
NY379固态MT29F32T08GSLBHL8-36QA:B
大数据·服务器·人工智能·科技·缓存
Adair_z21 分钟前
[SEO艺术重读] 第9篇 熊猫算法、企鹅算法和惩罚机制
人工智能·熊猫算法·企鹅算法·谷歌算法恢复·网站seo诊断·高质量内容创作·e-e-a-t原则
ZZH_AI项目交付23 分钟前
我把 AI 最容易改坏真实 App 的地方,整理成了 skills
人工智能·ios·app
忆~遂愿23 分钟前
从文字应答到具象共情:Agent 交互的底层革新
人工智能·深度学习·目标检测·microsoft·机器学习·ar·交互
new_dev24 分钟前
Python实现Android自动化打包工具:加固、签名、多渠道一键完成
android·python·自动化
Ai.den25 分钟前
Windows 安装 MinerU 3.x 实现本地批量解析 PDF
人工智能·windows·ai